Arnaud Giersch [Tue, 22 Feb 2022 08:01:27 +0000 (09:01 +0100)]
Disable tests failing when debug logs are disabled with enable_debug=OFF.
Martin Quinson [Mon, 21 Feb 2022 23:29:44 +0000 (00:29 +0100)]
doc: add a link from Mailbox::get_init to Comm::set_dst_data
Martin Quinson [Mon, 21 Feb 2022 21:25:55 +0000 (22:25 +0100)]
Rename mc::Checker to mc::Exploration as it defines an exploration algo
Martin Quinson [Sun, 20 Feb 2022 20:50:06 +0000 (21:50 +0100)]
Rename SynchroRawImpl to SynchroImpl
They will soon be made visible in S4U when Mutex::lock_async() and
friends gets implemented. In turn, lock_async() is good for two reasons:
symmetry of lock() with other activities; efficiency of MC reduction
technics (see the thesis of The Anh for details).
Martin Quinson [Sun, 20 Feb 2022 17:49:56 +0000 (18:49 +0100)]
3.31 is expected in 2022, not last year
Martin Quinson [Sun, 20 Feb 2022 14:36:42 +0000 (15:36 +0100)]
Cosmetics in the Release notes + Document recent changes on MC
Martin Quinson [Sun, 20 Feb 2022 10:36:35 +0000 (11:36 +0100)]
Sonar fixes (const, variable shadowing)
SUTER Frederic [Sun, 20 Feb 2022 01:35:17 +0000 (02:35 +0100)]
remove old wait any simcall
Martin Quinson [Sat, 19 Feb 2022 23:58:01 +0000 (00:58 +0100)]
That went ways too far
Martin Quinson [Sat, 19 Feb 2022 23:55:12 +0000 (00:55 +0100)]
Move another function of mc::api, to Transition
Martin Quinson [Sat, 19 Feb 2022 23:39:56 +0000 (00:39 +0100)]
Kill two more unused functions in mc::api
Martin Quinson [Sat, 19 Feb 2022 23:34:50 +0000 (00:34 +0100)]
MC: move a check_deadlock from ModelChecker to Session, and kill cruft in mc::api
Martin Quinson [Sat, 19 Feb 2022 23:13:59 +0000 (00:13 +0100)]
kill ModelChecker::simcall_is_visible()
no need for the checker to check whether a simcall is visible:
invisible simcalls are handled in the AppSide and never show up on the
cheker side.
Martin Quinson [Sat, 19 Feb 2022 23:03:28 +0000 (00:03 +0100)]
Kill Simcall::COMM_WAIT
Martin Quinson [Sat, 19 Feb 2022 20:38:11 +0000 (21:38 +0100)]
Empty a bit mc::api namespace
Martin Quinson [Sat, 19 Feb 2022 18:42:22 +0000 (19:42 +0100)]
Kill Simcall::COMM_RECV, COMM_IRECV, COMM_SEND and COMM_ISEND
Arnaud Giersch [Sat, 19 Feb 2022 14:08:24 +0000 (15:08 +0100)]
Explicit casts for Sonar.
Arnaud Giersch [Fri, 18 Feb 2022 17:28:27 +0000 (18:28 +0100)]
Apparently these asserts are not failing anymore. Uncomment.
Martin Quinson [Sat, 19 Feb 2022 12:09:47 +0000 (13:09 +0100)]
Fix a MC test that seem to be tested on freebsd only. Not sure
Martin Quinson [Sat, 19 Feb 2022 11:33:16 +0000 (12:33 +0100)]
MC: prefer a memleak to a segfault
Martin Quinson [Sat, 19 Feb 2022 10:26:36 +0000 (11:26 +0100)]
MC: the state does not need to have the simcall anymore
Martin Quinson [Sat, 19 Feb 2022 10:05:51 +0000 (11:05 +0100)]
CommDet: Fix memory corruption, and plug some memleaks
Passing local variables by address to lambda's closure does not seem
like a good idea.
Big big thanks to @agiersch for debugging this out.
(some memleaks remain TBD)
Martin Quinson [Sat, 19 Feb 2022 00:21:42 +0000 (01:21 +0100)]
MC: simplification knowing that every visible transitions have an observer
Martin Quinson [Fri, 18 Feb 2022 23:52:50 +0000 (00:52 +0100)]
MC does not need a mc_value_ in the simcall anymore
Martin Quinson [Fri, 18 Feb 2022 23:28:19 +0000 (00:28 +0100)]
Split the Comm observers to their own files
Martin Quinson [Fri, 18 Feb 2022 23:05:13 +0000 (00:05 +0100)]
Split TransitionAny and TransitionRandom to their own files
Martin Quinson [Fri, 18 Feb 2022 22:49:02 +0000 (23:49 +0100)]
Revalidate all SafetyChecker tesh now that the output changed
Martin Quinson [Fri, 18 Feb 2022 22:13:26 +0000 (23:13 +0100)]
Make CommDet a plugin on top of Safety
Martin Quinson [Fri, 18 Feb 2022 20:44:14 +0000 (21:44 +0100)]
Further simplifications in CommDet
Martin Quinson [Fri, 18 Feb 2022 20:23:07 +0000 (21:23 +0100)]
CommDet: detached send should be handled. But how?
Martin Quinson [Fri, 18 Feb 2022 20:10:58 +0000 (21:10 +0100)]
CommDet: Enforce deterministic pattern even during backtrack, to simplify the code
Martin Quinson [Fri, 18 Feb 2022 20:00:46 +0000 (21:00 +0100)]
CommDet: tiny simplification
Martin Quinson [Fri, 18 Feb 2022 19:53:18 +0000 (20:53 +0100)]
Add the MPI tag to the Send/Recv Transitions
Martin Quinson [Fri, 18 Feb 2022 19:21:00 +0000 (20:21 +0100)]
Try to fix the MC build on 32 bits
Martin Quinson [Fri, 18 Feb 2022 18:24:26 +0000 (19:24 +0100)]
Document the fact that MC big bang occured
Martin Quinson [Fri, 18 Feb 2022 18:02:06 +0000 (19:02 +0100)]
MC: no need to read the remote request directly
Martin Quinson [Fri, 18 Feb 2022 15:58:37 +0000 (16:58 +0100)]
CommDet: reimplement on top of transitions. Don't mess with requests anymore
The observer->set_comm() is done during the simcall execution on the
appside, but the transition is serialized before this simcall
execution. I need to fiddle the Checker <-> AppSide protocol, again.
Martin Quinson [Fri, 18 Feb 2022 16:10:54 +0000 (17:10 +0100)]
Have the application execute its transition before returning SIMCALL_EXECUTE_ANSWER
This makes the RPC protocol somewhat more complex, but it's mandatory
to get the updated observer.
This is useful in particular to Isend/Irecv observers that have a
set_comm() field that cannot be set before executing the simcall.
CommDet need that field anyway, so let's change the protocol that way.
Martin Quinson [Fri, 18 Feb 2022 09:11:42 +0000 (10:11 +0100)]
Add getters to the TransitionComm* and TransitionAny*
Martin Quinson [Fri, 18 Feb 2022 07:17:42 +0000 (08:17 +0100)]
sonar fixes
- use uintptr_t instead of void* on the Checker side.
They cannot be dereferenced anyway.
- various small things (const, remove empty statements)
Arnaud Giersch [Fri, 18 Feb 2022 15:05:55 +0000 (16:05 +0100)]
Fix sonar issues in ns3 examples.
Arnaud Giersch [Fri, 18 Feb 2022 13:03:45 +0000 (14:03 +0100)]
Fix sonar issues in ns3 bindings.
Arnaud Giersch [Fri, 18 Feb 2022 10:45:25 +0000 (11:45 +0100)]
Try again to enable ns3 for coverage and sonar [ci-skip].
Arnaud Giersch [Fri, 18 Feb 2022 10:30:10 +0000 (11:30 +0100)]
[experimental] Replace long list of excluded libs with a much shorter whitelist.
For now, exclude any lib which is not libsimgrid.
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.
Arnaud Giersch [Fri, 18 Feb 2022 09:25:24 +0000 (10:25 +0100)]
Fix xbt_log_appender when there is no percent in template.
Martin Quinson [Fri, 18 Feb 2022 00:25:50 +0000 (01:25 +0100)]
Give the comm to {Send,Recv}Transition, as CommDet needs it
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.
Martin Quinson [Thu, 17 Feb 2022 23:06:33 +0000 (00:06 +0100)]
CommDet: inline a function (+cosmetics)
Arnaud Giersch [Thu, 17 Feb 2022 15:02:16 +0000 (16:02 +0100)]
Pylint docs/source/tuto_s4u/*.py.
Arnaud Giersch [Thu, 17 Feb 2022 14:54:36 +0000 (15:54 +0100)]
Pylint teshsuite/*.py.
Arnaud Giersch [Thu, 17 Feb 2022 14:40:05 +0000 (15:40 +0100)]
Pylint examples/*.py.
Arnaud Giersch [Thu, 17 Feb 2022 13:31:38 +0000 (14:31 +0100)]
Pylint docs/find-missing.py, src/simix/simcalls.py.
Arnaud Giersch [Wed, 16 Feb 2022 22:44:39 +0000 (23:44 +0100)]
Pylint tesh.py.
Martin Quinson [Thu, 17 Feb 2022 09:56:42 +0000 (10:56 +0100)]
mist. (fix gcc MC builds)
Martin Quinson [Wed, 16 Feb 2022 21:38:52 +0000 (22:38 +0100)]
Further isolate CommDet in its own file
Martin Quinson [Tue, 15 Feb 2022 08:42:55 +0000 (09:42 +0100)]
CommDet shall become an extension of the SafetyChecker
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
Arnaud Giersch [Wed, 16 Feb 2022 21:23:55 +0000 (22:23 +0100)]
Use type 'bool' for boolean variables.
Arnaud Giersch [Wed, 16 Feb 2022 18:20:54 +0000 (19:20 +0100)]
Add basic check for failures in deserialization.
Arnaud Giersch [Wed, 16 Feb 2022 15:25:23 +0000 (16:25 +0100)]
Use bounds checking method array::at().
Arnaud Giersch [Wed, 16 Feb 2022 15:16:26 +0000 (16:16 +0100)]
Blank lines (codefactor.io).
Arnaud Giersch [Wed, 16 Feb 2022 14:26:57 +0000 (15:26 +0100)]
Use C++ std::array (sonar).
Arnaud Giersch [Wed, 16 Feb 2022 13:51:44 +0000 (14:51 +0100)]
One less implicit conversion (sonar).
Arnaud Giersch [Wed, 16 Feb 2022 11:25:00 +0000 (12:25 +0100)]
Don't mix public and private data members (sonar).
Arnaud Giersch [Tue, 15 Feb 2022 20:06:00 +0000 (21:06 +0100)]
We want to serialize the pointer, not the pointee!
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.
Arnaud Giersch [Tue, 15 Feb 2022 10:50:25 +0000 (11:50 +0100)]
Kill duplicate function + typos.
Martin Quinson [Mon, 14 Feb 2022 19:15:35 +0000 (20:15 +0100)]
Reduce code dupplication to please sonar
Arnaud Giersch [Mon, 14 Feb 2022 09:12:24 +0000 (10:12 +0100)]
Make logger mc_compare a subcategory of mc.
Arnaud Giersch [Mon, 14 Feb 2022 08:48:20 +0000 (09:48 +0100)]
Revalidate random-bug-nocrash.tesh.
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
Martin Quinson [Sun, 13 Feb 2022 21:19:46 +0000 (22:19 +0100)]
Implement WaitAnyTransition
Martin Quinson [Sun, 13 Feb 2022 11:39:14 +0000 (12:39 +0100)]
better name
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
Martin Quinson [Sun, 13 Feb 2022 10:24:24 +0000 (11:24 +0100)]
Fix MC builds with gcc12 (and make the serialization more robust)
Martin Quinson [Sat, 12 Feb 2022 22:29:21 +0000 (23:29 +0100)]
Implement TestAnyTransition
Martin Quinson [Sat, 12 Feb 2022 18:10:43 +0000 (19:10 +0100)]
Simplify the serialization protocol to implement TestAny & WaitAny in a moment
Martin Quinson [Sat, 12 Feb 2022 15:36:42 +0000 (16:36 +0100)]
implement CommTestTransition
Martin Quinson [Sat, 12 Feb 2022 13:05:50 +0000 (14:05 +0100)]
Fix MC gcc builds :(
Augustin Degomme [Sat, 12 Feb 2022 12:20:59 +0000 (13:20 +0100)]
fix build
Martin Quinson [Sat, 12 Feb 2022 11:30:10 +0000 (12:30 +0100)]
Move dot_label() from Observer to Transition (+ some reorgs)
Martin Quinson [Sat, 12 Feb 2022 10:33:33 +0000 (11:33 +0100)]
SimcallObservers don't need to be cloned anymore
Martin Quinson [Sat, 12 Feb 2022 10:17:46 +0000 (11:17 +0100)]
Improve the final stats reported by SafetyChecker, and revalidate tesh files
Martin Quinson [Sat, 12 Feb 2022 09:46:45 +0000 (10:46 +0100)]
Fix more sonar things
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
Martin Quinson [Sat, 12 Feb 2022 08:41:39 +0000 (09:41 +0100)]
Fix the security hotspots of sonar
Martin Quinson [Fri, 11 Feb 2022 23:43:22 +0000 (00:43 +0100)]
Revalidate the tesh of some working MC tests
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
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
Martin Quinson [Fri, 11 Feb 2022 23:13:47 +0000 (00:13 +0100)]
CommWaitTransition mailbox is now valid
Martin Quinson [Fri, 11 Feb 2022 22:21:08 +0000 (23:21 +0100)]
Implement the RandomTransition
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
Martin Quinson [Fri, 11 Feb 2022 21:20:57 +0000 (22:20 +0100)]
MC: one simplification step
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
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
Martin Quinson [Fri, 11 Feb 2022 20:47:52 +0000 (21:47 +0100)]
Inline another stupid function
Martin Quinson [Fri, 11 Feb 2022 20:42:46 +0000 (21:42 +0100)]
Objectification of mc::RecordTrace
Martin Quinson [Fri, 11 Feb 2022 20:13:06 +0000 (21:13 +0100)]
Stop copying transitions around since that would shorten the virtual methods
Martin Quinson [Fri, 11 Feb 2022 19:47:03 +0000 (20:47 +0100)]
Inline another useless function in MC and a define symbol