-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Testing Infrastructure, Text Search
-
None
-
Fully Compatible
-
v3.4
-
TIG 2017-04-17
-
0
We're seeing memory errors caused by the RLP library itself when running with tcmalloc's debug allocator. This issue with the RLP library is tracked in SERVER-18479.
[MongoDFixture:job2] memory allocation/deallocation mismatch at 0x7eff665d2fe0: allocated with new [] being deallocated with delete
When this issue was encountered in the rlp_language_test C++ unit test, we simply disabled it when running with tcmalloc's debug allocator.
The RLP library has various memory errors that tcmalloc detects in debug builds. When TCMalloc detects an error it will log the error, and call abort() while holding a spinlock. Our abort handler prints stack traces by calling backtrace() and this function needs to allocate memory on most architectures. This memory allocation will thus cause a deadlock in the spinlock since the spinlock is not recursive.
- is related to
-
SERVER-18479 Clang Address Sanitizer errors with RLP 7.11.1 on Linux x64
- Closed
-
SERVER-26130 RLP memory errors cause deadlock in unittests
- Closed