Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
15 months 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

15 months 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.

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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.

15 months 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.

15 months 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

15 months 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.

15 months 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.

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

15 months 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

15 months 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)

15 months 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

15 months 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

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

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

15 months 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

15 months 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

15 months 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

15 months 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()

15 months 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

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

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

15 months 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.

15 months 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)

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

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

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

15 months 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

15 months 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

15 months 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)

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

15 months 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/

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

15 months 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

15 months 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

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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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

15 months 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.

15 months 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

15 months 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++

15 months 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.

15 months agotuto-s4u: explain beforehand what to expect from this content
Martin Quinson [Wed, 22 Aug 2018 14:05:23 +0000 (16:05 +0200)]
tuto-s4u: explain beforehand what to expect from this content

15 months agoDockerfiles to build our nice images
Martin Quinson [Wed, 22 Aug 2018 06:38:56 +0000 (08:38 +0200)]
Dockerfiles to build our nice images

15 months agoAvoid installing stuff under /usr/includes4u/
Martin Quinson [Tue, 21 Aug 2018 14:46:26 +0000 (16:46 +0200)]
Avoid installing stuff under /usr/includes4u/

15 months agogitlab-ci: install the MC dependencies
Martin Quinson [Tue, 21 Aug 2018 11:42:15 +0000 (13:42 +0200)]
gitlab-ci: install the MC dependencies

15 months agoguess what? We need a C++ compiler to test SimGrid
Martin Quinson [Tue, 21 Aug 2018 10:41:27 +0000 (12:41 +0200)]
guess what? We need a C++ compiler to test SimGrid

15 months agoopenjdk cannot install on slim variant of Debian
Martin Quinson [Tue, 21 Aug 2018 10:19:43 +0000 (12:19 +0200)]
openjdk cannot install on slim variant of Debian

See https://github.com/debuerreotype/debuerreotype/issues/10

15 months agoTry to add a working 'test' job to gitlab-ci
Martin Quinson [Tue, 21 Aug 2018 09:58:53 +0000 (11:58 +0200)]
Try to add a working 'test' job to gitlab-ci

15 months agofinish (for now) the S4U tutorial
Martin Quinson [Tue, 21 Aug 2018 09:13:23 +0000 (11:13 +0200)]
finish (for now) the S4U tutorial

15 months agowe need the beta version of sphinx to compile the docs
Martin Quinson [Tue, 21 Aug 2018 07:00:38 +0000 (09:00 +0200)]
we need the beta version of sphinx to compile the docs

15 months agoexhale+doxygen: also parse XBT includes
Martin Quinson [Tue, 21 Aug 2018 06:41:50 +0000 (08:41 +0200)]
exhale+doxygen: also parse XBT includes

15 months agotuto_s4u: cosmetics
Martin Quinson [Tue, 21 Aug 2018 06:31:44 +0000 (08:31 +0200)]
tuto_s4u: cosmetics

15 months agos4u::Exec::wait(): start the tasks on need
Martin Quinson [Tue, 21 Aug 2018 06:20:53 +0000 (08:20 +0200)]
s4u::Exec::wait(): start the tasks on need

15 months agotake the tuto myself, and add how to categorize tasks in S4U
Martin Quinson [Tue, 21 Aug 2018 06:20:10 +0000 (08:20 +0200)]
take the tuto myself, and add how to categorize tasks in S4U

15 months agotuto_s4u: improve part on initial visualization
Martin Quinson [Tue, 21 Aug 2018 04:43:15 +0000 (06:43 +0200)]
tuto_s4u: improve part on initial visualization

15 months agoIgnore another example binary
Martin Quinson [Mon, 20 Aug 2018 22:05:05 +0000 (00:05 +0200)]
Ignore another example binary

15 months agoMore content to the S4U tuto
Martin Quinson [Mon, 20 Aug 2018 22:04:23 +0000 (00:04 +0200)]
More content to the S4U tuto

15 months ago'friend' keyworld is ok for the doc tooling as long as it's fully qualified
Martin Quinson [Sun, 19 Aug 2018 13:11:11 +0000 (15:11 +0200)]
'friend' keyworld is ok for the doc tooling as long as it's fully qualified

See https://github.com/sphinx-doc/sphinx/issues/5316

15 months agodocument another s4u::Actor method
Martin Quinson [Sat, 18 Aug 2018 11:37:56 +0000 (13:37 +0200)]
document another s4u::Actor method

