Commit 0f66552
Update CBMC dependency to 6.10.0 (#4619)
Upgrading to 6.9.0 requires changes as described below. Upgrading from
6.9.0 to 6.10.0 does not require any further changes.
Changes in CBMC's set of static objects require retuning shadow-memory
object-count test: The `unsupported_num_objects` test depends on CBMC's
internal object-ID numbering: it creates N objects and expects the
(N+k)-th object's ID to cross Kani's 1024-object shadow-memory limit.
Newer CBMC allocates one fewer auxiliary object, so the previous N
values (1019 pass / 1020 fail) no longer straddle the limit -- the fail
harness verified successfully instead of failing.
Bump the thresholds by one (1020 pass / 1021 fail) to restore the
boundary, update the explanatory comment, and note that these counts are
sensitive to CBMC's object numbering and may need adjusting on future
CBMC upgrades.
CBMC 6.10 makes the `slow` harness's Display/`to_string` formatting path
far more memory-heavy: the original `"foo"`/unwind(6) version peaks at
~26 GB with Kani's default Cadical solver and deterministically
OOM-kills the 16 GB GitHub-hosted `perf` runner ("runner has received a
shutdown signal"). No solver is both under 16 GB and fast enough
(minisat2/kissat stay ~8 GB but do not finish in >15 min), so the
harness itself must shrink.
Use an empty payload (formatted result `"A."`) and unwind(3) -- the
smallest bound that still fully unrolls the formatting loops. This keeps
peak memory to ~11 GB while still exercising the trait/formatting path
the test guards. Both harnesses verify successfully.
Resolves: #4605
Resolves: #4617
By submitting this pull request, I confirm that my contribution is made
under the terms of the Apache 2.0 and MIT licenses.
---------
Co-authored-by: Kiro <kiro-agent@users.noreply.github.com>1 parent bea7ba4 commit 0f66552
3 files changed
Lines changed: 24 additions & 13 deletions
File tree
- tests
- expected/shadow/unsupported_num_objects
- perf/misc/display_trait/src
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
13 | | - | |
| 12 | + | |
| 13 | + | |
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
17 | 20 | | |
18 | 21 | | |
19 | 22 | | |
| |||
23 | 26 | | |
24 | 27 | | |
25 | 28 | | |
26 | | - | |
| 29 | + | |
27 | 30 | | |
28 | 31 | | |
29 | 32 | | |
| |||
35 | 38 | | |
36 | 39 | | |
37 | 40 | | |
38 | | - | |
| 41 | + | |
39 | 42 | | |
40 | 43 | | |
41 | 44 | | |
42 | 45 | | |
43 | | - | |
| 46 | + | |
44 | 47 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
7 | 15 | | |
8 | 16 | | |
9 | 17 | | |
| |||
23 | 31 | | |
24 | 32 | | |
25 | 33 | | |
26 | | - | |
| 34 | + | |
27 | 35 | | |
28 | | - | |
| 36 | + | |
29 | 37 | | |
30 | 38 | | |
31 | 39 | | |
32 | 40 | | |
33 | | - | |
| 41 | + | |
34 | 42 | | |
35 | 43 | | |
36 | 44 | | |
37 | | - | |
| 45 | + | |
38 | 46 | | |
39 | | - | |
| 47 | + | |
40 | 48 | | |
41 | | - | |
| 49 | + | |
42 | 50 | | |
0 commit comments