X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/b99c0d78b25704a61225be8a8b5c47b246afe22a..da9f5f7a90d30639cf0f1dd8f32ce7040c23c72b:/src/mc/checker/SafetyChecker.cpp diff --git a/src/mc/checker/SafetyChecker.cpp b/src/mc/checker/SafetyChecker.cpp index 21855771d7..d81492c80e 100644 --- a/src/mc/checker/SafetyChecker.cpp +++ b/src/mc/checker/SafetyChecker.cpp @@ -147,10 +147,10 @@ void SafetyChecker::run() mc_model_checker->executed_transitions++; - /* Actually answer the request: let the remote process do execute that request */ + /* Actually answer the request: let execute the selected request (MCed does one step) */ this->getSession().execute(state->transition); - /* Create the new expanded state */ + /* Create the new expanded state (copy the state of MCed into our MCer data) */ std::unique_ptr next_state = std::unique_ptr(new simgrid::mc::State(++expandedStatesCount_)); @@ -211,8 +211,8 @@ void SafetyChecker::backtrack() if (reductionMode_ == simgrid::mc::ReductionMode::dpor) { smx_simcall_t req = &state->internal_req; if (req->call == SIMCALL_MUTEX_LOCK || req->call == SIMCALL_MUTEX_TRYLOCK) - xbt_die("Mutex is currently not supported with DPOR, " - "use --cfg=model-check/reduction:none"); + xbt_die("Mutex is currently not supported with DPOR, use --cfg=model-check/reduction:none"); + const smx_actor_t issuer = MC_smx_simcall_get_issuer(req); for (auto i = stack_.rbegin(); i != stack_.rend(); ++i) { simgrid::mc::State* prev_state = i->get(); @@ -233,7 +233,7 @@ void SafetyChecker::backtrack() state->num); } - if (!prev_state->processStates[issuer->pid].isDone()) + if (!prev_state->actorStates[issuer->pid].isDone()) prev_state->interleave(issuer); else XBT_DEBUG("Process %p is in done set", req->issuer); @@ -308,7 +308,9 @@ SafetyChecker::SafetyChecker(Session& session) : Checker(session) if (_sg_mc_termination) XBT_INFO("Check non progressive cycles"); else - XBT_INFO("Check a safety property"); + XBT_INFO("Check a safety property. Reduction is: %s.", + (reductionMode_ == simgrid::mc::ReductionMode::none ? "none": + (reductionMode_ == simgrid::mc::ReductionMode::dpor ? "dpor": "unknown"))); simgrid::mc::session->initialize(); XBT_DEBUG("Starting the safety algorithm");