A
lgorithmique
N
umérique
D
istribuée
Public GIT Repository
projects
/
simgrid.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of https://framagit.org/simgrid/simgrid
[simgrid.git]
/
src
/
mc
/
explo
/
DFSExplorer.cpp
diff --git
a/src/mc/explo/DFSExplorer.cpp
b/src/mc/explo/DFSExplorer.cpp
index
033c525
..
d279303
100644
(file)
--- a/
src/mc/explo/DFSExplorer.cpp
+++ b/
src/mc/explo/DFSExplorer.cpp
@@
-136,7
+136,9
@@
void DFSExplorer::run()
const aid_t next = reduction_mode_ == ReductionMode::odpor ? state->next_odpor_transition()
: std::get<0>(state->next_transition_guided());
const aid_t next = reduction_mode_ == ReductionMode::odpor ? state->next_odpor_transition()
: std::get<0>(state->next_transition_guided());
- if (next < 0) { // If there is no more transition in the current state, backtrack.
+ if (next < 0 || not state->is_actor_enabled(next)) {
+ // If there is no more transition in the current state (or if ODPOR picked an actor that is not enabled --
+ // ReversibleRace is an overapproximation), backtrace
XBT_VERB("%lu actors remain, but none of them need to be interleaved (depth %zu).", state->get_actor_count(),
stack_.size() + 1);
XBT_VERB("%lu actors remain, but none of them need to be interleaved (depth %zu).", state->get_actor_count(),
stack_.size() + 1);