Re: Thread Sanitizer could not print proper stack trace.

25 views
Skip to first unread message

Dmitry Vyukov

unread,
Oct 5, 2021, 2:04:49 AM10/5/21
to Pankaj Kumar Thapa, thread-sanitizer, address-sanitizer, memory-s...@googlegroups.com
On Wed, 22 Sept 2021 at 10:14, Dmitry Vyukov <dvy...@google.com> wrote:
>
> +thread-sanitizer mailing list
>
> On Wed, 22 Sept 2021 at 10:10, Pankaj Kumar Thapa <pk.th...@gmail.com> wrote:
> >
> > Hello Dmitry,
> >
> > My name is Pankaj. I am from Bangalore, India.
> >
> > I am trying to clean up the code base using thread sanitizer. When I run TSAN, I get the below error. I am using the clang-9 compiler to compile the code in a dockerized environment.
> > Could you please give a hint or point out exactly why this issue is? With this log it is impossible for me to find exactly where the data race is. I am new to this and it would be great if you can help me out.
> >
> > Thank you in advance.
> >
> > Error output:
> >
> > ==199==WARNING: invalid path to external symbolizer!
> > ==199==WARNING: Failed to use and restart external symbolizer!

Hi Pankaj,

The error suggests there is something wrong with the symbolizer.
You need to have a llvm-symbolizer binary in the PATH for symbolization to work.

I see there are also some flag that may help:

COMMON_FLAG(
bool, symbolize, true,
"If set, use the online symbolizer from common sanitizer runtime to turn "
"virtual addresses to file/line locations.")
COMMON_FLAG(
const char *, external_symbolizer_path, nullptr,
"Path to external symbolizer. If empty, the tool will search $PATH for "
"the symbolizer.")
COMMON_FLAG(
bool, allow_addr2line, false,
"If set, allows online symbolizer to run addr2line binary to symbolize "
"stack traces (addr2line will only be used if llvm-symbolizer binary is "
"unavailable.")





