Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
10 months agoImprove BuildSimGrid.sh
Martin Quinson [Sat, 12 Jan 2019 20:22:06 +0000 (21:22 +0100)]
Improve BuildSimGrid.sh

10 months agoRevert "try to compile mpi.mod even if the config was run previously"
Martin Quinson [Sat, 12 Jan 2019 20:21:45 +0000 (21:21 +0100)]
Revert "try to compile mpi.mod even if the config was run previously"

This reverts commit 8027c7e2096e3eb887cc011b1937d10ae568310a.

10 months agoCorrectly search C++14 on older cmake
Martin Quinson [Sat, 12 Jan 2019 16:50:12 +0000 (17:50 +0100)]
Correctly search C++14 on older cmake

We need to first ask cmake whether it knows about a given feature
before testing whether the compiler has that feature. In particular,
only cmake 3.8 and higher knows about the cxx_std_14 feature.

Since we use the IN_LIST operator to test whether cmake knows a given
feature, we need to bump our CMake minimal version to 3.5. That's a
huge bump from the previous 2.8 requirement, but that version is
provided on Ubuntu Xenial (16.04), our oldest build slave.

Note that cxx_std_14 as a CMAKE_CXX_KNOWN_FEATURES was introduced by
cmake 3.8 only, while versions between 3.5 and 3.8 only had individual
features composing C++14, not the global 'cxx_std_14'. But that's OK.
People should use recent tools to get better/all features.

10 months agotry to compile mpi.mod even if the config was run previously
Martin Quinson [Fri, 11 Jan 2019 23:30:17 +0000 (00:30 +0100)]
try to compile mpi.mod even if the config was run previously

If I understand correctly, this target was previously built in the
first run, right after the cmake run. Now that tests are separated, I
need to save whether or not this target should be built by caching
this variable.

But I'm not sure at all...

10 months agoadd missing dependency
Augustin Degomme [Fri, 11 Jan 2019 23:39:06 +0000 (00:39 +0100)]
add missing dependency

10 months agomissing spots where we should now build 'tests'
Martin Quinson [Fri, 11 Jan 2019 21:14:53 +0000 (22:14 +0100)]
missing spots where we should now build 'tests'

10 months agoonly ask one version of the standard for pybind11
Martin Quinson [Fri, 11 Jan 2019 21:05:44 +0000 (22:05 +0100)]
only ask one version of the standard for pybind11

10 months agodo not build the examples by default, only when running 'make tests'
Martin Quinson [Fri, 11 Jan 2019 20:52:07 +0000 (21:52 +0100)]
do not build the examples by default, only when running 'make tests'

10 months agoam I stupid?!
Martin Quinson [Fri, 11 Jan 2019 20:04:00 +0000 (21:04 +0100)]
am I stupid?!

You only had one job: only activate the existing tests.

10 months agodon't include the git hash in simgrid/config.h
Martin Quinson [Fri, 11 Jan 2019 16:34:41 +0000 (17:34 +0100)]
don't include the git hash in simgrid/config.h

This should speed up incremental rebuilds after cmake runs.

10 months agore-factorize examples/s4u/CMakeLists.txt
Martin Quinson [Fri, 11 Jan 2019 16:20:55 +0000 (17:20 +0100)]
re-factorize examples/s4u/CMakeLists.txt

10 months agoFix signess that bother Qt Creator
Martin Quinson [Thu, 10 Jan 2019 13:55:14 +0000 (14:55 +0100)]
Fix signess that bother Qt Creator

10 months agoSlightly simplify logic.
Arnaud Giersch [Fri, 11 Jan 2019 12:32:10 +0000 (13:32 +0100)]
Slightly simplify logic.

10 months agoKill an obsolete FIXME.
Arnaud Giersch [Fri, 11 Jan 2019 12:24:14 +0000 (13:24 +0100)]
Kill an obsolete FIXME.

10 months agoDon't shadow parameter "parent".
Arnaud Giersch [Fri, 11 Jan 2019 12:19:00 +0000 (13:19 +0100)]
Don't shadow parameter "parent".

10 months agoMerge "if" statements.
Arnaud Giersch [Fri, 11 Jan 2019 10:33:24 +0000 (11:33 +0100)]
Merge "if" statements.

10 months agoUse wildcards for location of libcgraph in simgrid.supp.
Arnaud Giersch [Fri, 11 Jan 2019 10:12:13 +0000 (11:12 +0100)]
Use wildcards for location of libcgraph in simgrid.supp.

10 months agoRemove hardcoded value.
Arnaud Giersch [Fri, 11 Jan 2019 08:26:00 +0000 (09:26 +0100)]
Remove hardcoded value.

10 months agoRemove unused variable.
Arnaud Giersch [Fri, 11 Jan 2019 08:24:26 +0000 (09:24 +0100)]
Remove unused variable.

10 months agoTry to improve valgrind suppressions for python before the night.
Arnaud Giersch [Thu, 10 Jan 2019 21:17:19 +0000 (22:17 +0100)]
Try to improve valgrind suppressions for python before the night.

10 months agoAccess static member with "::".
Arnaud Giersch [Thu, 10 Jan 2019 21:17:19 +0000 (22:17 +0100)]
Access static member with "::".

10 months agoUseless include.
Arnaud Giersch [Thu, 10 Jan 2019 21:17:19 +0000 (22:17 +0100)]
Useless include.

10 months agoUse cmake's JAVA_EXECUTABLE to run Java tests.
Arnaud Giersch [Thu, 10 Jan 2019 14:48:15 +0000 (15:48 +0100)]
Use cmake's JAVA_EXECUTABLE to run Java tests.

10 months agoRevert "[travis] Another try..."
Arnaud Giersch [Thu, 10 Jan 2019 14:12:51 +0000 (15:12 +0100)]
Revert "[travis] Another try..."

jdk_switcher: command not found

This reverts commit b0a3fa041429539e40244536bf35f889e98c1d20.

10 months ago[travis] Another try...
Arnaud Giersch [Thu, 10 Jan 2019 14:09:32 +0000 (15:09 +0100)]
[travis] Another try...

10 months ago[travis] Another attempt to fix java.
Arnaud Giersch [Thu, 10 Jan 2019 13:50:07 +0000 (14:50 +0100)]
[travis] Another attempt to fix java.

10 months ago[travis] There are only 2 cores available.
Arnaud Giersch [Thu, 10 Jan 2019 13:48:54 +0000 (14:48 +0100)]
[travis] There are only 2 cores available.

10 months ago[travis] Try to not explicitely ask for default-jdk.
Arnaud Giersch [Thu, 10 Jan 2019 13:27:13 +0000 (14:27 +0100)]
[travis] Try to not explicitely ask for default-jdk.

10 months agoRemove typedef alias xbt_ex_t.
Arnaud Giersch [Thu, 10 Jan 2019 12:52:22 +0000 (13:52 +0100)]
Remove typedef alias xbt_ex_t.

This removes the last references to struct xbt_ex in C world.

10 months agoTypo.
Arnaud Giersch [Thu, 10 Jan 2019 12:50:36 +0000 (13:50 +0100)]
Typo.

10 months agoKill unused function xbt_ex_display().
Arnaud Giersch [Thu, 10 Jan 2019 11:14:24 +0000 (12:14 +0100)]
Kill unused function xbt_ex_display().

10 months agoUpdate .mailmap.
Arnaud Giersch [Thu, 10 Jan 2019 10:59:10 +0000 (11:59 +0100)]
Update .mailmap.

10 months agoCosmetics: trailing withespaces.
Arnaud Giersch [Thu, 10 Jan 2019 10:33:09 +0000 (11:33 +0100)]
Cosmetics: trailing withespaces.

10 months agoAvoid redefining built-in "list".
Arnaud Giersch [Thu, 10 Jan 2019 10:31:30 +0000 (11:31 +0100)]
Avoid redefining built-in "list".

