google / google/gvisor

MADV_REMOVE not supported

Open
#4,900 0 comments 0 reactions 0 assignees View on GitHub
type: enhancement
Dominant language
Go
Stars
19.3k
Forks
2k
Avg merge
3d 5h
Merged PRs (30d)
264

Description

I haven't had time do debug this deeply but noticed that at last one chromium test consistently fails:
```
chromium/src$ sudo runsc --network=none --platform=kvm do ./out/Development/base_unittests --gtest_filter="DiscardableSharedMemoryTest.ZeroFilledPagesAfterPurge"
IMPORTANT DEBUGGING NOTE: batches of tests are run inside their
own process. For debugging a test inside a debugger, use the
--gtest_filter= flag along with
--single-process-tests.
Using sharding settings from environment. This is shard 0/1
Using 1 parallel jobs.
Note: Google Test filter = DiscardableSharedMemoryTest.ZeroFilledPagesAfterPurge
[==========] Running 1 test from 1 test suite.
[----------] Global test environment set-up.
[----------] 1 test from DiscardableSharedMemoryTest
[ RUN ] DiscardableSharedMemoryTest.ZeroFilledPagesAfterPurge
../../base/memory/discardable_shared_memory_unittest.cc:453: Failure
Expected equality of these values:
memcmp(memory2.memory(), expected_data, kDataSize)
Which is: 170
0
Stack trace:
#0 0x55f14b75ce30 base::DiscardableSharedMemoryTest_ZeroFilledPagesAfterPurge_Test::TestBody()

[ FAILED ] DiscardableSharedMemoryTest.ZeroFilledPagesAfterPurge (4 ms)
[----------] 1 test from DiscardableSharedMemoryTest (4 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (5 ms total)
[ PASSED ] 0 tests.
[ FAILED ] 1 test, listed below:
[ FAILED ] DiscardableSharedMemoryTest.ZeroFilledPagesAfterPurge

1 FAILED TEST
[1/1] DiscardableSharedMemoryTest.ZeroFilledPagesAfterPurge (4 ms)
1 test failed:
DiscardableSharedMemoryTest.ZeroFilledPagesAfterPurge (../../base/memory/discardable_shared_memory_unittest.cc:422)
Tests took 0 seconds.
```

The test fails on both kvm and ptrace but passes on native linux. The test description:
```
// This test checks that zero-filled pages are returned after purging a segment
// when DISCARDABLE_SHARED_MEMORY_ZERO_FILL_ON_DEMAND_PAGES_AFTER_PURGE is
// defined and MADV_REMOVE is supported.
```

code
https://source.chromium.org/chromium/chromium/src/+/master:base/memory/discardable_shared_memory_unittest.cc;l=418-455?q=DiscardableSharedMemoryTest&ss=chromium

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.