Skip to content

Commit ec455d7

Browse files
committed
Fall back to Z3 4.8.8 on AWSLC/BLST proofs
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.
1 parent 727fccb commit ec455d7

File tree

6 files changed

+19
-7
lines changed

6 files changed

+19
-7
lines changed

.github/ci.sh

+6
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,13 @@ zip_dist_with_solvers() {
129129
cp "$BIN/cvc4" dist/bin/
130130
cp "$BIN/yices" dist/bin/
131131
cp "$BIN/yices-smt2" dist/bin/
132+
# Z3 4.8.14 has been known to nondeterministically time out with the AWSLC
133+
# and BLST proofs, so we include both 4.8.8 and 4.8.14 so that we can fall
134+
# back to 4.8.8 (a version known to work with the AWSLC and BLST proofs)
135+
# where necessary. See #1772.
132136
cp "$BIN/z3" dist/bin/
137+
cp "$BIN/z3-4.8.8" dist/bin/
138+
cp "$BIN/z3-4.8.14" dist/bin/
133139
cp -r dist "$sname"
134140
tar -cvzf "$sname".tar.gz "$sname"
135141
}

.github/workflows/ci.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ env:
2424
# ./saw-remote-api/Dockerfile
2525
# ./s2nTests/scripts/blst-entrypoint.sh
2626
# ./s2nTests/docker/saw.dockerfile
27-
SOLVER_PKG_VERSION: "snapshot-20220902"
27+
SOLVER_PKG_VERSION: "snapshot-20221212"
2828

2929
OCAML_VERSION: 4.09.x
3030

s2nTests/scripts/awslc-entrypoint.sh

+4
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ cd /saw-script/aws-lc-verification/SAW
66
rm bin/saw
77
cp /saw-bin/saw bin/saw
88
cp /saw-bin/abc bin/abc
9+
cp /saw-bin/yices bin/yices
10+
# Z3 4.8.14 has been known to nondeterministically time out with the BLST
11+
# proofs, so fall back to 4.8.8 instead. See #1772.
12+
cp /saw-bin/z3-4.8.8 bin/z3
913

1014
export PATH=/saw-script/aws-lc-verification/SAW/bin:$PATH
1115
export CRYPTOLPATH=/saw-script/aws-lc-verification/cryptol-specs

s2nTests/scripts/blst-entrypoint.sh

+6-4
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ set -xe
33

44
cd /workdir
55
./scripts/install.sh
6+
cp /saw-bin/cryptol bin/cryptol
67
cp /saw-bin/saw bin/saw
7-
8-
wget --quiet -O solvers.zip "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20220902/ubuntu-22.04-bin.zip"
9-
(cd bin && unzip -o ../solvers.zip)
10-
chmod +x bin/*
8+
cp /saw-bin/abc bin/abc
9+
cp /saw-bin/yices bin/yices
10+
# Z3 4.8.14 has been known to nondeterministically time out with the BLST
11+
# proofs, so fall back to 4.8.8 instead. See #1772.
12+
cp /saw-bin/z3-4.8.8 bin/z3
1113

1214
export PATH=/workdir/bin:$PATH
1315
export CRYPTOLPATH=/workdir/cryptol-specs:/workdir/spec

saw-remote-api/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ RUN cabal v2-update && cabal v2-build -j exe:saw-remote-api
2828
RUN mkdir -p /home/saw/rootfs/usr/local/bin
2929
RUN cp $(cabal v2-exec which saw-remote-api) /home/saw/rootfs/usr/local/bin/saw-remote-api
3030
WORKDIR /home/saw//rootfs/usr/local/bin
31-
RUN curl -o solvers.zip -sL "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20220902/ubuntu-22.04-bin.zip"
31+
RUN curl -o solvers.zip -sL "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20221212/ubuntu-22.04-bin.zip"
3232
RUN unzip solvers.zip && rm solvers.zip && chmod +x *
3333
USER root
3434
RUN chown -R root:root /home/saw/rootfs

saw/Dockerfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ RUN cabal v2-build
2929
RUN mkdir -p /home/saw/rootfs/usr/local/bin
3030
RUN cp $(cabal v2-exec which saw) /home/saw/rootfs/usr/local/bin/saw
3131
WORKDIR /home/saw//rootfs/usr/local/bin
32-
RUN curl -o solvers.zip -sL "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20220902/ubuntu-22.04-bin.zip"
32+
RUN curl -o solvers.zip -sL "https://github.com/GaloisInc/what4-solvers/releases/download/snapshot-20221212/ubuntu-22.04-bin.zip"
3333
RUN unzip solvers.zip && rm solvers.zip && chmod +x *
3434
USER root
3535
RUN chown -R root:root /home/saw/rootfs

0 commit comments

Comments
 (0)