15 months agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Fri, 17 Aug 2018 23:28:19 +0000 (01:28 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid

15 months agoMark actors as auto_restart when recreating them on restart.
Martin Quinson [Fri, 17 Aug 2018 23:21:12 +0000 (01:21 +0200)]
Mark actors as auto_restart when recreating them on restart.

I guess it often works without it because we restart the actors that
are in the actors_at_boot_ vector, and that list is sufficiently
accurate.

But still, several locations of the code actually look if the actor is
marked auto_restart_ without checking the vector, so it's much better
having redundent information source to contain the same data.

15 months agotuto_s4u: add an exercise about the Mailboxes, and improve related doc
Martin Quinson [Fri, 17 Aug 2018 23:20:26 +0000 (01:20 +0200)]
tuto_s4u: add an exercise about the Mailboxes, and improve related doc

15 months agodocs: rename a file to sort things out
Martin Quinson [Thu, 16 Aug 2018 10:50:19 +0000 (12:50 +0200)]
docs: rename a file to sort things out

15 months agomake examples/s4u/app-masterworkers more complex to make simplification exercises...
Martin Quinson [Thu, 16 Aug 2018 10:40:29 +0000 (12:40 +0200)]
make examples/s4u/app-masterworkers more complex to make simplification exercises more interesting in tuto

15 months agoadd minimal signals to trace Comm
Frederic Suter [Thu, 16 Aug 2018 04:35:25 +0000 (06:35 +0200)]
add minimal signals to trace Comm

15 months agobummer
Frederic Suter [Wed, 15 Aug 2018 23:24:28 +0000 (01:24 +0200)]
bummer

15 months agoadd minimal signals on Exec to trace them
Frederic Suter [Wed, 15 Aug 2018 23:06:27 +0000 (01:06 +0200)]
add minimal signals on Exec to trace them

15 months agoDocument fixed bugs
Martin Quinson [Wed, 15 Aug 2018 08:21:50 +0000 (10:21 +0200)]
Document fixed bugs

15 months agoplug leak
Frederic Suter [Wed, 15 Aug 2018 16:17:39 +0000 (18:17 +0200)]
plug leak

15 months agothe host_that_restart global is now useless
Frederic Suter [Wed, 15 Aug 2018 01:35:19 +0000 (03:35 +0200)]
the host_that_restart global is now useless
can close issue #22

15 months agoauto-restart daemons as daemons (untested)
Frederic Suter [Wed, 15 Aug 2018 00:43:37 +0000 (02:43 +0200)]
auto-restart daemons as daemons (untested)

15 months agofurther remove boilerplate around std::bind
Martin Quinson [Wed, 15 Aug 2018 00:10:35 +0000 (02:10 +0200)]
further remove boilerplate around std::bind

15 months agodo not reimplement (poorly) std::bind
Martin Quinson [Tue, 14 Aug 2018 23:58:58 +0000 (01:58 +0200)]
do not reimplement (poorly) std::bind

(and move deprecated symbols by the end of this file)

15 months agothis name is not explicit, thus this type is not helping. Thus removing
Martin Quinson [Tue, 14 Aug 2018 23:49:06 +0000 (01:49 +0200)]
this name is not explicit, thus this type is not helping. Thus removing

15 months agoignore another example's binary
Martin Quinson [Tue, 14 Aug 2018 23:43:11 +0000 (01:43 +0200)]
ignore another example's binary

15 months agotypo
Martin Quinson [Tue, 14 Aug 2018 23:07:13 +0000 (01:07 +0200)]
typo

15 months agomake the code of an s4u::actor copyiable in all cases to fix autorestart
Martin Quinson [Tue, 14 Aug 2018 23:02:20 +0000 (01:02 +0200)]
make the code of an s4u::actor copyiable in all cases to fix autorestart

15 months agodon't bother with paths and copy the XML
Frederic Suter [Tue, 14 Aug 2018 17:16:01 +0000 (19:16 +0200)]
don't bother with paths and copy the XML

16 months agofix example
Frederic Suter [Mon, 13 Aug 2018 18:40:09 +0000 (20:40 +0200)]
fix example
Have to use MSG deployment file that has the on_failure attribute for
workers

16 months agoon actor_restart, add it into the real map, not into a copy of it
Martin Quinson [Mon, 13 Aug 2018 09:08:06 +0000 (11:08 +0200)]
on actor_restart, add it into the real map, not into a copy of it

This does not fix it, but uncovers the next failure :(

16 months agoVariable may be unused.
Arnaud Giersch [Sun, 12 Aug 2018 08:09:45 +0000 (10:09 +0200)]
Variable may be unused.

16 months agofix build
Martin Quinson [Sun, 12 Aug 2018 18:10:48 +0000 (20:10 +0200)]
fix build

16 months agoMerge branch 'master' of github.com:simgrid/simgrid
Martin Quinson [Sun, 12 Aug 2018 17:32:33 +0000 (19:32 +0200)]
Merge branch 'master' of github.com:simgrid/simgrid

16 months agoMerge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid
Martin Quinson [Sun, 12 Aug 2018 16:34:33 +0000 (18:34 +0200)]
Merge branch 'master' of scm.gforge.inria.fr:/gitroot/simgrid/simgrid