> > ==================
> > WARNING: ThreadSanitizer: data race (pid=199)
> > Write of size 8 at 0x7b1c00007e08 by main thread:
> > #0 <null> <null> (skvbc_replica+0xdcf3ce)
> > #1 <null> <null> (skvbc_replica+0xe84d23)
> > #2 <null> <null> (skvbc_replica+0xe84cd3)
> > #3 <null> <null> (skvbc_replica+0xe8397e)
> > #4 <null> <null> (skvbc_replica+0xe83fc8)
> > #5 <null> <null> (skvbc_replica+0xe23408)
> > #6 <null> <null> (skvbc_replica+0xf549a4)
> > #7 <null> <null> (skvbc_replica+0xf548f1)
> > #8 <null> <null> (skvbc_replica+0xf5485a)
> > #9 <null> <null> (skvbc_replica+0xf547d7)
> > #10 <null> <null> (skvbc_replica+0x16a268c)
> > #11 <null> <null> (skvbc_replica+0x1699e23)
> > #12 <null> <null> (skvbc_replica+0xf349d7)
> > #13 <null> <null> (skvbc_replica+0xe2b6c1)
> > #14 <null> <null> (skvbc_replica+0xe2b1b4)
> > #15 <null> <null> (skvbc_replica+0xe2ab8c)
> > #16 <null> <null> (skvbc_replica+0xe2a6ff)
> > #17 <null> <null> (skvbc_replica+0xe2a45d)
> > #18 <null> <null> (skvbc_replica+0xe2a2aa)
> > #19 <null> <null> (skvbc_replica+0xe29f25)
> > #20 <null> <null> (skvbc_replica+0xdd52e3)
> > #21 <null> <null> (skvbc_replica+0xdd1e7a)
> > #22 <null> <null> (skvbc_replica+0xdd2d5a)
> > #23 <null> <null> (libc.so.6+0x21bf6)
> >
> > Previous atomic read of size 4 at 0x7b1c00007e08 by thread T73:
> > #0 <null> <null> (skvbc_replica+0xd8a3bc)
> > #1 <null> <null> (skvbc_replica+0xddb7e8)
> > #2 <null> <null> (skvbc_replica+0xddb6ff)
> > #3 <null> <null> (skvbc_replica+0xddb603)
> > #4 <null> <null> (skvbc_replica+0xddb4d2)
> > #5 <null> <null> (skvbc_replica+0xddb458)
> > #6 <null> <null> (skvbc_replica+0xddb35e)
> > #7 <null> <null> (skvbc_replica+0x15b7106)
> > #8 <null> <null> (skvbc_replica+0x169ce95)
> > #9 <null> <null> (skvbc_replica+0x169cc3b)
> > #10 <null> <null> (skvbc_replica+0x169c9da)
> > #11 <null> <null> (skvbc_replica+0xf6bcb6)
> > #12 <null> <null> (skvbc_replica+0xfbbd84)
> > #13 <null> <null> (skvbc_replica+0xfbbca0)
> > #14 <null> <null> (skvbc_replica+0xfbbbb0)
> > #15 <null> <null> (skvbc_replica+0xfbbb58)
> > #16 <null> <null> (skvbc_replica+0xfbbaf8)
> > #17 <null> <null> (skvbc_replica+0xfbb8ff)
> > #18 <null> <null> (libstdc++.so.6+0xbd6de)
> >
> > Thread T73 (tid=739, running) created by main thread at:
> > #0 <null> <null> (skvbc_replica+0xd4019b)
> > #1 <null> <null> (libstdc++.so.6+0xbd994)
> > #2 <null> <null> (skvbc_replica+0xfbadc1)
> > #3 <null> <null> (skvbc_replica+0x169c561)
> > #4 <null> <null> (skvbc_replica+0x1698b04)
> > #5 <null> <null> (skvbc_replica+0x1690331)
> > #6 <null> <null> (skvbc_replica+0x16909cd)
> > #7 <null> <null> (skvbc_replica+0xfc175f)
> > #8 <null> <null> (skvbc_replica+0xf32248)
> > #9 <null> <null> (skvbc_replica+0xe2b6c1)
> > #10 <null> <null> (skvbc_replica+0xe2b1b4)
> > #11 <null> <null> (skvbc_replica+0xe2ab8c)
> > #12 <null> <null> (skvbc_replica+0xe2a6ff)
> > #13 <null> <null> (skvbc_replica+0xe2a45d)
> > #14 <null> <null> (skvbc_replica+0xe2a2aa)
> > #15 <null> <null> (skvbc_replica+0xe29f25)
> > #16 <null> <null> (skvbc_replica+0xdd52e3)
> > #17 <null> <null> (skvbc_replica+0xdd1e7a)
> > #18 <null> <null> (skvbc_replica+0xdd2d5a)
> > #19 <null> <null> (libc.so.6+0x21bf6)
> >
> > SUMMARY: ThreadSanitizer: data race (/concord-bft/build/tests/simpleKVBC/TesterReplica/skvbc_replica+0xdcf3ce)
> > ==================
> > ==================
> > WARNING: ThreadSanitizer: data race (pid=199)
> > Write of size 8 at 0x7b5400001eb0 by main thread:
> > #0 <null> <null> (skvbc_replica+0xf549b8)
> > #1 <null> <null> (skvbc_replica+0xf548f1)
> > #2 <null> <null> (skvbc_replica+0xf5485a)
> > #3 <null> <null> (skvbc_replica+0xf547d7)
> > #4 <null> <null> (skvbc_replica+0x16a268c)
> > #5 <null> <null> (skvbc_replica+0x1699e23)
> > #6 <null> <null> (skvbc_replica+0xf349d7)
> > #7 <null> <null> (skvbc_replica+0xe2b6c1)
> > #8 <null> <null> (skvbc_replica+0xe2b1b4)
> > #9 <null> <null> (skvbc_replica+0xe2ab8c)
> > #10 <null> <null> (skvbc_replica+0xe2a6ff)
> > #11 <null> <null> (skvbc_replica+0xe2a45d)
> > #12 <null> <null> (skvbc_replica+0xe2a2aa)
> > #13 <null> <null> (skvbc_replica+0xe29f25)
> > #14 <null> <null> (skvbc_replica+0xdd52e3)
> > #15 <null> <null> (skvbc_replica+0xdd1e7a)
> > #16 <null> <null> (skvbc_replica+0xdd2d5a)
> > #17 <null> <null> (libc.so.6+0x21bf6)
> >
> > Previous read of size 8 at 0x7b5400001eb0 by thread T73:
> > #0 <null> <null> (skvbc_replica+0xddb5b3)
> > #1 <null> <null> (skvbc_replica+0xddb4d2)
> > #2 <null> <null> (skvbc_replica+0xddb458)
> > #3 <null> <null> (skvbc_replica+0xddb35e)
> > #4 <null> <null> (skvbc_replica+0x15b7106)
> > #5 <null> <null> (skvbc_replica+0x169ce95)
> > #6 <null> <null> (skvbc_replica+0x169cc3b)
> > #7 <null> <null> (skvbc_replica+0x169c9da)
> > #8 <null> <null> (skvbc_replica+0xf6bcb6)
> > #9 <null> <null> (skvbc_replica+0xfbbd84)
> > #10 <null> <null> (skvbc_replica+0xfbbca0)
> > #11 <null> <null> (skvbc_replica+0xfbbbb0)
> > #12 <null> <null> (skvbc_replica+0xfbbb58)
> > #13 <null> <null> (skvbc_replica+0xfbbaf8)
> > #14 <null> <null> (skvbc_replica+0xfbb8ff)
> > #15 <null> <null> (libstdc++.so.6+0xbd6de)
> >
> > Location is heap block of size 584 at 0x7b5400001e00 allocated by main thread:
> > #0 <null> <null> (skvbc_replica+0xdcec7b)
> > #1 <null> <null> (skvbc_replica+0xfa9baf)
> > #2 <null> <null> (skvbc_replica+0xfa9a6a)
> > #3 <null> <null> (skvbc_replica+0xfa9657)
> > #4 <null> <null> (skvbc_replica+0xfc808b)
> > #5 <null> <null> (skvbc_replica+0xfc7f74)
> > #6 <null> <null> (skvbc_replica+0xfc7ec3)
> > #7 <null> <null> (skvbc_replica+0xfc7e2f)
> > #8 <null> <null> (skvbc_replica+0xfc2ecb)
> > #9 <null> <null> (skvbc_replica+0xfc16fd)
> > #10 <null> <null> (skvbc_replica+0xf32248)
> > #11 <null> <null> (skvbc_replica+0xe2b6c1)
> > #12 <null> <null> (skvbc_replica+0xe2b1b4)
> > #13 <null> <null> (skvbc_replica+0xe2ab8c)
> > #14 <null> <null> (skvbc_replica+0xe2a6ff)
> > #15 <null> <null> (skvbc_replica+0xe2a45d)
> > #16 <null> <null> (skvbc_replica+0xe2a2aa)
> > #17 <null> <null> (skvbc_replica+0xe29f25)
> > #18 <null> <null> (skvbc_replica+0xdd52e3)
> > #19 <null> <null> (skvbc_replica+0xdd1e7a)
> > #20 <null> <null> (skvbc_replica+0xdd2d5a)
> > #21 <null> <null> (libc.so.6+0x21bf6)
> >
> > Thread T73 (tid=739, running) created by main thread at:
> > #0 <null> <null> (skvbc_replica+0xd4019b)
> > #1 <null> <null> (libstdc++.so.6+0xbd994)
> > #2 <null> <null> (skvbc_replica+0xfbadc1)
> > #3 <null> <null> (skvbc_replica+0x169c561)
> > #4 <null> <null> (skvbc_replica+0x1698b04)
> > #5 <null> <null> (skvbc_replica+0x1690331)
> > #6 <null> <null> (skvbc_replica+0x16909cd)
> > #7 <null> <null> (skvbc_replica+0xfc175f)
> > #8 <null> <null> (skvbc_replica+0xf32248)
> > #9 <null> <null> (skvbc_replica+0xe2b6c1)
> > #10 <null> <null> (skvbc_replica+0xe2b1b4)
> > #11 <null> <null> (skvbc_replica+0xe2ab8c)
> > #12 <null> <null> (skvbc_replica+0xe2a6ff)
> > #13 <null> <null> (skvbc_replica+0xe2a45d)
> > #14 <null> <null> (skvbc_replica+0xe2a2aa)
> > #15 <null> <null> (skvbc_replica+0xe29f25)
> > #16 <null> <null> (skvbc_replica+0xdd52e3)
> > #17 <null> <null> (skvbc_replica+0xdd1e7a)
> > #18 <null> <null> (skvbc_replica+0xdd2d5a)
> > #19 <null> <null> (libc.so.6+0x21bf6)
> >
> > SUMMARY: ThreadSanitizer: data race (/concord-bft/build/tests/simpleKVBC/TesterReplica/skvbc_replica+0xf549b8)
> > ==================
> >
> >
> > Thanks & Regards,
> > Pankaj
> > https://www.linkedin.com/in/pankajkumarthapa/
Reply all
Reply to author
Forward
0 new messages