Open hgvk94 opened 4 years ago
Update:
To reproduce unsoundness issue, run this commit on this instance with the option -tr:spacer.ind_gen
. It should throw an assertion violation inside solver_pool.cpp
. It will dump many benchmarks. The trace file will contain the name of the dumped benchmarks and models for SAT queries.
The dumped benchmark pool_solver_vsolver#1_5.smt2
is an UNSAT instance. If this benchmark is run from the command line, z3 does not terminate. When this benchmark is run from within Spacer, the check-sat-cc
function is called with the assumption (or Inv_ext0_n Inv__tr0 Inv__tr1)
. This call to check-sat-cc
will return SAT with a model that falsifies the assumption clause.
Instance commit Running z3 with default options causes it to either seg fault:
or throw an assertion violation at file: src/ast/ast.cpp, line 3170:
The behaviour change is random. Sometimes, the behaviour change happens when changing random seeds, sometimes it happens when enabling certain traces.
I have also observed unsoundness in the query right before the query which produces this issue. However, I cannot reproduce unsoundness at the moment.