-
Notifications
You must be signed in to change notification settings - Fork 45
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
SMTInterpol regression: AssertionError in close #405
Comments
So the problem is in line 220 in the I could not yet determine a way of testing this. @daniel-raffler do you want to try and find a test and possibly a program to send to the SMTInterpol devs if we are not causing this? @PhilippWendler do we need a hotfix version for this? Based on debugging i found that:
|
But that leaks all the memory, wouldn't it? So it only confirms the problem but is not a fix.
If your assumption below about empty pushes is correct, this should be easy to replicate, shouldn't it?
Well, depends. It would certainly be nice if SMTInterpol would be usable in CPAchecker without having to wait for several months or so. |
Yes. But there is API in SMTInterpol for that with
I of course tried this, but it is not that trivial ;D
I guess we can do a release once we sorted this and #406 out. |
I've had a look at it and it seems that the issue has been around for some time. It was introduced in 999c8d5, which moved a lot of the bookkeeping for the assertion stack from the solver backends to their base class
to
Note that the old version is actually broken as I think it should be safe to simply remove the line for now as this will just gets us back to the behavior of JavaSMT 4.0.2 before the version was updated in CPAchecker. There might still be a SMTInterpol bug here, but this will need some more work: The line |
I fixed it using the proper cleanup API of SMTInterpol in 72b0691. I also tested this with CPAchecker and it works fine now. @daniel-raffler if you want to find a minimal example to use as a test you can try. But don't spend to much time on it as it should be fixed for good now. |
With JavaSMT 5.0.0 and SMTInterpol 2.5-1242-g5c50fb6d we get the following crash:
This does not appear always, but in many hundred cases: 1, 2, 3
It seems to be deterministic.
Given that our code just calls
close()
as part of a try-with-resources block, this should be a bug in either JavaSMT or SMTInterpol.The text was updated successfully, but these errors were encountered: