+ if (next >= 0) { // Actor is not enabled, then
+ XBT_DEBUG(
+ "Reduction %s wants to execute a disabled transition %s. If it's ODPOR, ReversibleRace is suboptimal.",
+ to_c_str(reduction_mode_), state->get_actors_list().at(next).get_transition()->to_string(true).c_str());
+ if (reduction_mode_ == ReductionMode::odpor) {
+ // Remove the disabled transition from the wakeup tree so that ODPOR doesn't try it again
+ state->remove_subtree_at_aid(next);
+ state->add_sleep_set(state->get_actors_list().at(next).get_transition());
+ } else {
+ xbt_assert(false, "Only ODPOR should be confident enought in itself to try executing a disabled transition");
+ }
+ }