Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
4 years agojava: cosmetics
Martin Quinson [Sun, 2 Sep 2018 00:02:21 +0000 (02:02 +0200)]
java: cosmetics

4 years agothat was converted to sphinx
Martin Quinson [Sat, 1 Sep 2018 23:11:54 +0000 (01:11 +0200)]
that was converted to sphinx

4 years agoRemove the deprecated 'state' attribute from the doc
Martin Quinson [Sat, 1 Sep 2018 20:56:32 +0000 (22:56 +0200)]
Remove the deprecated 'state' attribute from the doc

This fixes https://github.com/simgrid/simgrid/issues/295

4 years agodocs: write the overall section of 'Applications'
Martin Quinson [Sat, 1 Sep 2018 20:53:51 +0000 (22:53 +0200)]
docs: write the overall section of 'Applications'

4 years agosphinx: one warning less
Martin Quinson [Fri, 31 Aug 2018 15:58:58 +0000 (17:58 +0200)]
sphinx: one warning less

4 years agoBummer. Really fix out of tree builds (I hope)
Martin Quinson [Thu, 30 Aug 2018 09:37:40 +0000 (11:37 +0200)]
Bummer. Really fix out of tree builds (I hope)

4 years agofix out of tree builds
Martin Quinson [Thu, 30 Aug 2018 07:38:36 +0000 (09:38 +0200)]
fix out of tree builds

4 years agofix maestro-set
Martin Quinson [Wed, 29 Aug 2018 21:11:37 +0000 (23:11 +0200)]
fix maestro-set

4 years agodisable the platform-failure tests for now, sorry
Martin Quinson [Wed, 29 Aug 2018 20:50:07 +0000 (22:50 +0200)]
disable the platform-failure tests for now, sorry

I fail to debug such complex tests, I need smaller ones such as the
activity-lifecycle that I'm currently growing.

