Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Revert "Revalidate tesh files now that safety checking is based on reforks"
[simgrid.git] / examples / sthread / pthread-mc-mutex-simpledeadlock.tesh
1
2 # This test raises a deadlock, thus the return code of 3
3 ! expect return 3
4
5 # We ignore the LD_PRELOAD lines from the expected output because they contain the build path
6 ! ignore .*LD_PRELOAD.*
7
8 $ ${bindir:=.}/../../bin/simgrid-mc --cfg=model-check/setenv:LD_PRELOAD=${libdir:=.}/libsgmalloc.so:${libdir:=.}/libsthread.so ${bindir:=.}/pthread-mutex-simpledeadlock
9 > [0.000000] [sthread/INFO] Starting the simulation.
10 > All threads are started.
11 > [0.000000] [mc_dfs/INFO] Start a DFS exploration. Reduction is: dpor.
12 > The thread 0 is terminating.
13 > The thread 1 is terminating.
14 > User's main is terminating.
15 > The thread 0 is terminating.
16 > The thread 1 is terminating.
17 > User's main is terminating.
18 > The thread 0 is terminating.
19 > The thread 1 is terminating.
20 > User's main is terminating.
21 > [0.000000] [mc_global/INFO] **************************
22 > [0.000000] [mc_global/INFO] *** DEADLOCK DETECTED ***
23 > [0.000000] [mc_global/INFO] **************************
24 > [0.000000] [ker_engine/INFO] 3 actors are still running, waiting for something.
25 > [0.000000] [ker_engine/INFO] Legend of the following listing: "Actor <pid> (<name>@<host>): <status>"
26 > [0.000000] [ker_engine/INFO] Actor 1 (main thread@Lilibeth) simcall ActorJoin(pid:2)
27 > [0.000000] [ker_engine/INFO] Actor 2 (thread 1@Lilibeth) simcall MUTEX_WAIT(mutex_id:1 owner:3)
28 > [0.000000] [ker_engine/INFO] Actor 3 (thread 2@Lilibeth) simcall MUTEX_WAIT(mutex_id:0 owner:2)
29 > [0.000000] [mc_global/INFO] Counter-example execution trace:
30 > [0.000000] [mc_global/INFO]   2: MUTEX_ASYNC_LOCK(mutex: 0, owner: 2)
31 > [0.000000] [mc_global/INFO]   2: MUTEX_WAIT(mutex: 0, owner: 2)
32 > [0.000000] [mc_global/INFO]   3: MUTEX_ASYNC_LOCK(mutex: 1, owner: 3)
33 > [0.000000] [mc_global/INFO]   2: MUTEX_ASYNC_LOCK(mutex: 1, owner: 3)
34 > [0.000000] [mc_global/INFO]   3: MUTEX_WAIT(mutex: 1, owner: 3)
35 > [0.000000] [mc_global/INFO]   3: MUTEX_ASYNC_LOCK(mutex: 0, owner: 2)
36 > [0.000000] [mc_global/INFO]   0: 
37 > [0.000000] [mc_Session/INFO] You can debug the problem (and see the whole details) by rerunning out of simgrid-mc with --cfg=model-check/replay:'2;2;3;2;3;3;0'
38 > [0.000000] [mc_dfs/INFO] DFS exploration ended. 38 unique states visited; 4 backtracks (52 transition replays, 11 states visited overall)