-
Notifications
You must be signed in to change notification settings - Fork 63
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
Fall back to Z3 4.8.8 on AWSLC/BLST proofs #1775
Conversation
Hm, I need to figure out where the
( |
Ah, this is because I hadn't changed
Ugh. |
I realized something while looking at the entrypoint script for AWSLC: saw-script/s2nTests/scripts/awslc-entrypoint.sh Lines 1 to 13 in f9b6194
Namely, this was never copying over the Z3_URL='https://github.com/Z3Prover/z3/releases/download/z3-4.8.8/z3-4.8.8-x64-ubuntu-16.04.zip'
# ...
# fetch Z3
if [ ! -f bin/z3 ]
then
mkdir -p deps/z3
wget $Z3_URL -O deps/z3.zip
unzip deps/z3.zip -d deps/z3
cp deps/z3/*/bin/z3 bin/z3
fi This is a double whammy: not only was the AWSLC script installing a different version of Z3 than we originally expected (4.8.8), it was installing the Ubuntu 16.04 version! It is a minor miracle that this continued to work for as long as it did. Unfortunately, this PR has demonstrated that using the Ubuntu 22.04 version of Z3 4.8.10 with the AWSLC proofs results in the OOM killer acting up. On the other hand, we have never actually tried the Ubuntu 22.04 version of Z3 4.8.14, so I will push a change that tries out 4.8.14 on the AWSLC proofs. While I was in town, I noticed that the BLST entrypoint script is somewhat overwrought: saw-script/s2nTests/scripts/blst-entrypoint.sh Lines 6 to 10 in f9b6194
This re-downloads the |
Sadly, the OOM killer still activates on the AWSLC proofs even with Z3 4.8.14. I suppose we could try using Z3 4.8.8 next, as that is the Z3 version that is used in |
Well, the AWSLC/BLST proofs passed after downgrading to Z3 4.8.8. Let's see if this is consistent after restarting those jobs a couple of times... |
This updates the `what4-solvers` snapshot to one that includes both Z3 4.8.8 and 4.8.14. While we continue to use 4.8.14 for most CI purposes, we fall back to 4.8.8 specifically when running the AWSLC or BLST proofs, which have been known to nondeterministically time out with those versions. Hopefully, this should resolve our CI woes. This avoids the main issue in #1772, although the underlying cause still has yet to be investigated.
With Z3 4.8.8, the AWSLC and BLST jobs have succeeded on three consecutive runs, which makes me cautiously optimistic. I've rebased everything, and assuming that this successful CI trend continues after this rebase, then I'm declaring victory. |
Hot dog, I think it works! @chameco, does everything look good to you? |
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.
Thanks @RyanGlScott ! LGTM
@Mergifyio refresh |
✅ Pull request refreshed |
This updates the
what4-solvers
snapshot to one that includes both Z3 4.8.8 and 4.8.14. While we continue to use 4.8.14 for most CI purposes, we fall back to 4.8.8 specifically when running the AWSLC or BLST proofs, which have been known to nondeterministically time out with those versions. Hopefully, this should resolve our CI woes.This avoids the main issue in #1772, although the underlying cause still has yet to be investigated.