Fix OOM aborts in large-memory ASAN tests on GitHub runners#3263
Conversation
|
(Will retry when the unstable branch daily workflow is fixed) |
sarthakaggarwal97
left a comment
There was a problem hiding this comment.
Will wait for the latest successful run after gtest fixes, but LGTM! Thanks @rainsupreme
136bd25 to
148e43b
Compare
|
Rebased and tested again: https://github.com/rainsupreme/valkey/actions/runs/22528917037/job/65265240022 GCC version says Clang version says |
zuiderkwast
left a comment
There was a problem hiding this comment.
Looks good, though I think 4GiB > 4.1GB
Signed-off-by: Rain Valentine <rsg000@gmail.com>
… runners Signed-off-by: Rain Valentine <rsg000@gmail.com>
Signed-off-by: Rain Valentine <rsg000@gmail.com>
Signed-off-by: Rain Valentine <rsg000@gmail.com>
Signed-off-by: Rain Valentine <rsg000@gmail.com>
148e43b to
2872a9a
Compare
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## unstable #3263 +/- ##
============================================
- Coverage 74.98% 74.90% -0.09%
============================================
Files 129 129
Lines 71551 71551
============================================
- Hits 53654 53593 -61
- Misses 17897 17958 +61 🚀 New features to boost your workflow:
|
Nikhil-Manglore
left a comment
There was a problem hiding this comment.
Nice, thanks for fixing this!
Carries on from where #3161 left off. The test-sanitizer-address-large-memory jobs were being OOM-killed on GitHub-hosted runners (15.6GB RAM) due to ASAN's 2-3x memory overhead. Changes: - Skip 4GB quicklist compression test under ASAN (requires ~16-24GB with dual buffers + ASAN overhead) - Reduce integration test sizes from 5GB to 4.1GB (preserves >4GB 32-bit boundary coverage) - Reduce XADD iterations from 10 to 3 - Add memory monitoring to track minimum free memory during CI runs Signed-off-by: Rain Valentine <rsg000@gmail.com>
Partial cherry-pick of c9ce3e0 from unstable. Applied: list.tcl, set.tcl, violations.tcl (reduce test sizes for CI runners). Skipped: daily.yml (weekly uses unstable's workflow), test_quicklist.cpp (large memory quicklist test doesn't exist on 8.1). Signed-off-by: Sarthak Aggarwal <sarthagg@amazon.com>
Partial cherry-pick of c9ce3e0 from unstable. Applied: list.tcl, set.tcl, violations.tcl (reduce test sizes for CI runners). Skipped: daily.yml, test_quicklist.cpp (not applicable to 8.0). Signed-off-by: Sarthak Aggarwal <sarthagg@amazon.com>
Partial cherry-pick of c9ce3e0 from unstable. Applied: list.tcl, set.tcl, violations.tcl (reduce test sizes for CI runners). Skipped: daily.yml (weekly uses unstable's workflow), test_quicklist.cpp (large memory quicklist test doesn't exist on 8.1). Signed-off-by: Sarthak Aggarwal <sarthagg@amazon.com> (cherry picked from commit 60c86e1)
…o#3263) Carries on from where valkey-io#3161 left off. The test-sanitizer-address-large-memory jobs were being OOM-killed on GitHub-hosted runners (15.6GB RAM) due to ASAN's 2-3x memory overhead. Changes: - Skip 4GB quicklist compression test under ASAN (requires ~16-24GB with dual buffers + ASAN overhead) - Reduce integration test sizes from 5GB to 4.1GB (preserves >4GB 32-bit boundary coverage) - Reduce XADD iterations from 10 to 3 - Add memory monitoring to track minimum free memory during CI runs Signed-off-by: Rain Valentine <rsg000@gmail.com> (cherry picked from commit c9ce3e0)
…o#3263) Carries on from where valkey-io#3161 left off. The test-sanitizer-address-large-memory jobs were being OOM-killed on GitHub-hosted runners (15.6GB RAM) due to ASAN's 2-3x memory overhead. Changes: - Skip 4GB quicklist compression test under ASAN (requires ~16-24GB with dual buffers + ASAN overhead) - Reduce integration test sizes from 5GB to 4.1GB (preserves >4GB 32-bit boundary coverage) - Reduce XADD iterations from 10 to 3 - Add memory monitoring to track minimum free memory during CI runs Signed-off-by: Rain Valentine <rsg000@gmail.com> (cherry picked from commit c9ce3e0)
Carries on from where #3161 left off. The test-sanitizer-address-large-memory jobs were being OOM-killed on GitHub-hosted runners (15.6GB RAM) due to ASAN's 2-3x memory overhead.
Changes:
Results:
Test run: https://github.com/rainsupreme/valkey/actions/runs/22474045103/job/65097138093
Before: ~19GB peak → OOM killed (exceeded 15.6GB)
After: ~12GB peak → 3.6GB free at minimum