Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
simgrid.git
2 years agoDeprecate sg_host_dump.
Arnaud Giersch [Fri, 18 Feb 2022 09:32:14 +0000 (10:32 +0100)]
Deprecate sg_host_dump.

It's unused since the removal of the simdag examples.

2 years agoFix xbt_log_appender when there is no percent in template.
Arnaud Giersch [Fri, 18 Feb 2022 09:25:24 +0000 (10:25 +0100)]
Fix xbt_log_appender when there is no percent in template.

2 years agoGive the comm to {Send,Recv}Transition, as CommDet needs it
Martin Quinson [Fri, 18 Feb 2022 00:25:50 +0000 (01:25 +0100)]
Give the comm to {Send,Recv}Transition, as CommDet needs it

2 years agoCommDet: preparatory cosmetics
Martin Quinson [Thu, 17 Feb 2022 23:22:32 +0000 (00:22 +0100)]
CommDet: preparatory cosmetics

inline a few functions and move some small things around.

2 years agoCommDet: inline a function (+cosmetics)
Martin Quinson [Thu, 17 Feb 2022 23:06:33 +0000 (00:06 +0100)]
CommDet: inline a function (+cosmetics)

2 years agoPylint docs/source/tuto_s4u/*.py.
Arnaud Giersch [Thu, 17 Feb 2022 15:02:16 +0000 (16:02 +0100)]
Pylint docs/source/tuto_s4u/*.py.

2 years agoPylint teshsuite/*.py.
Arnaud Giersch [Thu, 17 Feb 2022 14:54:36 +0000 (15:54 +0100)]
Pylint teshsuite/*.py.

2 years agoPylint examples/*.py.
Arnaud Giersch [Thu, 17 Feb 2022 14:40:05 +0000 (15:40 +0100)]
Pylint examples/*.py.

2 years agoPylint docs/find-missing.py, src/simix/simcalls.py.
Arnaud Giersch [Thu, 17 Feb 2022 13:31:38 +0000 (14:31 +0100)]
Pylint docs/find-missing.py, src/simix/simcalls.py.

2 years agoPylint tesh.py.
Arnaud Giersch [Wed, 16 Feb 2022 22:44:39 +0000 (23:44 +0100)]
Pylint tesh.py.

2 years agomist. (fix gcc MC builds)
Martin Quinson [Thu, 17 Feb 2022 09:56:42 +0000 (10:56 +0100)]
mist. (fix gcc MC builds)

2 years agoFurther isolate CommDet in its own file
Martin Quinson [Wed, 16 Feb 2022 21:38:52 +0000 (22:38 +0100)]
Further isolate CommDet in its own file

2 years agoCommDet shall become an extension of the SafetyChecker
Martin Quinson [Tue, 15 Feb 2022 08:42:55 +0000 (09:42 +0100)]
CommDet shall become an extension of the SafetyChecker

2 years agomake mc::State extendable so that CommDet does not polute it in any case
Martin Quinson [Tue, 15 Feb 2022 08:04:50 +0000 (09:04 +0100)]
make mc::State extendable so that CommDet does not polute it in any case

2 years agoUse type 'bool' for boolean variables.
Arnaud Giersch [Wed, 16 Feb 2022 21:23:55 +0000 (22:23 +0100)]
Use type 'bool' for boolean variables.

2 years agoAdd basic check for failures in deserialization.
Arnaud Giersch [Wed, 16 Feb 2022 18:20:54 +0000 (19:20 +0100)]
Add basic check for failures in deserialization.

2 years agoUse bounds checking method array::at().
Arnaud Giersch [Wed, 16 Feb 2022 15:25:23 +0000 (16:25 +0100)]
Use bounds checking method array::at().

2 years agoBlank lines (codefactor.io).
Arnaud Giersch [Wed, 16 Feb 2022 15:16:26 +0000 (16:16 +0100)]
Blank lines (codefactor.io).

2 years agoUse C++ std::array (sonar).
Arnaud Giersch [Wed, 16 Feb 2022 14:26:57 +0000 (15:26 +0100)]
Use C++ std::array (sonar).

2 years agoOne less implicit conversion (sonar).
Arnaud Giersch [Wed, 16 Feb 2022 13:51:44 +0000 (14:51 +0100)]
One less implicit conversion (sonar).

2 years agoDon't mix public and private data members (sonar).
Arnaud Giersch [Wed, 16 Feb 2022 11:25:00 +0000 (12:25 +0100)]
Don't mix public and private data members (sonar).

2 years agoWe want to serialize the pointer, not the pointee!
Arnaud Giersch [Tue, 15 Feb 2022 20:06:00 +0000 (21:06 +0100)]
We want to serialize the pointer, not the pointee!

2 years agoIgnore local variables without type in snapshot.
Arnaud Giersch [Tue, 15 Feb 2022 12:48:17 +0000 (13:48 +0100)]
Ignore local variables without type in snapshot.

Makes test 's4u-mc-bugged1-liveness' succeed when built with gcc.

Use '--log=mc_snapshot.thres:verbose' to activate the debug message.
AFAICS, the affected variable is parameter 'code' in simcall_blocking.

Note that I would have preferred to correct the DWARF loading code, but
I couldn't figure out what was missing.

2 years agoKill duplicate function + typos.
Arnaud Giersch [Tue, 15 Feb 2022 10:50:25 +0000 (11:50 +0100)]
Kill duplicate function + typos.

2 years agoReduce code dupplication to please sonar
Martin Quinson [Mon, 14 Feb 2022 19:15:35 +0000 (20:15 +0100)]
Reduce code dupplication to please sonar

2 years agoMake logger mc_compare a subcategory of mc.
Arnaud Giersch [Mon, 14 Feb 2022 09:12:24 +0000 (10:12 +0100)]
Make logger mc_compare a subcategory of mc.

2 years agoRevalidate random-bug-nocrash.tesh.
Arnaud Giersch [Mon, 14 Feb 2022 08:48:20 +0000 (09:48 +0100)]
Revalidate random-bug-nocrash.tesh.

2 years agoRevalidate the tesh output of that test whose reduction is now less efficient for...
Martin Quinson [Sun, 13 Feb 2022 22:36:20 +0000 (23:36 +0100)]
Revalidate the tesh output of that test whose reduction is now less efficient for some reason

2 years agoImplement WaitAnyTransition
Martin Quinson [Sun, 13 Feb 2022 21:19:46 +0000 (22:19 +0100)]
Implement WaitAnyTransition

2 years agobetter name
Martin Quinson [Sun, 13 Feb 2022 11:39:14 +0000 (12:39 +0100)]
better name

2 years agoSonar fixes
Martin Quinson [Sun, 13 Feb 2022 11:15:01 +0000 (12:15 +0100)]
Sonar fixes

- Pass the constructor parameters to the ancestor (!)
- Make some stuff const
- don't overuse initializer list of constructors for stuff that can be
  initialized in the class
- Kill dead code
- 'auto' instead of redundent type
- true/false instead of 1/0
- Also inline a useless function

2 years agoFix MC builds with gcc12 (and make the serialization more robust)
Martin Quinson [Sun, 13 Feb 2022 10:24:24 +0000 (11:24 +0100)]
Fix MC builds with gcc12 (and make the serialization more robust)

2 years agoImplement TestAnyTransition
Martin Quinson [Sat, 12 Feb 2022 22:29:21 +0000 (23:29 +0100)]
Implement TestAnyTransition

2 years agoSimplify the serialization protocol to implement TestAny & WaitAny in a moment
Martin Quinson [Sat, 12 Feb 2022 18:10:43 +0000 (19:10 +0100)]
Simplify the serialization protocol to implement TestAny & WaitAny in a moment

2 years agoimplement CommTestTransition
Martin Quinson [Sat, 12 Feb 2022 15:36:42 +0000 (16:36 +0100)]
implement CommTestTransition

2 years agoFix MC gcc builds :(
Martin Quinson [Sat, 12 Feb 2022 13:05:50 +0000 (14:05 +0100)]
Fix MC gcc builds :(

2 years agofix build
Augustin Degomme [Sat, 12 Feb 2022 12:20:59 +0000 (13:20 +0100)]
fix build

2 years agoMove dot_label() from Observer to Transition (+ some reorgs)
Martin Quinson [Sat, 12 Feb 2022 11:30:10 +0000 (12:30 +0100)]
Move dot_label() from Observer to Transition (+ some reorgs)

2 years agoSimcallObservers don't need to be cloned anymore
Martin Quinson [Sat, 12 Feb 2022 10:33:33 +0000 (11:33 +0100)]
SimcallObservers don't need to be cloned anymore

2 years agoImprove the final stats reported by SafetyChecker, and revalidate tesh files
Martin Quinson [Sat, 12 Feb 2022 10:17:46 +0000 (11:17 +0100)]
Improve the final stats reported by SafetyChecker, and revalidate tesh files

2 years agoFix more sonar things
Martin Quinson [Sat, 12 Feb 2022 09:46:45 +0000 (10:46 +0100)]
Fix more sonar things

2 years agoBetter fix for the security warning from sonar: hide the char* buffer
Martin Quinson [Sat, 12 Feb 2022 09:36:00 +0000 (10:36 +0100)]
Better fix for the security warning from sonar: hide the char* buffer

2 years agoFix the security hotspots of sonar
Martin Quinson [Sat, 12 Feb 2022 08:41:39 +0000 (09:41 +0100)]
Fix the security hotspots of sonar

2 years agoRevalidate the tesh of some working MC tests
Martin Quinson [Fri, 11 Feb 2022 23:43:22 +0000 (00:43 +0100)]
Revalidate the tesh of some working MC tests

2 years agoRevalidate the tesh of the mc-bugged1 test, which output changed but is working
Martin Quinson [Fri, 11 Feb 2022 23:35:23 +0000 (00:35 +0100)]
Revalidate the tesh of the mc-bugged1 test, which output changed but is working

2 years agoFix the depends of iSend/iRecv vs. WaitComm to fix the bugged2 example
Martin Quinson [Fri, 11 Feb 2022 23:26:41 +0000 (00:26 +0100)]
Fix the depends of iSend/iRecv vs. WaitComm to fix the bugged2 example

2 years agoCommWaitTransition mailbox is now valid
Martin Quinson [Fri, 11 Feb 2022 23:13:47 +0000 (00:13 +0100)]
CommWaitTransition mailbox is now valid

2 years agoImplement the RandomTransition
Martin Quinson [Fri, 11 Feb 2022 22:21:08 +0000 (23:21 +0100)]
Implement the RandomTransition

2 years agoRemove the hostnames from the CommDet patterns: MC does not have this info anymore
Martin Quinson [Fri, 11 Feb 2022 21:28:42 +0000 (22:28 +0100)]
Remove the hostnames from the CommDet patterns: MC does not have this info anymore

2 years agoMC: one simplification step
Martin Quinson [Fri, 11 Feb 2022 21:20:57 +0000 (22:20 +0100)]
MC: one simplification step

2 years agoMake sure that the last stack element is set when an assertion failure occures
Martin Quinson [Fri, 11 Feb 2022 21:13:16 +0000 (22:13 +0100)]
Make sure that the last stack element is set when an assertion failure occures

2 years agoNo need to save the observers on the App side now that they are serialized over
Martin Quinson [Fri, 11 Feb 2022 21:06:09 +0000 (22:06 +0100)]
No need to save the observers on the App side now that they are serialized over

2 years agoInline another stupid function
Martin Quinson [Fri, 11 Feb 2022 20:47:52 +0000 (21:47 +0100)]
Inline another stupid function

2 years agoObjectification of mc::RecordTrace
Martin Quinson [Fri, 11 Feb 2022 20:42:46 +0000 (21:42 +0100)]
Objectification of mc::RecordTrace

2 years agoStop copying transitions around since that would shorten the virtual methods
Martin Quinson [Fri, 11 Feb 2022 20:13:06 +0000 (21:13 +0100)]
Stop copying transitions around since that would shorten the virtual methods

2 years agoInline another useless function in MC and a define symbol
Martin Quinson [Fri, 11 Feb 2022 19:47:03 +0000 (20:47 +0100)]
Inline another useless function in MC and a define symbol

2 years agoStart moving classes into the mc/api directory
Martin Quinson [Fri, 11 Feb 2022 18:27:29 +0000 (19:27 +0100)]
Start moving classes into the mc/api directory

2 years agoInline a function of mc::api
Martin Quinson [Fri, 11 Feb 2022 18:04:48 +0000 (19:04 +0100)]
Inline a function of mc::api

2 years agofix MC despite clang-format sorting the headers alphabetically while I would prefer...
Martin Quinson [Fri, 11 Feb 2022 17:01:25 +0000 (18:01 +0100)]
fix MC despite clang-format sorting the headers alphabetically while I would prefer not to

2 years agoFix builds with/without MC and with/without clang (hopefully)
Martin Quinson [Fri, 11 Feb 2022 15:54:52 +0000 (16:54 +0100)]
Fix builds with/without MC and with/without clang (hopefully)

2 years agoPrepare to debug the depends
Martin Quinson [Fri, 11 Feb 2022 10:28:26 +0000 (11:28 +0100)]
Prepare to debug the depends

2 years agoMC does not need the exact value of the timeout, only where a timeout was specified
Martin Quinson [Fri, 11 Feb 2022 10:21:20 +0000 (11:21 +0100)]
MC does not need the exact value of the timeout, only where a timeout was specified

2 years agodon't use char* for pointers that shall be serialized with >>
Martin Quinson [Fri, 11 Feb 2022 10:16:29 +0000 (11:16 +0100)]
don't use char* for pointers that shall be serialized with >>

2 years agoPass the depends() from the observer to the mc::Transition for CommWait, Send and...
Martin Quinson [Fri, 11 Feb 2022 09:24:40 +0000 (10:24 +0100)]
Pass the depends() from the observer to the mc::Transition for CommWait, Send and Recv

2 years agoBig bang in MC: app's observers are serialized, to become transitions in checker
Martin Quinson [Fri, 11 Feb 2022 00:48:24 +0000 (01:48 +0100)]
Big bang in MC: app's observers are serialized, to become transitions in checker

Instead of interacting with the observers over the network, we now
transfer over the wire (a simplified copy of) the observer to the
checker.

This was necessary because the lifetime of the Observer (or of its
components) was sometimes too short: it happened that the Actor
refered to by the Observer was not existing anymore at the end of the
simulation when the depend relation was evaluated. Or something like
that, I'm not sure.

Another argument for this change was that UDPOR reduction sometimes
need to evaluate the dependency between transitions that are not in
the same history (in the same run of the application), so we really
need to carry the transition over to let them live in the checker.

Note that we are not copying every information of the observer over,
only the ones that are relevant to the model-checker.

Finally, this change is still ongoing:
 - not all observers are serialized over the wire yet
 - the depends() are not implemented in the Transition yet
 - the network protocol is utterly inefficient, and we probably need
   to move to FlatBuffer or something like that.
 - a lot of dead code remains

Sorry for the mess, it's progressing rather slowly...

2 years ago[pvs] Try to fix exclusions for parserPromela.tab.cacc.
Arnaud Giersch [Thu, 10 Feb 2022 10:54:05 +0000 (11:54 +0100)]
[pvs] Try to fix exclusions for parserPromela.tab.cacc.

2 years ago[pvs] Don't let members uninitialized.
Arnaud Giersch [Thu, 10 Feb 2022 09:38:32 +0000 (10:38 +0100)]
[pvs] Don't let members uninitialized.

2 years agoAnother pointer-to-const.
Arnaud Giersch [Thu, 10 Feb 2022 08:29:03 +0000 (09:29 +0100)]
Another pointer-to-const.

2 years agopointer2const4sonar
Arnaud Giersch [Wed, 9 Feb 2022 12:55:02 +0000 (13:55 +0100)]
pointer2const4sonar

2 years agoForward all the parameters to the observer.
Arnaud Giersch [Wed, 9 Feb 2022 12:12:52 +0000 (13:12 +0100)]
Forward all the parameters to the observer.

2 years agoFix memory leak with ns3 routing tables.
Arnaud Giersch [Tue, 8 Feb 2022 21:46:37 +0000 (22:46 +0100)]
Fix memory leak with ns3 routing tables.

2 years agoLeak--.
Arnaud Giersch [Tue, 8 Feb 2022 15:50:32 +0000 (16:50 +0100)]
Leak--.

2 years agoAvoid shadowed declarations.
Arnaud Giersch [Tue, 8 Feb 2022 14:52:52 +0000 (15:52 +0100)]
Avoid shadowed declarations.

2 years agoKill useless call to get_init().
Arnaud Giersch [Tue, 8 Feb 2022 14:48:04 +0000 (15:48 +0100)]
Kill useless call to get_init().

2 years agoUpdate .mailmap [ci-skip].
Arnaud Giersch [Mon, 7 Feb 2022 16:00:18 +0000 (17:00 +0100)]
Update .mailmap [ci-skip].

2 years agoReduce scope for variables.
Arnaud Giersch [Wed, 2 Feb 2022 11:21:13 +0000 (12:21 +0100)]
Reduce scope for variables.

2 years agosimplify calls to CommImpl::isend and CommImpl::irecv
SUTER Frederic [Tue, 8 Feb 2022 10:57:07 +0000 (11:57 +0100)]
simplify calls to CommImpl::isend and CommImpl::irecv

2 years ago[sonar] constify
SUTER Frederic [Tue, 8 Feb 2022 10:12:05 +0000 (11:12 +0100)]
[sonar] constify

2 years agoFast path: don't check the dependency between null observers: it's dependent
Martin Quinson [Mon, 7 Feb 2022 14:15:24 +0000 (15:15 +0100)]
Fast path: don't check the dependency between null observers: it's dependent

2 years agoUnify the way we count expended states between checkers
Martin Quinson [Mon, 7 Feb 2022 11:10:06 +0000 (12:10 +0100)]
Unify the way we count expended states between checkers

2 years agoDefine and use a Transition::to_cstring()
Martin Quinson [Mon, 7 Feb 2022 09:43:07 +0000 (10:43 +0100)]
Define and use a Transition::to_cstring()

2 years agoMove Transition::execute() to State::execute_next()
Martin Quinson [Mon, 7 Feb 2022 09:38:40 +0000 (10:38 +0100)]
Move Transition::execute() to State::execute_next()

2 years agoMake State::transition_ private
Martin Quinson [Mon, 7 Feb 2022 09:18:34 +0000 (10:18 +0100)]
Make State::transition_ private

2 years agoMove the selection of the next transition to execute to mc::State
Martin Quinson [Mon, 7 Feb 2022 08:55:04 +0000 (09:55 +0100)]
Move the selection of the next transition to execute to mc::State

2 years agoMake Liveness and CommDet more similar to Safety
Martin Quinson [Mon, 7 Feb 2022 01:34:34 +0000 (02:34 +0100)]
Make Liveness and CommDet more similar to Safety

2 years agoMC: inline a function
Martin Quinson [Mon, 7 Feb 2022 01:24:00 +0000 (02:24 +0100)]
MC: inline a function

2 years agoAutomatize the computation of executed_transitions_
Martin Quinson [Mon, 7 Feb 2022 00:30:45 +0000 (01:30 +0100)]
Automatize the computation of executed_transitions_

2 years agoMove request_execute and request_to_string from api::get() to Transition
Martin Quinson [Mon, 7 Feb 2022 00:18:19 +0000 (01:18 +0100)]
Move request_execute and request_to_string from api::get() to Transition

2 years agoKill a now unused parameter
Martin Quinson [Sun, 6 Feb 2022 23:56:06 +0000 (00:56 +0100)]
Kill a now unused parameter

2 years agoMC: Trade less use of executed_req for more network messages
Martin Quinson [Sun, 6 Feb 2022 23:51:27 +0000 (00:51 +0100)]
MC: Trade less use of executed_req for more network messages

We go through the network to find the string and dot representations
of transitions even when there is no observer

2 years agoMC: simplification: this function shall return a boolean
Martin Quinson [Sun, 6 Feb 2022 22:45:45 +0000 (23:45 +0100)]
MC: simplification: this function shall return a boolean

Its return value was already set to state as a side effect anyway

2 years agoLet's use bool for booleans
Martin Quinson [Sun, 6 Feb 2022 22:23:55 +0000 (23:23 +0100)]
Let's use bool for booleans

2 years agoMC: Inline and simplify a function
Martin Quinson [Sun, 6 Feb 2022 22:17:54 +0000 (23:17 +0100)]
MC: Inline and simplify a function

2 years agoMC: kill an unused function
Martin Quinson [Sun, 6 Feb 2022 21:50:36 +0000 (22:50 +0100)]
MC: kill an unused function

2 years agoFix error 404 for grey.png with recent jenkins [ci-skip].
Arnaud Giersch [Mon, 7 Feb 2022 11:19:36 +0000 (12:19 +0100)]
Fix error 404 for grey.png with recent jenkins [ci-skip].

2 years agoenforce simcall order as before to check dependencies (Isend, Irecv, Wait)
SUTER Frederic [Sun, 6 Feb 2022 11:56:37 +0000 (12:56 +0100)]
enforce simcall order as before to check dependencies (Isend, Irecv, Wait)

2 years agofix isend/irecv to string
SUTER Frederic [Sun, 6 Feb 2022 11:43:41 +0000 (12:43 +0100)]
fix isend/irecv to string

2 years agotest and testany are non blocking simcalls
SUTER Frederic [Sun, 6 Feb 2022 10:59:09 +0000 (11:59 +0100)]
test and testany are non blocking simcalls

2 years agokill unused function
SUTER Frederic [Sat, 5 Feb 2022 18:32:44 +0000 (19:32 +0100)]
kill unused function

2 years agonardin clang (fix clang MC builds)
Martin Quinson [Sun, 6 Feb 2022 08:35:54 +0000 (09:35 +0100)]
nardin clang (fix clang MC builds)