Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(smt.random_seed=2, trace, smt.dack.eq) Assertion violation at ../src/ast/ast.h Line: 491 (debug) or ../src/ast/ast.cpp Line: 431 (release) #4163

Closed
muchang opened this issue Apr 30, 2020 · 0 comments

Comments

@muchang
Copy link

muchang commented Apr 30, 2020

Hi,
For this case,
Z3 throws out an assertion violation:

[596] % z3 small.smt2
ASSERTION VIOLATION
File: ../src/ast/ast.h
Line: 491
m_ref_count > 0
(C)ontinue, (A)bort, (S)top, (T)hrow exception, Invoke (G)DB
a
[597] % z3release small.smt2
unknown
[598] % z3release small.smt2
unknown
[599] % z3release small.smt2
ASSERTION VIOLATION
File: ../src/ast/ast.cpp
Line: 431
UNREACHABLE CODE WAS REACHED.
Z3 4.8.8.0
Please file an issue with this message and more detail about how you encountered it at https://github.com/Z3Prover/z3/issues/new
[600] % z3san small.smt2
ASSERTION VIOLATION
File: ../src/ast/ast.cpp
Line: 431
UNREACHABLE CODE WAS REACHED.
Z3 4.8.8.0
Please file an issue with this message and more detail about how you encountered it at https://github.com/Z3Prover/z3/issues/new
[601] % z3san small.smt2
ASSERTION VIOLATION
File: ../src/ast/ast.cpp
Line: 431
UNREACHABLE CODE WAS REACHED.
Z3 4.8.8.0
Please file an issue with this message and more detail about how you encountered it at https://github.com/Z3Prover/z3/issues/new
[602] % 
[602] % cat small.smt2
(set-option :smt.random_seed 2)
(set-option :trace true)
(set-option :smt.dack.eq true)
(declare-datatypes ((Lst 0) (Nat 0)) (((cons (a Nat) (tail Lst)) (nil)) ((succ (b Nat)) c)))
(declare-fun len (Lst) Nat)
(declare-fun append (Lst Lst) Lst)
(assert (forall ((x Lst)) (= (append nil x) x)))
(assert (forall ((x Nat) (d Lst) (z Lst)) (= (append (cons x d) z) (cons x (append d z)))))
(assert (not (forall ((x Lst) (d Lst)) (= (len (append x d)) (len (append d x))))))
(check-sat-using qfidl)
[603] %

The assertion violation is flaky for release build.

OS: Ubuntu 18.04
Commit: 9f6a733

hgvk94 pushed a commit to hgvk94/z3 that referenced this issue May 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant