mirror of
https://github.com/Z3Prover/z3
synced 2026-02-23 08:47:37 +00:00
fix assertion violation in the code path where the simplifier throws a memout exception
This commit is contained in:
parent
31d4ba0009
commit
076d3dbf13
3 changed files with 6 additions and 1 deletions
|
|
@ -89,7 +89,7 @@ namespace sat {
|
|||
|
||||
solver::~solver() {
|
||||
m_ext = nullptr;
|
||||
SASSERT(m_config.m_num_threads > 1 || m_trim || check_invariant());
|
||||
SASSERT(m_config.m_num_threads > 1 || m_trim || rlimit().is_canceled() || check_invariant());
|
||||
CTRACE("sat", !m_clauses.empty(), tout << "Delete clauses\n";);
|
||||
del_clauses(m_clauses);
|
||||
CTRACE("sat", !m_learned.empty(), tout << "Delete learned\n";);
|
||||
|
|
@ -3872,6 +3872,8 @@ namespace sat {
|
|||
// -----------------------
|
||||
bool solver::check_invariant() const {
|
||||
if (!m_rlimit.inc()) return true;
|
||||
if (m_simplifier.need_cleanup())
|
||||
return true;
|
||||
integrity_checker checker(*this);
|
||||
VERIFY(checker());
|
||||
VERIFY(!m_ext || m_ext->validate());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue