Comment #7 on issue 240 by [email protected]: Detect when asan runtime is
loaded twice into the same process
https://code.google.com/p/address-sanitizer/issues/detail?id=240
Another case seen in the wild.
Clang-built program with -fsanitize=thread does:
14742 open("/usr/lib/x86_64-linux-gnu/libtsan.so.0", O_RDONLY|O_CLOEXEC) = 3
which is gcc! runtime.
Then the process crashes after double-mapping heap space:
14742 mmap(0x7d0000000000, 1099511627776, PROT_NONE, MAP_PRIVATE|MAP_FIXED|
MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7d0000000000
14742 mmap(0x7e0000000000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7e0000000000
14742 futex(0x7fe5d2eea0d0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
14742 mmap(0x7d0800000000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d0800000000
14742 mmap(0x7d0bffff0000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d0bffff0000
14742 mmap(0x7d6400000000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d6400000000
14742 mmap(0x7d67ffff0000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7d67ffff0000
14742 mmap(NULL, 33554432, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS,
-1, 0) = 0x7fe5cbbf8000
14742 munmap(0x7fe5cbbf8000, 4227072) = 0
14742 munmap(0x7fe5cd000000, 12550144) = 0
14742 mmap(0x7d0000000000, 1099511627776, PROT_NONE, MAP_PRIVATE|MAP_FIXED|
MAP_ANONYMOUS|MAP_NORESERVE, -1, 0) = 0x7d0000000000
14742 mmap(0x7e0000000000, 20480, PROT_READ|PROT_WRITE, MAP_PRIVATE|
MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7e0000000000
14742 --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_ACCERR,
si_addr=0x7d080000eff8} ---
A typical user is not capable of dubugging this w/o our help.
--
You received this message because this project is configured to send all
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
--
You received this message because you are subscribed to the Google Groups
"address-sanitizer" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.