X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/fba44e13f2b2b7fb3f99030e5a59cd1eb721d558..c98615d9dab06a7d902e1c62ddab30d2e90d6f17:/examples/sthread/stdobject/stdobject.tesh diff --git a/examples/sthread/stdobject/stdobject.tesh b/examples/sthread/stdobject/stdobject.tesh index 1ce83ab48d..37d6d250d7 100644 --- a/examples/sthread/stdobject/stdobject.tesh +++ b/examples/sthread/stdobject/stdobject.tesh @@ -4,25 +4,25 @@ # We ignore the LD_PRELOAD lines from the expected output because they contain the build path ! ignore .*LD_PRELOAD.* -$ ${bindir:=.}/../../../bin/simgrid-mc --cfg=model-check/sleep-set:true --cfg=model-check/setenv:LD_PRELOAD=${libdir:=.}/libsgmalloc.so:${libdir:=.}/libsthread.so ${bindir:=.}/stdobject -> [0.000000] [xbt_cfg/INFO] Configuration change: Set 'model-check/sleep-set' to 'true' -> [0.000000] [sthread/INFO] Starting the simulation. +$ ${bindir:=.}/../../../bin/simgrid-mc --cfg=model-check/sleep-set:true --cfg=model-check/setenv:LD_PRELOAD=${libdir:=.}/libsgmalloc.so:${libdir:=.}/libsthread.so ${bindir:=.}/stdobject "--log=root.fmt:[%11.6r]%e(%a@%h)%e%m%n" --log=no_loc +> [ 0.000000] (maestro@) Configuration change: Set 'model-check/sleep-set' to 'true' +> [ 0.000000] (maestro@) Starting the simulation. > starting two helpers... > waiting for helpers to finish... -> [0.000000] [mc_dfs/INFO] Start a DFS exploration. Reduction is: dpor. -> [0.000000] [sthread/INFO] thread 1 takes &v -> [0.000000] [sthread/INFO] thread 1 releases &v -> [0.000000] [sthread/INFO] thread 2 takes &v -> [0.000000] [sthread/INFO] thread 2 releases &v +> [ 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] [sthread/INFO] thread 1 takes &v -> [0.000000] [sthread/INFO] thread 2 takes &v -> [0.000000] ../../src/sthread/ObjectAccess.cpp:87: [sthread/CRITICAL] Unprotected concurent access to &v: thread 1 at ../../examples/sthread/stdobject/stdobject.cpp:20 vs. thread 2 at ../../examples/sthread/stdobject/stdobject.cpp:20. -> [0.000000] [mc_ModelChecker/INFO] ************************** -> [0.000000] [mc_ModelChecker/INFO] *** PROPERTY NOT VALID *** -> [0.000000] [mc_ModelChecker/INFO] ************************** -> [0.000000] [mc_ModelChecker/INFO] Counter-example execution trace: -> [0.000000] [mc_ModelChecker/INFO] 2: BeginObjectAccess(&v @ ../../examples/sthread/stdobject/stdobject.cpp:20) -> [0.000000] [mc_ModelChecker/INFO] 3: BeginObjectAccess(&v @ ../../examples/sthread/stdobject/stdobject.cpp:20) -> [0.000000] [mc_ModelChecker/INFO] 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] [mc_dfs/INFO] DFS exploration ended. 7 unique states visited; 1 backtracks (9 transition replays, 1 states visited overall) +> [ 0.000000] (maestro@) thread 1 takes &v +> [ 0.000000] (maestro@) thread 2 takes &v +> [ 0.000000] (maestro@) Unprotected concurent access to &v: thread 1 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@) 2: BeginObjectAccess(&v) +> [ 0.000000] (maestro@) 3: 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 (9 transition replays, 1 states visited overall)