-
Notifications
You must be signed in to change notification settings - Fork 114
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
Resolve Boogie test deadlocks #932
Resolve Boogie test deadlocks #932
Conversation
2c84e82
to
9d5ef3d
Compare
045b5b9
to
2b662ef
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a nice improvement. I saw two tiny things in the tests that might be worth a second look.
Test/prover/cvc5-offline.smt2
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did you mean to check in this file?
Test/test2/Rlimitouts0.bpl
Outdated
@@ -1,5 +1,5 @@ | |||
// We use boogie here because parallel-boogie doesn't work well with -proverLog | |||
// RUN: %boogie -rlimit:800000 -proverLog:"%t.smt2" "%s" | |||
// RUN: %boogie -processTimeLimit:0 -timeLimit:0 -rlimit:800000 -proverLog:"%t.smt2" "%s" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It might be worth having a process time limit here, too, since there's no strict guarantee that Z3 will ever terminate given a resource limit.
@keyboardDrummer : Thanks for digging into the flaky CI issues. I had also noticed these small tests failing in CI with a timeout and had no idea what was going on.
To improve my understanding, could you say a bit more about the bug introduced by my aforementioned PR? |
The fix is in this commit: c79011b |
Changes
CustomStackSizePoolTaskScheduler.cs
, so it now interrupts all its thread instead of joining them. I think this was causing the entire Boogie process to hang after it was finished, causing tests to deadlock.blame-hang-timeout
to thedotnet test
invocation that runs the NUnit tests, which allows identifying which test fails when the unit tests timeout./processTimeLimit
that can be used by tests to let Boogie stop itself after a certain timespan, allowing developers to get a stacktrace of where Boogie was at the point of timeout.QuantifierInstantiationInfo
, which was introduced by [Civl] Improvements to pool-based quantifier instantiation #862.Testing