Chromium unittests crash with the following stack:
[Switching to thread 1 (Thread 559)]#0 0x0000000004ecb849 in rtn_call
(nmemb=1, size=72) at tsan_rtl.cc:2631
2631 ShadowStack.end_[-1] = (uintptr_t)pc;
(gdb) bt
#0 0x0000000004ecb849 in rtn_call (nmemb=1, size=72) at tsan_rtl.cc:2631
#1 RPut (nmemb=1, size=72) at tsan_rtl.cc:462
#2 calloc (nmemb=1, size=72) at tsan_rtl.cc:1088
#3 0x00007f01ac317a8f in pa_xmalloc0 () from /usr/lib/libpulse.so.0
#4 0x00007f01ac303139 in ?? () from /usr/lib/libpulse.so.0
#5 0x00007f01a79bda09 in pa_iochannel_new () from
/usr/lib/libpulsecommon-0.9.21.so
#6 0x00007f01a79d249e in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#7 0x00007f01ac303467 in pa_mainloop_dispatch () from /usr/lib/libpulse.so.0
#8 0x00007f01ac303818 in pa_mainloop_iterate () from /usr/lib/libpulse.so.0
#9 0x00007f01ac3038c0 in pa_mainloop_run () from /usr/lib/libpulse.so.0
#10 0x00007f01ac31221b in ?? () from /usr/lib/libpulse.so.0
#11 0x00007f01a79dc0e8 in ?? () from /usr/lib/libpulsecommon-0.9.21.so
#12 0x00007f01f929a9ca in start_thread (arg=<value optimized out>) at
pthread_create.c:300
#13 0x00007f01f3cd870d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:112
It suggests that the thread is started inside of a non-instrumented dynamic
library, and so tsan runtime crashes due to uninitialized thread.
We need to provide own 'pthread_create' symbol.
Original issue reported on code.google.com by dvyu...@google.com on 29 Jun 2011 at 12:16
Original issue reported on code.google.com by
dvyu...@google.com
on 29 Jun 2011 at 12:16