Skip to content

Commit ab4385b

Browse files
committed
Add suppressions for NodeJS and address sanitizer.
1 parent f595099 commit ab4385b

File tree

1 file changed

+20
-0
lines changed

1 file changed

+20
-0
lines changed

source/tests/sanitizer/tsan.supp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,26 @@ race:v8::platform::DefaultJobState::~DefaultJobState
2121
race:v8::internal::ScavengerCollector::JobTask::~JobTask
2222
race:heap::base::Worklist<std::pair<v8::internal::HeapObject, int>, (unsigned short)256>::Local::Pop(std::pair<v8::internal::HeapObject, int>*)
2323
#
24+
# After version 108, NodeJS has started to fail without stack trace, for example:
25+
#
26+
# WARNING: ThreadSanitizer: data race (pid=5179)
27+
# Write of size 8 at 0x723000007538 by thread T4:
28+
# #0 operator delete(void*, unsigned long) ../../../../src/libsanitizer/tsan/tsan_new_delete.cpp:150 (libtsan.so.2+0x9b42b) (BuildId: f23ac1bd2939198f3fef776fd2a1312e536dcf1b)
29+
# #1 <null> <null> (libnode.so.109+0xdb8fa9) (BuildId: fa61d14d9def07b0f94f901c16a182f9e3a944ae)
30+
#
31+
# Now if we use addr2line:
32+
#
33+
# addr2line -f -e /lib/x86_64-linux-gnu/libnode.so.109 0xdb8fa9
34+
# _ZN2v88platform16DefaultJobWorkerD0Ev
35+
# ??:?
36+
#
37+
# The symbols are exactly the same of the well known suppressions already listed before
38+
# I have tried compiling NodeJS with thread sanitizer support and also using llvm-symbolizer
39+
# but I had no luck making those symbols work in the last stack traces, so for now.. I am going
40+
# to suppress all data races from NodeJS in order to avoid false positives.
41+
#
42+
race:libnode*
43+
#
2444
# Ruby
2545
#
2646
#called_from_lib:libruby*

0 commit comments

Comments
 (0)