But broken tests in the git prevents everybody from working, including
me. I broke msg-maestro-set-thread at some point and did not even
notice :(

Sorry for breaking the failure platform tests in the first place.

4 years agokill a superseeded sub-test, and fix another one
Martin Quinson [Wed, 29 Aug 2018 20:31:09 +0000 (22:31 +0200)]
kill a superseeded sub-test, and fix another one

Processes on failing host are killed right away, so it cannot report
that the host failed as expected.

This whole test should be converted to activity-lifecycle.

4 years agofix make dist
Martin Quinson [Wed, 29 Aug 2018 20:13:26 +0000 (22:13 +0200)]
fix make dist

4 years agothis test is superseeded by activity-lifecycle
Martin Quinson [Wed, 29 Aug 2018 20:11:31 +0000 (22:11 +0200)]
this test is superseeded by activity-lifecycle

4 years agosimplify the actor finalization a tiny bit by using a callback
Martin Quinson [Wed, 29 Aug 2018 20:04:11 +0000 (22:04 +0200)]
simplify the actor finalization a tiny bit by using a callback

This is part of the removal of all trace-related pimpl all over the
code of MSG (my goal is to kill MSG_process_cleanup_from_SIMIX() all
together).

Note that I changed from Container::by_name() to
Container::by_name_or_null. It seems that not all actors have a
container by their name, not sure why.

4 years agoConvert all xbt_ex(network_error) throwing locations
Martin Quinson [Wed, 29 Aug 2018 19:24:26 +0000 (21:24 +0200)]
Convert all xbt_ex(network_error) throwing locations

4 years agotypo
Martin Quinson [Wed, 29 Aug 2018 19:19:40 +0000 (21:19 +0200)]
typo

4 years agosonar
Martin Quinson [Wed, 29 Aug 2018 13:19:17 +0000 (15:19 +0200)]
sonar

4 years agowoops
Martin Quinson [Wed, 29 Aug 2018 13:18:47 +0000 (15:18 +0200)]
woops

4 years agofix 32b builds
Martin Quinson [Wed, 29 Aug 2018 12:17:35 +0000 (14:17 +0200)]
fix 32b builds

4 years agoplease sonar on rethrow
Martin Quinson [Wed, 29 Aug 2018 11:14:01 +0000 (13:14 +0200)]
please sonar on rethrow

4 years agoDisplay a msg when contexts are killed by uncatched exceptions
Martin Quinson [Wed, 29 Aug 2018 09:35:10 +0000 (11:35 +0200)]
Display a msg when contexts are killed by uncatched exceptions

and when I want to really kill an actor (eg when its host is turned
off), I launch an uncatchable kernel::Context::StopRequest instead of
a catchable simgrid::HostFailureException (which will be used in case
of remote exec and similar)

Maybe there should be a config flag to decide if we want to kill the
simulation when an actor fails. The current setting forces the user to
add try/catch (simgrid::Exception) around their main functions. That's
not a bad thing either, not sure.

4 years agoLet's exhaustively test the activity lifecycle
Martin Quinson [Wed, 29 Aug 2018 00:10:12 +0000 (02:10 +0200)]
Let's exhaustively test the activity lifecycle

This test is not complete yet. It aims at being as exhaustive and
paranoid as possible, just like cloud-sharing even if I didn't find a
good DSL to specify the tests this time.

4 years agoimprove debug messages and error reporting
Martin Quinson [Wed, 29 Aug 2018 00:08:18 +0000 (02:08 +0200)]
improve debug messages and error reporting

4 years agoProperly kill the context on HostFailureException
Martin Quinson [Tue, 28 Aug 2018 23:59:17 +0000 (01:59 +0200)]
Properly kill the context on HostFailureException

Before, simix was kinda thinking that the actor was dead, but the
context was still running, leading to a Holy Big Mess!

4 years agoupdate doc
Augustin Degomme [Tue, 28 Aug 2018 15:46:08 +0000 (17:46 +0200)]
update doc

4 years agoSwitch to ompi for umpire tests.
Augustin Degomme [Tue, 28 Aug 2018 15:39:33 +0000 (17:39 +0200)]
Switch to ompi for umpire tests.
MPICH changes brought SMP-aware algorithm, which MC does not really like.
I guess the init_smp is the culprit here, as it uses badly various collectives.

4 years agoupdate ompi selector as well with "recent" version
Augustin Degomme [Tue, 28 Aug 2018 15:37:50 +0000 (17:37 +0200)]
update ompi selector as well with "recent" version

4 years agoRequalify automatic tesh, as another algorithm is used in init_smp now.
Augustin Degomme [Tue, 28 Aug 2018 14:32:41 +0000 (16:32 +0200)]
Requalify automatic tesh, as another algorithm is used in init_smp now.

4 years agoupdate doc with new algo
Augustin Degomme [Tue, 28 Aug 2018 14:29:22 +0000 (16:29 +0200)]
update doc with new algo

4 years agoUpgrade MPICH collective selector to 3.3.
Augustin Degomme [Tue, 28 Aug 2018 14:23:24 +0000 (16:23 +0200)]
Upgrade MPICH collective selector to 3.3.
Add SMP variants of some algorithms, and protect against side effects.

4 years agocircleci: do not optimise builds, you're supposed to be as fast as hell
Martin Quinson [Sun, 26 Aug 2018 23:49:51 +0000 (01:49 +0200)]
circleci: do not optimise builds, you're supposed to be as fast as hell

4 years agoFix https://github.com/simgrid/simgrid/issues/294
Augustin Degomme [Tue, 28 Aug 2018 08:19:07 +0000 (10:19 +0200)]
Fix https://github.com/simgrid/simgrid/issues/294

4 years agoNot sure of why it helps now
Martin Quinson [Sun, 26 Aug 2018 23:42:53 +0000 (01:42 +0200)]
Not sure of why it helps now

4 years agofix travis builds
Martin Quinson [Sun, 26 Aug 2018 23:42:32 +0000 (01:42 +0200)]
fix travis builds

4 years agostrenghten this test
Martin Quinson [Sun, 26 Aug 2018 22:37:52 +0000 (00:37 +0200)]
strenghten this test

4 years agoMSG_process_sleep should intercept HostFailureException and report it accordingly
Martin Quinson [Sun, 26 Aug 2018 20:50:16 +0000 (22:50 +0200)]
MSG_process_sleep should intercept HostFailureException and report it accordingly

Don't ask me how it could have worked before, but they were a
C++ try/catch in teshsuite/msg/host_on_off_processes. In a MSG code!!

4 years agoWhen the host dies, the actor need an exception even if it's not blocked on an activity
Martin Quinson [Sun, 26 Aug 2018 20:14:26 +0000 (22:14 +0200)]
When the host dies, the actor need an exception even if it's not blocked on an activity

4 years agosome compilers cannot see that this value is initialized in all cases
Martin Quinson [Sun, 26 Aug 2018 11:30:15 +0000 (13:30 +0200)]
some compilers cannot see that this value is initialized in all cases

4 years agoDo not throw exception in maestro when host->is_off + sleep()
Martin Quinson [Sun, 26 Aug 2018 09:49:40 +0000 (11:49 +0200)]
Do not throw exception in maestro when host->is_off + sleep()

Also, use ActorImpl::throw_exception() instead of messing with its
wannabe private exception_ field.

4 years agoconvert some xbt_ex(tracing_error) into xbt_assert
Martin Quinson [Sun, 26 Aug 2018 00:56:22 +0000 (02:56 +0200)]
convert some xbt_ex(tracing_error) into xbt_assert

4 years agoimplement THROW_IMPOSSIBLE and THROW_UNIMPLEMENTED with std::runtime_error directly
Martin Quinson [Sun, 26 Aug 2018 00:09:00 +0000 (02:09 +0200)]
implement THROW_IMPOSSIBLE and THROW_UNIMPLEMENTED with std::runtime_error directly

4 years agoconvert a xbt_ex(arg_error) into a std::invalid_argument
Martin Quinson [Sat, 25 Aug 2018 23:31:24 +0000 (01:31 +0200)]
convert a xbt_ex(arg_error) into a std::invalid_argument

4 years agodeprecate SIMIX_process_throw for ActorImpl::throw_exception
Martin Quinson [Sat, 25 Aug 2018 23:14:32 +0000 (01:14 +0200)]
deprecate SIMIX_process_throw for ActorImpl::throw_exception

4 years agoconvert xbt_ex(timeout_error) catching locations to TimeoutError
Martin Quinson [Sat, 25 Aug 2018 21:38:15 +0000 (23:38 +0200)]
convert xbt_ex(timeout_error) catching locations to TimeoutError

4 years agoDo not swallow exceptions I don't know
Martin Quinson [Sat, 25 Aug 2018 22:51:00 +0000 (00:51 +0200)]
Do not swallow exceptions I don't know

4 years agoDo not convert TimeoutError to xbt_ex(timeout) in case they were a wait_any
Martin Quinson [Sat, 25 Aug 2018 22:36:16 +0000 (00:36 +0200)]
Do not convert TimeoutError to xbt_ex(timeout) in case they were a wait_any

If there is an issue while dealing with a test_any or a wait_any, the
caller must be told which activity failed. I'm not sure of how to
cleanly do so. For now, we use exception.value to store the rank of
that activity in the container.

To modify the exception, C++ leaves us no way but to rethrow it and
recatch it, change its value field, and re-store it in the
issuer->exception.  But then, the exception become of the catching
type. Wicked! Vicious! It means that since we were catching (xbt_ex&
e), we actually converted the simgrid::TimeoutException into a xbt_ex.

And this conversion was done in any case, even if the value was set
only if the simcall was actually a wait_any or test_any...

With this commit, we catch, extend and rethrow any TimeoutException,
and if it's not such an xbt_ex, we do the same for a xbt_ex.

A proper version could involve a WaitAnyException (with failing_rank
and cause fields), or maybe the TimeoutException could contain a
pointer to the timeouted activity so that the caller can find its rank
by itself.

4 years agoconvert all xbt_ex(timeout_error) throwing locations to simgrid::TimeoutError
Martin Quinson [Sat, 25 Aug 2018 20:02:07 +0000 (22:02 +0200)]
convert all xbt_ex(timeout_error) throwing locations to simgrid::TimeoutError

4 years agoconvert all xbt_ex(host_error) catching locations to simgrid::HostFailureException
Martin Quinson [Sat, 25 Aug 2018 19:51:19 +0000 (21:51 +0200)]
convert all xbt_ex(host_error) catching locations to simgrid::HostFailureException

4 years agoReplace all xbt_ex(host_error) throwing location with HostFailureException
Martin Quinson [Sat, 25 Aug 2018 19:35:15 +0000 (21:35 +0200)]
Replace all xbt_ex(host_error) throwing location with HostFailureException

4 years agoconvert some catch locations to simgrid::HostFailureException
Martin Quinson [Sat, 25 Aug 2018 13:57:02 +0000 (15:57 +0200)]
convert some catch locations to simgrid::HostFailureException

4 years agoallow to pass a std::string as message to Exceptions
Martin Quinson [Sat, 25 Aug 2018 13:32:58 +0000 (15:32 +0200)]
allow to pass a std::string as message to Exceptions

4 years agoThis is our first modern exception. How stirring!
Martin Quinson [Sat, 25 Aug 2018 12:23:50 +0000 (14:23 +0200)]
This is our first modern exception. How stirring!

And this is compatible with the existing user code, as not all catch
locations were converted yet.

4 years agoMake HostFailureException compatible with the old xbt_ex mechanism
Martin Quinson [Sat, 25 Aug 2018 11:33:55 +0000 (13:33 +0200)]
Make HostFailureException compatible with the old xbt_ex mechanism

At least hopefully. In fact, when I try to use it, I fail to catch
HostFailureException as if they were xbt_ex exceptions, and I don't
know why.

4 years agoMake the future simgrid::*Exception inherit of legacy xbt_ex
Martin Quinson [Sat, 25 Aug 2018 11:11:10 +0000 (13:11 +0200)]
Make the future simgrid::*Exception inherit of legacy xbt_ex

This should ease the transition path for our users

4 years agoMerge the content of xbt::WithContextException into simgrid::Exception
Martin Quinson [Sat, 25 Aug 2018 10:14:54 +0000 (12:14 +0200)]
Merge the content of xbt::WithContextException into simgrid::Exception

simgrid::Exception was inheriting from xbt::WithContextException anyway.

Plus, move all of the thrown point context into xbt::ThrownPoint.
Earlier, it only contained __FILE__, __LINE__ and __func__. This
commit adds the backtrace, the procname and the pid.

4 years agoPlease people, stop including internal_config.h in generic header files
Martin Quinson [Sat, 25 Aug 2018 09:25:29 +0000 (11:25 +0200)]
Please people, stop including internal_config.h in generic header files

Every file including src/internal_config.h (directly or indirectly)
must be rebuilt when the cmake file or config are changed. I change
these file *a lot* during my refactorings, and I get tired of
recompiling large amount of files that were not affected in any way.

This time, all of SMPI was recompiled each time. Including the **many**
collectives that we integrated a long time ago and never changed since
then. These files are not build-configured in anyway, so please don't
make me recompiling them again and again, please.

4 years agofix make dist
Martin Quinson [Sat, 25 Aug 2018 09:07:28 +0000 (11:07 +0200)]
fix make dist

4 years agoMerge the content of xbt/exception.hpp into simgrid/Exception.hpp
Martin Quinson [Sat, 25 Aug 2018 09:07:11 +0000 (11:07 +0200)]
Merge the content of xbt/exception.hpp into simgrid/Exception.hpp

4 years agoRename simgrid::exception into simgrid::Exception
Martin Quinson [Sat, 25 Aug 2018 08:22:28 +0000 (10:22 +0200)]
Rename simgrid::exception into simgrid::Exception

Also move simgrid/exception.hpp to simgrid/Exception.hpp (our coding
standards say that files defining a class must have their name
upper-cased as the class)

4 years agomove xbt::Backtrace to its own file
Martin Quinson [Fri, 24 Aug 2018 20:44:51 +0000 (22:44 +0200)]
move xbt::Backtrace to its own file

4 years agorename xbt::WithContextException into xbt::ContextedException
Martin Quinson [Fri, 24 Aug 2018 20:37:46 +0000 (22:37 +0200)]
rename xbt::WithContextException into xbt::ContextedException

4 years agotypo
Martin Quinson [Fri, 24 Aug 2018 20:36:22 +0000 (22:36 +0200)]
typo

4 years agorename fields to end with _
Martin Quinson [Fri, 24 Aug 2018 16:57:27 +0000 (18:57 +0200)]
rename fields to end with _

4 years agoremove an unused class around exceptions
Martin Quinson [Fri, 24 Aug 2018 16:54:48 +0000 (18:54 +0200)]
remove an unused class around exceptions

4 years agomerge xbt/ex.hpp into simgrid/exception.hpp
Martin Quinson [Fri, 24 Aug 2018 16:32:02 +0000 (18:32 +0200)]
merge xbt/ex.hpp into simgrid/exception.hpp

4 years agoCreate some simgrid::exception, and make xbt_ex one of them
Martin Quinson [Fri, 24 Aug 2018 15:46:17 +0000 (17:46 +0200)]
Create some simgrid::exception, and make xbt_ex one of them

4 years agodocument Activity::test() wait() wait_for() and wait_all()
Martin Quinson [Fri, 24 Aug 2018 14:42:44 +0000 (16:42 +0200)]
document Activity::test() wait() wait_for() and wait_all()

4 years agonew test for the Activity::wait_until() function
Martin Quinson [Fri, 24 Aug 2018 14:13:14 +0000 (16:13 +0200)]
new test for the Activity::wait_until() function

4 years agothese examples should not diverge
Martin Quinson [Fri, 24 Aug 2018 14:11:36 +0000 (16:11 +0200)]
these examples should not diverge

4 years agonew function: Activity::wait_until()
Martin Quinson [Fri, 24 Aug 2018 14:09:58 +0000 (16:09 +0200)]
new function: Activity::wait_until()

4 years agorename Activity::wait(double) to Activity::wait_for(double)
Martin Quinson [Fri, 24 Aug 2018 13:43:59 +0000 (15:43 +0200)]
rename Activity::wait(double) to Activity::wait_for(double)

Along with the deprecation wrappers, and in all subclasses also.

4 years agoNew function: s4u::Activity::test()
Martin Quinson [Fri, 24 Aug 2018 13:14:25 +0000 (15:14 +0200)]
New function: s4u::Activity::test()

Previously, it was only in some of the subclasses
(also, hide some deprecated symbols from Doxygen)

4 years agovarious sonar cleanups
Martin Quinson [Fri, 24 Aug 2018 12:46:47 +0000 (14:46 +0200)]
various sonar cleanups

4 years agodocs: present asynchronous activities
Martin Quinson [Fri, 24 Aug 2018 12:13:42 +0000 (14:13 +0200)]
docs: present asynchronous activities

4 years agonew function: Host::exec_async
Martin Quinson [Fri, 24 Aug 2018 12:13:16 +0000 (14:13 +0200)]
new function: Host::exec_async

4 years agodocker: use dpkg-shlibdeps to not uninstall the dependencies of libsimgrid.so
Martin Quinson [Fri, 24 Aug 2018 11:36:05 +0000 (13:36 +0200)]
docker: use dpkg-shlibdeps to not uninstall the dependencies of libsimgrid.so

4 years agodocs: move S4U to its own (sub-)page
Martin Quinson [Fri, 24 Aug 2018 08:54:56 +0000 (10:54 +0200)]
docs: move S4U to its own (sub-)page

4 years agodon't test the MSG tuto (was removed)
Martin Quinson [Fri, 24 Aug 2018 08:38:00 +0000 (10:38 +0200)]
don't test the MSG tuto (was removed)

4 years agoadd docs/ to the tarball
Martin Quinson [Fri, 24 Aug 2018 07:52:40 +0000 (09:52 +0200)]
add docs/ to the tarball

4 years agostart removing from doc/ what's converted in docs/
Martin Quinson [Fri, 24 Aug 2018 07:37:27 +0000 (09:37 +0200)]
start removing from doc/ what's converted in docs/

4 years agokill trailing spaces
Martin Quinson [Fri, 24 Aug 2018 00:11:47 +0000 (02:11 +0200)]
kill trailing spaces

4 years agoexhale: Don't run doxygen each time
Martin Quinson [Fri, 24 Aug 2018 00:09:02 +0000 (02:09 +0200)]
exhale: Don't run doxygen each time

4 years agodoc s4u: finish the 'Main Concepts' section
Martin Quinson [Thu, 23 Aug 2018 23:39:10 +0000 (01:39 +0200)]
doc s4u: finish the 'Main Concepts' section

4 years agotravis updated osx environment last month
degomme [Fri, 24 Aug 2018 07:50:02 +0000 (09:50 +0200)]
travis updated osx environment last month

4 years agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Thu, 23 Aug 2018 22:05:49 +0000 (00:05 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

4 years agodocs: start writing the S4U part
Martin Quinson [Thu, 23 Aug 2018 21:07:40 +0000 (23:07 +0200)]
docs: start writing the S4U part

4 years agofurther replace using statements with typedef ones to please sphinx
Martin Quinson [Thu, 23 Aug 2018 11:13:13 +0000 (13:13 +0200)]
further replace using statements with typedef ones to please sphinx

4 years agosphinx-compatible declaration of s4u::ActorPtr and co
Martin Quinson [Thu, 23 Aug 2018 11:00:11 +0000 (13:00 +0200)]
sphinx-compatible declaration of s4u::ActorPtr and co

4 years agodocker: further reduce the images' sizes
Martin Quinson [Thu, 23 Aug 2018 10:58:28 +0000 (12:58 +0200)]
docker: further reduce the images' sizes

4 years agothis is needed also with clang
Augustin Degomme [Thu, 23 Aug 2018 09:42:01 +0000 (11:42 +0200)]
this is needed also with clang

4 years agodocker: Try to reduce the image sizes
Martin Quinson [Thu, 23 Aug 2018 08:13:58 +0000 (10:13 +0200)]
docker: Try to reduce the image sizes

4 years agodocker build-deps: also install the sphinx dependencies
Martin Quinson [Thu, 23 Aug 2018 07:54:17 +0000 (09:54 +0200)]
docker build-deps: also install the sphinx dependencies

4 years agodocker: new simgrid/build-deps image, and use it on gitlab-ci/circleci
Martin Quinson [Thu, 23 Aug 2018 07:38:00 +0000 (09:38 +0200)]
docker: new simgrid/build-deps image, and use it on gitlab-ci/circleci

4 years agouser manual: create the page, and fiddle with the graphical TOC
Martin Quinson [Thu, 23 Aug 2018 00:50:10 +0000 (02:50 +0200)]
user manual: create the page, and fiddle with the graphical TOC

4 years agodocs: start the user manual, and rephrase some parts of the intro
Martin Quinson [Wed, 22 Aug 2018 22:38:14 +0000 (00:38 +0200)]
docs: start the user manual, and rephrase some parts of the intro

4 years agotuto-s4u: explain how to use Docker
Martin Quinson [Wed, 22 Aug 2018 21:20:17 +0000 (23:20 +0200)]
tuto-s4u: explain how to use Docker

4 years agogitlab-ci: disable MC tests, as they get SIGIOT on that platform
Martin Quinson [Wed, 22 Aug 2018 20:57:09 +0000 (22:57 +0200)]
gitlab-ci: disable MC tests, as they get SIGIOT on that platform

4 years agoRevert "Avoid installing stuff under /usr/includes4u/"
Martin Quinson [Wed, 22 Aug 2018 20:44:16 +0000 (22:44 +0200)]
Revert "Avoid installing stuff under /usr/includes4u/"

With this commit, it now work with CMAKE_INSTALL_PREFIX=/usr but does
not seem to work anymore with CMAKE_INSTALL_PREFIX=/usr/ that was used
earlier. So, move back to the previous bug until we find a solution
working in both cases.

This reverts commit 444729e5a96f255d25524754cf0b6c11a057e6b6.

4 years agodocker: put our sources under /src
Martin Quinson [Wed, 22 Aug 2018 20:44:00 +0000 (22:44 +0200)]
docker: put our sources under /src

4 years agotuto-s4u: prefer R to Vite, and explain beforehand that C++
Martin Quinson [Wed, 22 Aug 2018 14:18:45 +0000 (16:18 +0200)]
tuto-s4u: prefer R to Vite, and explain beforehand that C++

4 years agocomment a broken test
Martin Quinson [Wed, 22 Aug 2018 14:05:55 +0000 (16:05 +0200)]
comment a broken test

We'd need unit testing, not integration testing, to understand such hairly issues in surf_solve()
Sorry for giving up.