Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
23 months agoappveyor: don't test python. mingw cannot deal with pybind11 yet
Martin Quinson [Thu, 24 Jan 2019 06:48:55 +0000 (07:48 +0100)]
appveyor: don't test python. mingw cannot deal with pybind11 yet

23 months agoadd a small comment about the memleak introduced here
Martin Quinson [Thu, 24 Jan 2019 06:45:50 +0000 (07:45 +0100)]
add a small comment about the memleak introduced here

23 months agoStop using Context::StopRequest directly in libsimgrid-java.
Arnaud Giersch [Wed, 23 Jan 2019 22:22:58 +0000 (23:22 +0100)]
Stop using Context::StopRequest directly in libsimgrid-java.

23 months agoDefine helper functions to use Context::StopRequest outside of libsimgrid.
Arnaud Giersch [Wed, 23 Jan 2019 22:17:48 +0000 (23:17 +0100)]
Define helper functions to use Context::StopRequest outside of libsimgrid.

Rationale: exceptions sometimes fail to pass correctly between shared
libraries, specially on FreeBSD or OS X.

23 months agoHope to fix double-free: task may by destroyed on finalize().
Arnaud Giersch [Wed, 23 Jan 2019 20:35:53 +0000 (21:35 +0100)]
Hope to fix double-free: task may by destroyed on finalize().

23 months agoMerge remote-tracking branch 'github/master'
Arnaud Giersch [Wed, 23 Jan 2019 20:36:58 +0000 (21:36 +0100)]
Merge remote-tracking branch 'github/master'

23 months agocoverage : avoid matching cobertura pattern with jacoco files
Augustin Degomme [Wed, 23 Jan 2019 14:38:33 +0000 (15:38 +0100)]
coverage : avoid matching cobertura pattern with jacoco files

23 months agoUse $PYTHON_EXECUTABLE in tesh files.
Arnaud Giersch [Wed, 23 Jan 2019 13:34:56 +0000 (14:34 +0100)]
Use $PYTHON_EXECUTABLE in tesh files.

23 months agoImprove process termination in Java world.
Arnaud Giersch [Wed, 23 Jan 2019 11:29:45 +0000 (12:29 +0100)]
Improve process termination in Java world.