10 months agoChange string statement into comment.
Arnaud Giersch [Thu, 10 Jan 2019 10:29:59 +0000 (11:29 +0100)]
Change string statement into comment.

10 months agoNow that it run on jenkins, disable sonar analysis on travis.
Arnaud Giersch [Thu, 10 Jan 2019 10:20:21 +0000 (11:20 +0100)]
Now that it run on jenkins, disable sonar analysis on travis.

10 months ago[sonar] Merge exclusions.
Arnaud Giersch [Thu, 10 Jan 2019 09:15:25 +0000 (10:15 +0100)]
[sonar] Merge exclusions.

10 months ago[sonar] Rename method (don't use "main").
Arnaud Giersch [Thu, 10 Jan 2019 08:59:12 +0000 (09:59 +0100)]
[sonar] Rename method (don't use "main").

10 months ago[sonar] Misc issues in bindings/lua.
Arnaud Giersch [Wed, 9 Jan 2019 20:34:29 +0000 (21:34 +0100)]
[sonar] Misc issues in bindings/lua.

10 months agobad formatting of suppression file, missing a mandatory comment line
Augustin Degomme [Thu, 10 Jan 2019 11:09:45 +0000 (12:09 +0100)]
bad formatting of suppression file, missing a mandatory comment line

10 months agotell valgrind to ignore cruft inside python3.. Let it for now try to find the remaini...
Augustin Degomme [Thu, 10 Jan 2019 09:43:07 +0000 (10:43 +0100)]
tell valgrind to ignore cruft inside python3.. Let it for now try to find the remaining issues in simgrid

10 months agodisable python for sanitizers
Augustin Degomme [Thu, 10 Jan 2019 09:31:02 +0000 (10:31 +0100)]
disable python for sanitizers

10 months agoadopt single file for cobertura as well
Augustin Degomme [Wed, 9 Jan 2019 14:43:55 +0000 (15:43 +0100)]
adopt single file for cobertura as well

10 months agotypo --
Augustin Degomme [Wed, 9 Jan 2019 14:41:11 +0000 (15:41 +0100)]
typo --

10 months agogenerate only one file for all python reports, as sonarcloud wants it.
Augustin Degomme [Wed, 9 Jan 2019 14:40:39 +0000 (15:40 +0100)]
generate only one file for all python reports, as sonarcloud wants it.

10 months agoRedo "Like java, python breaks mmalloc with FreeBSD+MC. Disable it."
Arnaud Giersch [Wed, 9 Jan 2019 11:57:49 +0000 (12:57 +0100)]
Redo "Like java, python breaks mmalloc with FreeBSD+MC. Disable it."

Check option 'enable_python' *after* its declaration.

This fixes commit 882355d6bdf10129df36e89e4a0a5182959600ff.

10 months agoadd python coverage
Augustin Degomme [Wed, 9 Jan 2019 10:48:30 +0000 (11:48 +0100)]
add python coverage
May crash with some examples, such as actor-create..

10 months agoField SwappedContext::stack_ became private, use get_stack().
Arnaud Giersch [Wed, 9 Jan 2019 09:17:52 +0000 (10:17 +0100)]
Field SwappedContext::stack_ became private, use get_stack().

10 months agoLike java, python breaks mmalloc with FreeBSD+MC. Disable it.
Arnaud Giersch [Wed, 9 Jan 2019 08:51:55 +0000 (09:51 +0100)]
Like java, python breaks mmalloc with FreeBSD+MC. Disable it.

10 months ago[sonar] Fix never executed "break" statements.
Arnaud Giersch [Wed, 9 Jan 2019 08:51:55 +0000 (09:51 +0100)]
[sonar] Fix never executed "break" statements.

10 months ago[sonar] Use the "&" operator with function names.
Arnaud Giersch [Wed, 9 Jan 2019 08:51:55 +0000 (09:51 +0100)]
[sonar] Use the "&" operator with function names.

10 months agoHappy new year.
Arnaud Giersch [Wed, 9 Jan 2019 08:51:55 +0000 (09:51 +0100)]
Happy new year.

10 months agomore pythonic example
Martin Quinson [Wed, 9 Jan 2019 09:39:28 +0000 (10:39 +0100)]
more pythonic example

10 months agosonar: don't exclude java from coverage
Martin Quinson [Wed, 9 Jan 2019 07:36:11 +0000 (08:36 +0100)]
sonar: don't exclude java from coverage

10 months agosonar: disable a weird rule
Martin Quinson [Wed, 9 Jan 2019 07:21:03 +0000 (08:21 +0100)]
sonar: disable a weird rule

10 months agoFix MC builds
Martin Quinson [Wed, 9 Jan 2019 07:18:16 +0000 (08:18 +0100)]
Fix MC builds

10 months agotravis is on Xenial now
Martin Quinson [Tue, 8 Jan 2019 22:32:19 +0000 (23:32 +0100)]
travis is on Xenial now

10 months agoMissing files
Martin Quinson [Tue, 8 Jan 2019 22:25:58 +0000 (23:25 +0100)]
Missing files

10 months agodoc cosmetics, and cleanup the API
Martin Quinson [Tue, 8 Jan 2019 22:09:57 +0000 (23:09 +0100)]
doc cosmetics, and cleanup the API

more functions in the API, don't help users but mess them up

- In python:
  - remove this_actor.kill(pid)
  - bind Actor.by_pid(pid)
  - remove this_actor.kill_all(), we have Actor.kill_all()
- In C++:
  - deprecate s4u::Actor::kill(pid)
- Various docstrings improvements

10 months agosonar: ignore XML and python files from coverage
Martin Quinson [Tue, 8 Jan 2019 21:21:49 +0000 (22:21 +0100)]
sonar: ignore XML and python files from coverage

10 months agonew python example: actor-kill
Martin Quinson [Tue, 8 Jan 2019 18:30:11 +0000 (19:30 +0100)]
new python example: actor-kill

10 months agoobey sonar and make SwappedContext::stack_ private
Martin Quinson [Tue, 8 Jan 2019 17:13:55 +0000 (18:13 +0100)]
obey sonar and make SwappedContext::stack_ private

10 months agoDon't force on a factory that is not always avail
Martin Quinson [Tue, 8 Jan 2019 14:30:40 +0000 (15:30 +0100)]
Don't force on a factory that is not always avail

10 months agotiny doc improvement
Martin Quinson [Tue, 8 Jan 2019 13:30:51 +0000 (14:30 +0100)]
tiny doc improvement

10 months agoDon't get tied to a version, this one needed an upgrade
Augustin Degomme [Tue, 8 Jan 2019 16:23:49 +0000 (17:23 +0100)]
Don't get tied to a version, this one needed an upgrade

10 months agoprotect against entering the loop when no match is found
Augustin Degomme [Tue, 8 Jan 2019 15:48:46 +0000 (16:48 +0100)]
protect against entering the loop when no match is found

10 months agoadd sonarqube to the coverage build
Augustin Degomme [Tue, 8 Jan 2019 14:02:04 +0000 (15:02 +0100)]
add sonarqube to the coverage build

10 months agodon't wrash with 0 sized files
Augustin Degomme [Tue, 8 Jan 2019 14:01:23 +0000 (15:01 +0100)]
don't wrash with 0 sized files
jacoco is failing as of now: probably we don't close the jvm properly, and the filling of the file is never triggered

10 months agos/HAVE_SENDFILE/SG_HAVE_SENDFILE/
Martin Quinson [Tue, 8 Jan 2019 07:51:01 +0000 (08:51 +0100)]
s/HAVE_SENDFILE/SG_HAVE_SENDFILE/

Now that the python-bindings load the private headers too (to get
Context::StopRequest() in Context.hpp), we get some naming conflict.
Interestingly, that's only visible on some architectures, not globally.

10 months agomove header template near to its destination
Martin Quinson [Tue, 8 Jan 2019 07:44:41 +0000 (08:44 +0100)]
move header template near to its destination

10 months agoci: make target got renamed
Martin Quinson [Tue, 8 Jan 2019 07:34:12 +0000 (08:34 +0100)]
ci: make target got renamed

10 months agotiny doc improvement
Martin Quinson [Tue, 8 Jan 2019 07:21:45 +0000 (08:21 +0100)]
tiny doc improvement

10 months agoinclude pybind11.h first, as we should
Martin Quinson [Tue, 8 Jan 2019 07:20:12 +0000 (08:20 +0100)]
include pybind11.h first, as we should

10 months agoremove any virtuals from Context::StopRequest
Martin Quinson [Tue, 8 Jan 2019 07:16:56 +0000 (08:16 +0100)]
remove any virtuals from Context::StopRequest

Some clang versions fail otherwise:

/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/bits/exception_ptr.h:172:9: error: destructor called on non-final 'simgrid::kernel::context::Context::StopRequest' that has virtual functions but non-virtual destructor [-Werror,-Wdelete-non-virtual-dtor]
      { static_cast<_Ex*>(__x)->~_Ex(); }
        ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/bits/exception_ptr.h:185:21: note: in instantiation of function template specialization 'std::__exception_ptr::__dest_thunk<simgrid::kernel::context::Context::StopRequest>' requested here
          __exception_ptr::__dest_thunk<_Ex>);
                           ^
/builds/workspace/SimGrid/build_mode/Debug/node/simgrid-manjaro/build/SimGrid-3.21.90/src/simix/ActorImpl.cpp:507:35: note: in instantiation of function template specialization 'std::make_exception_ptr<simgrid::kernel::context::Context::StopRequest>' requested here
actor->throw_exception(std::make_exception_ptr(simgrid::kernel::context::Context::StopRequest("host failed")));
                                  ^
/usr/bin/../lib64/gcc/x86_64-pc-linux-gnu/8.2.1/../../../../include/c++/8.2.1/bits/exception_ptr.h:172:34: note: qualify call to silence this warning
      { static_cast<_Ex*>(__x)->~_Ex(); }
                                 ^
1 error generated.

10 months agoautopep8 our python examples
Martin Quinson [Tue, 8 Jan 2019 06:06:03 +0000 (07:06 +0100)]
autopep8 our python examples

10 months agoMerge branch 'master' of framagit.org:simgrid/simgrid
Martin Quinson [Tue, 8 Jan 2019 05:41:48 +0000 (06:41 +0100)]
Merge branch 'master' of framagit.org:simgrid/simgrid

10 months agoAlso test is_suspended in the s4u example
Martin Quinson [Tue, 8 Jan 2019 05:40:32 +0000 (06:40 +0100)]
Also test is_suspended in the s4u example

10 months agopython: test Actor.is_suspended() and introduce this_actor.error
Martin Quinson [Tue, 8 Jan 2019 05:37:28 +0000 (06:37 +0100)]
python: test Actor.is_suspended() and introduce this_actor.error

10 months agoVarious doc improvements
Martin Quinson [Tue, 8 Jan 2019 05:32:35 +0000 (06:32 +0100)]
Various doc improvements

Also kill meaningless functions:
- Actor::yield() was not even implemented, only declared
- this_actor::is_suspended() can only return false, because suspended
  actors don't get executed.

10 months agorename make target to ease tab-completion
Martin Quinson [Tue, 8 Jan 2019 05:00:45 +0000 (06:00 +0100)]
rename make target to ease tab-completion

10 months agoAlso make registered actors killable in python
Martin Quinson [Tue, 8 Jan 2019 04:15:03 +0000 (05:15 +0100)]
Also make registered actors killable in python

10 months agoonly use pybind11 when registering actors
Martin Quinson [Tue, 8 Jan 2019 04:04:50 +0000 (05:04 +0100)]
only use pybind11 when registering actors

Mixing with the underlying C API only makes things harder

10 months agoNew python example: actor-daemon
Martin Quinson [Tue, 8 Jan 2019 03:57:18 +0000 (04:57 +0100)]
New python example: actor-daemon

10 months agoallow python actors to be killed
Martin Quinson [Tue, 8 Jan 2019 03:43:16 +0000 (04:43 +0100)]
allow python actors to be killed

Only works for directly created actors for now, not for the registered
ones. I need to do the same kind of things for register_actors, now.

The funny thing is that I didn't had to clean the contexts for that.

10 months agoDon't turn gcc's -Wmaybe-uninitialized into an error.
Arnaud Giersch [Mon, 7 Jan 2019 16:59:26 +0000 (17:59 +0100)]
Don't turn gcc's -Wmaybe-uninitialized into an error.

It is sometimes bogus. For example:
  src/include/xbt/parmap.hpp:225:19: error:  may be used uninitialized in this function [-Werror=maybe-uninitialized]
      return boost::none;
                    ^

10 months agoFix build with ASan (s/from/this/).
Arnaud Giersch [Mon, 7 Jan 2019 15:50:40 +0000 (16:50 +0100)]
Fix build with ASan (s/from/this/).

10 months agoThread factory is always valid.
Arnaud Giersch [Mon, 7 Jan 2019 14:17:16 +0000 (15:17 +0100)]
Thread factory is always valid.

10 months agoAnonymize unused variable.
Arnaud Giersch [Mon, 7 Jan 2019 09:44:56 +0000 (10:44 +0100)]
Anonymize unused variable.

10 months agoRemove trailing whitespaces.
Arnaud Giersch [Mon, 7 Jan 2019 09:36:53 +0000 (10:36 +0100)]
Remove trailing whitespaces.

10 months agoUpdate copyright lines with new year.
Arnaud Giersch [Mon, 7 Jan 2019 09:28:23 +0000 (10:28 +0100)]
Update copyright lines with new year.

10 months agodo not break sequential execution while fixing parallel execution
Martin Quinson [Mon, 7 Jan 2019 11:23:16 +0000 (12:23 +0100)]
do not break sequential execution while fixing parallel execution

10 months agoFix a race condition
Martin Quinson [Mon, 7 Jan 2019 10:34:57 +0000 (11:34 +0100)]
Fix a race condition

When saving the context of maestro, we must ensure that we are
actually thread 0. Otherwise, we may end up saving the context of a
minion (a working thread).

10 months agodoc: fix copy/paste error
Martin Quinson [Mon, 7 Jan 2019 09:01:39 +0000 (10:01 +0100)]
doc: fix copy/paste error

10 months agoplease sonar, add 'explicit'
Martin Quinson [Sun, 6 Jan 2019 16:33:23 +0000 (17:33 +0100)]
please sonar, add 'explicit'

10 months agofactorize where seq_runall and par_runall save maestro context
Martin Quinson [Sun, 6 Jan 2019 14:08:10 +0000 (15:08 +0100)]
factorize where seq_runall and par_runall save maestro context

10 months agochange static fields in SwappedCtx into regular fields of the factory
Martin Quinson [Sun, 6 Jan 2019 13:21:53 +0000 (14:21 +0100)]
change static fields in SwappedCtx into regular fields of the factory

and other cleanups

10 months agoKill the now useless ParallelRawContext and ParallelBoostContext
Martin Quinson [Sun, 6 Jan 2019 12:05:26 +0000 (13:05 +0100)]
Kill the now useless ParallelRawContext and ParallelBoostContext

They were a perfect duplication of ParallelUContext :(

10 months agomerge ParallelUContext into SwappedContext, that can now run parallel or sequential
Martin Quinson [Sun, 6 Jan 2019 11:58:03 +0000 (12:58 +0100)]
merge ParallelUContext into SwappedContext, that can now run parallel or sequential

10 months agoCosmetics in contexts
Martin Quinson [Sun, 6 Jan 2019 11:09:02 +0000 (12:09 +0100)]
Cosmetics in contexts

- Kill useless code
- Move a method to superclass
- Fix clang builds

10 months agomove a static field of SwappedContext into SwappedContextFactory
Martin Quinson [Sun, 6 Jan 2019 11:06:03 +0000 (12:06 +0100)]
move a static field of SwappedContext into SwappedContextFactory