Open melintea opened 1 week ago
I tried your test case from the CDSChecker version on GitHub on Ubuntu Linux. After adding --std=c++11, CDSChecker compiled. Then your test case seemed to run without any issue for me using run.sh. CDSChecker isn't really actively maintained these days by us.
Thank you for looking into. I forgot to mention - my apologies: I am using the master branch,
This change does not trigger the assert. I think it is a safe change but I am really new to the codebase.
$ git diff
diff --git a/execution.cc b/execution.cc
index b90c52f..0c80648 100644
--- a/execution.cc
+++ b/execution.cc
@@ -1084,8 +1084,10 @@ bool ModelExecution::initialize_curr_action(ModelAction **curr)
if ((*curr)->is_rmwr())
newcurr->copy_typeandorder(*curr);
- ASSERT((*curr)->get_location() == newcurr->get_location());
+ ASSERT( ((*curr)->get_location() == newcurr->get_location())
+ || ((*curr)->get_type() == THREAD_START && newcurr->get_type() == THREAD_START)
+ || ((*curr)->get_type() == THREAD_FINISH && newcurr->get_type() == THREAD_FINISH)
+ );
newcurr->copy_from_new(*curr);
/* Discard duplicate ModelAction; use action from NodeStack */
This test code trips the assertion at execution.cc line 1087 Played around with other atomics tests and it the assertion is regularily trigerred.
I do not think it is relevant: Ubuntu, using g++12 and/or clang18