23 months agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Wed, 23 Jan 2019 06:58:21 +0000 (07:58 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid

23 months agoRemove 2 (out of 3) horrible hacks around Java contexts
Martin Quinson [Wed, 23 Jan 2019 06:37:18 +0000 (07:37 +0100)]
Remove 2 (out of 3) horrible hacks around Java contexts

Previously, we did not even try to kill java contexts because we
failed to do so in some cases.  Now, we try to kill them just like we
kill the other contexts, even if we don't always succeed.

One difficulty comes from the fact that some threads are created from
the C++ (from the deployment file) and then attached to the JVM, while
some others are created from Java directly (when calling new
Process().start()). The C++ vs Java stack is directly inverted between
cases, complicating the try/catch logic.

In practice, in this changeset, we try harder to convert between the
C++ StopRequest and the Java ProcessKilledError at the language
boundaries.

Also, we don't assert that JavaThread::stop() can actually detach the
thread: it won't for threads that are born in Java because their Java
stack was not unwinded yet. So throw a ProcessKilledError for that.

This is not prefect either since we still need to brutally kill the
JVM after the simulation using exit(0). I added some debug functions
to get more information. Just comment the first call to exit(0) in
jmsg.cpp to see the state of all user threads that we failed to
destroy.

They are all in the C++ world, without any [Java] stack, not blocked
on any Java synchronization object. I suspect that the system thread
is terminated, but the C++ std::thread object is still referenced
somewhere, preventing it from being garbage collected. That's weird
that the JVM still waits for them before ending (and thus mandating
the last the Horrible Hack -- exit(0) in the C++ side of the JVM
system process).

Gosh this is complicated. I'd love to have something like pybind11
dealing with all that shit automatically...

23 months agoFix++
Arnaud Giersch [Tue, 22 Jan 2019 22:07:43 +0000 (23:07 +0100)]
Fix++

Got:
> ctest --output-on-failure -R 'java|python'
> 'python'' is not recognized as an internal or external command,
> operable program or batch file.
> Command exited with code 255

23 months agoFix ctest invocation on appveyor.
Arnaud Giersch [Tue, 22 Jan 2019 21:56:22 +0000 (22:56 +0100)]
Fix ctest invocation on appveyor.

23 months agoLast attempt for python/mingw.
Arnaud Giersch [Tue, 22 Jan 2019 21:42:09 +0000 (22:42 +0100)]
Last attempt for python/mingw.

23 months agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Tue, 22 Jan 2019 21:21:37 +0000 (22:21 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid

23 months agoTry to get python compiling even with MinGW
Martin Quinson [Tue, 22 Jan 2019 20:22:02 +0000 (21:22 +0100)]
Try to get python compiling even with MinGW

23 months agoappveyor: also build and test python
Martin Quinson [Tue, 22 Jan 2019 19:57:40 +0000 (20:57 +0100)]
appveyor: also build and test python

23 months agoAvoid to call Context::stop() again when a StopRequest was thrown.
Arnaud Giersch [Tue, 22 Jan 2019 19:48:43 +0000 (20:48 +0100)]
Avoid to call Context::stop() again when a StopRequest was thrown.

It's already called just before the exception is thrown by the stop() method
(SwappedContext or ThreadContext).
Asan likes it better when it's called before throwing the exception.

23 months agouse the local copy of pybind11 if a local checkout exists
Martin Quinson [Tue, 22 Jan 2019 19:54:20 +0000 (20:54 +0100)]
use the local copy of pybind11 if a local checkout exists

23 months agoappveyor: try to get pybind11
Martin Quinson [Tue, 22 Jan 2019 17:08:57 +0000 (18:08 +0100)]
appveyor: try to get pybind11

23 months agoSimplify the actor answer to iwannadie
Martin Quinson [Mon, 21 Jan 2019 16:01:14 +0000 (17:01 +0100)]
Simplify the actor answer to iwannadie

23 months agoplay safe, no pointers to the stack of dying actors
Martin Quinson [Mon, 21 Jan 2019 15:41:36 +0000 (16:41 +0100)]
play safe, no pointers to the stack of dying actors

23 months agostep by step cleanup. This code drives me nuts
Martin Quinson [Mon, 21 Jan 2019 14:56:04 +0000 (15:56 +0100)]
step by step cleanup. This code drives me nuts

23 months agoAttempt to fix Python bindings on OS X.
Arnaud Giersch [Tue, 22 Jan 2019 15:35:51 +0000 (16:35 +0100)]
Attempt to fix Python bindings on OS X.

See https://github.com/pybind/pybind11/issues/1272.

23 months agoTypo.
Arnaud Giersch [Tue, 22 Jan 2019 14:25:58 +0000 (15:25 +0100)]
Typo.

23 months agoAdd missing issues to ChangeLog.
Arnaud Giersch [Tue, 22 Jan 2019 13:20:17 +0000 (14:20 +0100)]
Add missing issues to ChangeLog.

23 months agoFactorize some of the ASAN_ONLY code.
Arnaud Giersch [Mon, 21 Jan 2019 21:45:14 +0000 (22:45 +0100)]
Factorize some of the ASAN_ONLY code.

Also make asan_* members public to be visible from smx_ctx_wrapper
(ContextUnix,cpp).

23 months agoActivate test s4u-actor-exiting.
Arnaud Giersch [Mon, 21 Jan 2019 15:15:13 +0000 (16:15 +0100)]
Activate test s4u-actor-exiting.

According to emptty it's failing, add note with set_tesh_properties().
Also fix distcheck.

23 months agoSimplify by using set_tesh_properties().
Arnaud Giersch [Mon, 21 Jan 2019 14:58:05 +0000 (15:58 +0100)]
Simplify by using set_tesh_properties().

23 months agoRemove old cruft.
Arnaud Giersch [Mon, 21 Jan 2019 12:03:40 +0000 (13:03 +0100)]
Remove old cruft.

These functions and variables were removed a while ago.

23 months agoAvoid TSan false positives.
Arnaud Giersch [Mon, 21 Jan 2019 11:57:01 +0000 (12:57 +0100)]
Avoid TSan false positives.

23 months agoCosmetics.
Arnaud Giersch [Mon, 21 Jan 2019 11:09:21 +0000 (12:09 +0100)]
Cosmetics.

23 months agoUpdate ChangeLog.
Arnaud Giersch [Fri, 18 Jan 2019 09:01:58 +0000 (10:01 +0100)]
Update ChangeLog.

23 months agofurther s/trace/profile/ cleanups
Martin Quinson [Mon, 21 Jan 2019 13:58:12 +0000 (14:58 +0100)]
further s/trace/profile/ cleanups

23 months agoDoc improvement
Martin Quinson [Mon, 21 Jan 2019 13:53:13 +0000 (14:53 +0100)]
Doc improvement

23 months agostart to s/trace/profile/ in the public API
Martin Quinson [Mon, 21 Jan 2019 12:32:09 +0000 (13:32 +0100)]
start to s/trace/profile/ in the public API

23 months agostart renaming tmgr trace into profile
Martin Quinson [Mon, 21 Jan 2019 10:43:19 +0000 (11:43 +0100)]
start renaming tmgr trace into profile

23 months agoTry to make a symbol easier to find for MC on exotic platforms
Martin Quinson [Mon, 21 Jan 2019 08:42:37 +0000 (09:42 +0100)]
Try to make a symbol easier to find for MC on exotic platforms

23 months agoFix non-java tests :(
Martin Quinson [Mon, 21 Jan 2019 07:09:17 +0000 (08:09 +0100)]
Fix non-java tests :(

23 months agoctx: move some bits to a private header and reduce the exposure of src/internal_config.h
Martin Quinson [Sun, 20 Jan 2019 21:55:40 +0000 (22:55 +0100)]
ctx: move some bits to a private header and reduce the exposure of src/internal_config.h

23 months agocosmetics in UCtx: hide one internal function and inline another
Martin Quinson [Sun, 20 Jan 2019 21:25:16 +0000 (22:25 +0100)]
cosmetics in UCtx: hide one internal function and inline another

23 months agoIn C++, classes don't need a name because they have a class
Martin Quinson [Sun, 20 Jan 2019 20:41:27 +0000 (21:41 +0100)]
In C++, classes don't need a name because they have a class

23 months agothread_local fields must be static, no need to move to the factory
Martin Quinson [Sun, 20 Jan 2019 18:44:10 +0000 (19:44 +0100)]
thread_local fields must be static, no need to move to the factory

23 months agokill an unused function
Martin Quinson [Sun, 20 Jan 2019 17:09:13 +0000 (18:09 +0100)]
kill an unused function

23 months agos/process/actor/ A lot remains TBD about it
Martin Quinson [Sun, 20 Jan 2019 11:19:38 +0000 (12:19 +0100)]
s/process/actor/ A lot remains TBD about it

23 months agoMore ints converted as boolean
Martin Quinson [Sun, 20 Jan 2019 00:40:26 +0000 (01:40 +0100)]
More ints converted as boolean

23 months agonew (failing) example about on_exit and on_destruction
Martin Quinson [Sun, 20 Jan 2019 00:33:37 +0000 (01:33 +0100)]
new (failing) example about on_exit and on_destruction

23 months agobools are not ints anymore
Martin Quinson [Sun, 20 Jan 2019 00:24:11 +0000 (01:24 +0100)]
bools are not ints anymore

23 months agouseless cleanups
Martin Quinson [Sun, 20 Jan 2019 00:11:12 +0000 (01:11 +0100)]
useless cleanups

23 months agoFix a race condition in SwappedCtx parallel exec
Martin Quinson [Sat, 19 Jan 2019 22:18:07 +0000 (23:18 +0100)]
Fix a race condition in SwappedCtx parallel exec

The protection in set_maestro was failing to detect between the real
maestro and the working threads of the parmal. This is now fixed
according to helgrind.

Also, refactor things a bit by moving this set_maestro call directly
into the SwappedCtx constructor. Much less of a shotgun surgery :)

2 years agoHide usage of free() to Sonar.
Arnaud Giersch [Thu, 17 Jan 2019 08:43:23 +0000 (09:43 +0100)]
Hide usage of free() to Sonar.

2 years agoRemove unused bits from mmalloc.
Arnaud Giersch [Thu, 17 Jan 2019 08:21:51 +0000 (09:21 +0100)]
Remove unused bits from mmalloc.

2 years agofix MC on FreeBSD
Martin Quinson [Thu, 17 Jan 2019 00:27:03 +0000 (01:27 +0100)]
fix MC on FreeBSD

2 years agoFix paths.
Arnaud Giersch [Wed, 16 Jan 2019 22:55:38 +0000 (23:55 +0100)]
Fix paths.

2 years agoKill unused example simdag/goal_test.
Arnaud Giersch [Wed, 16 Jan 2019 20:58:48 +0000 (21:58 +0100)]
Kill unused example simdag/goal_test.

2 years agoTypo².
Arnaud Giersch [Wed, 16 Jan 2019 22:48:23 +0000 (23:48 +0100)]
Typo².

2 years agoRevert "Disable parallel executions with non-thread contexts under Tsan."
Martin Quinson [Wed, 16 Jan 2019 22:29:53 +0000 (23:29 +0100)]
Revert "Disable parallel executions with non-thread contexts under Tsan."

I have the feeling that the problem is actually in the parallel exec
of swapped factories, not in TSan.

This reverts commit 019d8784441a673767fd76b20a6283b965ead239.

2 years agoFix memleak.
Arnaud Giersch [Wed, 16 Jan 2019 20:58:48 +0000 (21:58 +0100)]
Fix memleak.

2 years agoTypo.
Arnaud Giersch [Wed, 16 Jan 2019 21:41:58 +0000 (22:41 +0100)]
Typo.

2 years agoReplace macros by C++ constructs.
Arnaud Giersch [Wed, 16 Jan 2019 20:21:16 +0000 (21:21 +0100)]
Replace macros by C++ constructs.

2 years agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Wed, 16 Jan 2019 21:57:19 +0000 (22:57 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid

2 years agoSET_TESTS_PROPERTIES Can not find test to add properties to.
Arnaud Giersch [Wed, 16 Jan 2019 17:55:21 +0000 (18:55 +0100)]
SET_TESTS_PROPERTIES Can not find test to add properties to.

Test stack-overflow-thread has been removed.

2 years agoDrop xbt_os_mutex_* functions.
Arnaud Giersch [Wed, 16 Jan 2019 16:36:54 +0000 (17:36 +0100)]
Drop xbt_os_mutex_* functions.

2 years agoUse standard C++ mutex.
Arnaud Giersch [Wed, 16 Jan 2019 16:31:28 +0000 (17:31 +0100)]
Use standard C++ mutex.

Recursive because it was recursive before.
See commit c0f0866d02664ad515441a5294f95c6b7d8b6fc1
"Fix the race condition in _xbt_log_cat_init()."

2 years agoBuild log module as C++.
Arnaud Giersch [Wed, 16 Jan 2019 14:09:36 +0000 (15:09 +0100)]
Build log module as C++.

The goal is to use C++ mutex.

2 years agoFix asserts.
Arnaud Giersch [Wed, 16 Jan 2019 15:59:58 +0000 (16:59 +0100)]
Fix asserts.

2 years agoStruct xbt_os_thread_t is not used anymore.
Arnaud Giersch [Wed, 16 Jan 2019 10:30:41 +0000 (11:30 +0100)]
Struct xbt_os_thread_t is not used anymore.

2 years agoRemove useless wrapper around pthread_atfork().
Arnaud Giersch [Wed, 16 Jan 2019 10:29:12 +0000 (11:29 +0100)]
Remove useless wrapper around pthread_atfork().

2 years agoInclude is not needed anymore. Remove.
Arnaud Giersch [Wed, 16 Jan 2019 10:24:52 +0000 (11:24 +0100)]
Include is not needed anymore.  Remove.

2 years agoDisable stack-overflow test with threads.
Arnaud Giersch [Wed, 16 Jan 2019 10:06:55 +0000 (11:06 +0100)]
Disable stack-overflow test with threads.

Stack protection (setstacksize/setguardsize) have been removed.

2 years agocosmetics
Martin Quinson [Wed, 16 Jan 2019 09:40:19 +0000 (10:40 +0100)]
cosmetics

2 years agoJava examples have moved.
Arnaud Giersch [Wed, 16 Jan 2019 09:19:30 +0000 (10:19 +0100)]
Java examples have moved.

2 years agoTest for msg-task-priority is still present; run it for coverage.
Arnaud Giersch [Mon, 14 Jan 2019 20:41:56 +0000 (21:41 +0100)]
Test for msg-task-priority is still present; run it for coverage.

2 years agoAdd dependency to build tests for make check.
Arnaud Giersch [Mon, 14 Jan 2019 14:10:50 +0000 (15:10 +0100)]
Add dependency to build tests for make check.

2 years agoKill xbt_os_thread_atfork: tesh is not native but python now
Martin Quinson [Wed, 16 Jan 2019 07:44:31 +0000 (08:44 +0100)]
Kill xbt_os_thread_atfork: tesh is not native but python now

2 years agocleanups on my disk
Martin Quinson [Wed, 16 Jan 2019 07:43:31 +0000 (08:43 +0100)]
cleanups on my disk

2 years agoLinux and FreeBSD don't agree on the type name, bummers
Martin Quinson [Wed, 16 Jan 2019 07:29:38 +0000 (08:29 +0100)]
Linux and FreeBSD don't agree on the type name, bummers

2 years agofix the fix for FreeBSD (hopefully)
Martin Quinson [Wed, 16 Jan 2019 07:19:47 +0000 (08:19 +0100)]
fix the fix for FreeBSD (hopefully)

2 years agofix FreeBSD builds
Martin Quinson [Wed, 16 Jan 2019 07:14:49 +0000 (08:14 +0100)]
fix FreeBSD builds

2 years agowoops, plug a memleak
Martin Quinson [Wed, 16 Jan 2019 06:41:47 +0000 (07:41 +0100)]
woops, plug a memleak

2 years agoDrop xbt_os_thread_t
Martin Quinson [Tue, 15 Jan 2019 23:56:48 +0000 (00:56 +0100)]
Drop xbt_os_thread_t

2 years agoreimplement the xbt::parmap using std::thread
Martin Quinson [Tue, 15 Jan 2019 23:32:35 +0000 (00:32 +0100)]
reimplement the xbt::parmap using std::thread

2 years agoImplement thread factory with std::thread, and cleanups
Martin Quinson [Tue, 15 Jan 2019 22:34:32 +0000 (23:34 +0100)]
Implement thread factory with std::thread, and cleanups

2 years agoDocument last change
Martin Quinson [Tue, 15 Jan 2019 21:51:09 +0000 (22:51 +0100)]
Document last change

2 years agocleanups around the actor terminaison
Martin Quinson [Tue, 15 Jan 2019 20:19:44 +0000 (21:19 +0100)]
cleanups around the actor terminaison

2 years agofix Java and MC examples
Martin Quinson [Tue, 15 Jan 2019 19:15:58 +0000 (20:15 +0100)]
fix Java and MC examples

2 years agoMove MSG and SimDag examples out of the sight of users
Martin Quinson [Tue, 15 Jan 2019 11:58:06 +0000 (12:58 +0100)]
Move MSG and SimDag examples out of the sight of users

2 years agouseless cosmetics hinted by qtcreator
Martin Quinson [Mon, 14 Jan 2019 21:34:34 +0000 (22:34 +0100)]
useless cosmetics hinted by qtcreator

2 years agofix the sonar fix
Martin Quinson [Mon, 14 Jan 2019 20:22:54 +0000 (21:22 +0100)]
fix the sonar fix

2 years agomake sure that debugging msg don't cause any segfault
Martin Quinson [Mon, 14 Jan 2019 20:04:58 +0000 (21:04 +0100)]
make sure that debugging msg don't cause any segfault

2 years agoDoc improvement in this example
Martin Quinson [Mon, 14 Jan 2019 10:57:11 +0000 (11:57 +0100)]
Doc improvement in this example

2 years agoplease sonar
Martin Quinson [Sun, 13 Jan 2019 10:01:06 +0000 (11:01 +0100)]
please sonar

2 years agolet's try again without these
Augustin Degomme [Mon, 14 Jan 2019 15:40:39 +0000 (16:40 +0100)]
let's try again without these

2 years agofix dist
Augustin Degomme [Mon, 14 Jan 2019 13:45:30 +0000 (14:45 +0100)]
fix dist

2 years agorename GCCFlags.cmake file in Flags.cmake
Augustin Degomme [Mon, 14 Jan 2019 13:30:41 +0000 (14:30 +0100)]
rename GCCFlags.cmake file in Flags.cmake

2 years agoset some flag for cmake coverage
Augustin Degomme [Mon, 14 Jan 2019 13:28:02 +0000 (14:28 +0100)]
set some flag for cmake coverage

2 years agorename test to avoid name conflict (for sonarcloud coverage)
Augustin Degomme [Mon, 14 Jan 2019 13:23:32 +0000 (14:23 +0100)]
rename test to avoid name conflict (for sonarcloud coverage)

2 years agoRemove redundant command from distcheck.
Arnaud Giersch [Sun, 13 Jan 2019 14:35:17 +0000 (15:35 +0100)]
Remove redundant command from distcheck.

It was made useless by commit aaecc7554d5ed8435195f72e892cf0329c7b6df5
(remove simgrid_documentation target from distcheck).

2 years agoFix distcheck.
Arnaud Giersch [Sun, 13 Jan 2019 14:26:41 +0000 (15:26 +0100)]
Fix distcheck.

2 years agoRemove useless symlink on distcheck.
Arnaud Giersch [Sun, 13 Jan 2019 14:25:52 +0000 (15:25 +0100)]
Remove useless symlink on distcheck.