# This test raises a property violation, thus the return code of 1 ! expect return 1 # We ignore the LD_PRELOAD lines from the expected output because they contain the build path ! ignore .*LD_PRELOAD.* $ $VALGRIND_NO_TRACE_CHILDREN ${bindir:=.}/../../../bin/simgrid-mc --cfg=model-check/setenv:LD_PRELOAD=${libdir:=.}/libsthread.so ${bindir:=.}/stdobject "--log=root.fmt:[%11.6r]%e(%a@%h)%e%m%n" --log=no_loc > starting two helpers... > waiting for helpers to finish... > [ 0.000000] (maestro@) Start a DFS exploration. Reduction is: dpor. > [ 0.000000] (maestro@) thread 1 takes &v > [ 0.000000] (maestro@) thread 1 releases &v > [ 0.000000] (maestro@) thread 2 takes &v > [ 0.000000] (maestro@) thread 2 releases &v > v = { 1, 2, 3, 5, 8, 13, 21, 21, }; > [ 0.000000] (maestro@) thread 1 takes &v > [ 0.000000] (maestro@) thread 2 takes &v > [ 0.000000] (maestro@) Unprotected concurent access to &v: thread 1 from 1 location vs thread 2 (locations hidden because of --log=no_loc). > [ 0.000000] (maestro@) ************************** > [ 0.000000] (maestro@) *** PROPERTY NOT VALID *** > [ 0.000000] (maestro@) ************************** > [ 0.000000] (maestro@) Counter-example execution trace: > [ 0.000000] (maestro@) Actor 2 in simcall BeginObjectAccess(&v) > [ 0.000000] (maestro@) Actor 3 in simcall BeginObjectAccess(&v) > [ 0.000000] (maestro@) You can debug the problem (and see the whole details) by rerunning out of simgrid-mc with --cfg=model-check/replay:'2;3' > [ 0.000000] (maestro@) DFS exploration ended. 7 unique states visited; 1 backtracks (1 transition replays, 9 states visited overall)