continue;
}
- XBT_VERB("Sleep set actually containing:");
- for (auto & [aid, transition] : state->get_sleep_set()) {
-
- XBT_VERB(" <%ld,%s>", aid, transition.to_string().c_str());
+ if (_sg_mc_sleep_set) {
+ XBT_VERB("Sleep set actually containing:");
+ for (auto & [aid, transition] : state->get_sleep_set()) {
+
+ XBT_VERB(" <%ld,%s>", aid, transition.to_string().c_str());
+ }
}
-
/* Actually answer the request: let's execute the selected request (MCed does one step) */
state->execute_next(next);
on_transition_execute_signal(state->get_transition(), get_remote_app());
state->get_transition()->to_string().c_str(), stack_.size(), state->get_num(), state->count_todo());
/* Create the new expanded state (copy the state of MCed into our MCer data) */
- std::__detail::__unique_ptr_t<simgrid::mc::State> next_state;
+ std::unique_ptr<State> next_state;
/* If we want sleep set reduction, pass the old state to the new state so it can
* both copy the sleep set and eventually removes things from it locally */
- if (sleep_set_reduction_)
+ if (_sg_mc_sleep_set)
next_state = std::make_unique<State>(get_remote_app(), state);
else
next_state = std::make_unique<State>(get_remote_app());
backtrack_count_++;
XBT_VERB("Backtracking from %s", get_record_trace().to_string().c_str());
on_backtracking_signal(get_remote_app());
-
get_remote_app().check_deadlock();
/* We may backtrack from somewhere either because it's leaf, or because every enabled process are in done/sleep set.
XBT_DEBUG("Delete state %ld at depth %zu", state->get_num(), stack_.size() + 1);
} else {
- XBT_DEBUG("Back-tracking to state %ld at depth %zu: %ld transitions left to be explored", state->get_num(), stack_.size() + 1, state->count_todo());
+ XBT_DEBUG("Back-tracking to state %ld at depth %zu: %lu transitions left to be explored", state->get_num(),
+ stack_.size() + 1, state->count_todo());
stack_.push_back(std::move(state)); // Put it back on the stack so we can explore the next transition of the interleave
found_backtracking_point = true;
}
else
reduction_mode_ = ReductionMode::none;
- sleep_set_reduction_ = _sg_mc_sleep_set;
-
if (_sg_mc_termination) {
if (with_dpor) {
XBT_INFO("Check non progressive cycles (turning DPOR off)");