Skip to content
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

Reduce object-bits for test to avoid OOM #3511

Merged
merged 2 commits into from
Sep 9, 2024

Conversation

zhassan-aws
Copy link
Contributor

Kani often runs out of memory on tests/expected/function-contract/history/stub.rs when running the regressions. In particular, quadruple_harness consumes over 9 GB of memory. This PR reduces the object bits for this test to 8 to avoid OOM issues. This brings down memory usage to ~125 MB.

Before:

$ /usr/bin/time -v kani -Zfunction-contracts stub.rs --harness quadruple_harness
        Maximum resident set size (kbytes): 9136036

After:

$ /usr/bin/time -v kani -Zfunction-contracts stub.rs --harness quadruple_harness --enable-unstable --cbmc-args --object-bits 8
...
        Maximum resident set size (kbytes): 125172

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 and MIT licenses.

@zhassan-aws zhassan-aws requested a review from a team as a code owner September 9, 2024 19:00
@zhassan-aws zhassan-aws added this pull request to the merge queue Sep 9, 2024
Merged via the queue into model-checking:main with commit 5f6de6e Sep 9, 2024
27 checks passed
@zhassan-aws zhassan-aws deleted the modify-stub-test branch September 9, 2024 20:58
@celinval
Copy link
Contributor

I wonder if we should tweak with the current default

@zhassan-aws
Copy link
Contributor Author

I tried tweaking the test, but eventually gave up. For example, switching from 32-bit integers to 16 or 8-bits does not decrease the memory usage much.

I'm open to suggestions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants