[compiler-rt] r235540 - [ASan] Print global registration site in init-order-checker reports.
Renato Golin
renato.golin at linaro.org
Thu Apr 23 12:14:56 PDT 2015
On 23 April 2015 at 19:43, Alexey Samsonov <vonosmas at gmail.com> wrote:
> Could you provide the full test output? I'll try to relax the test
> conditions while we investigate this.
Sure!
$ env ASAN_OPTIONS=check_initialization_order=true
/home/linaro/devel/buildbot/clang-cmake-thumbv7-a15-full-sh/stage1/projects/compiler-rt/test/asan/ARMLinuxConfig/TestCases/Output/initialization-bug.cc.tmp-INIT-ORDER-EXE
2>&1
=================================================================
==4334==ERROR: AddressSanitizer: initialization-order-fiasco on
address 0x0056bfe0 at pc 0x000b01a5 bp 0xbeedd2c0 sp 0xbeedd2c4
READ of size 4 at 0x0056bfe0 thread T0
#0 0xb01a3
(/home/linaro/devel/buildbot/clang-cmake-thumbv7-a15-full-sh/stage1/projects/compiler-rt/test/asan/ARMLinuxConfig/TestCases/Output/initialization-bug.cc.tmp-INIT-ORDER-EXE+0xb01a3)
#1 0x1dc15
(/home/linaro/devel/buildbot/clang-cmake-thumbv7-a15-full-sh/stage1/projects/compiler-rt/test/asan/ARMLinuxConfig/TestCases/Output/initialization-bug.cc.tmp-INIT-ORDER-EXE+0x1dc15)
#2 0x1dc6f
(/home/linaro/devel/buildbot/clang-cmake-thumbv7-a15-full-sh/stage1/projects/compiler-rt/test/asan/ARMLinuxConfig/TestCases/Output/initialization-bug.cc.tmp-INIT-ORDER-EXE+0x1dc6f)
0x0056bfe0 is located 0 bytes inside of global variable 'y' defined in
'/home/linaro/devel/buildbot/clang-cmake-thumbv7-a15-full-sh/llvm/projects/compiler-rt/test/asan/TestCases/Helpers/initialization-bug-extra2.cc:6:5'
(0x56bfe0) of size 4
registered at:
#0 0x2a4b1
(/home/linaro/devel/buildbot/clang-cmake-thumbv7-a15-full-sh/stage1/projects/compiler-rt/test/asan/ARMLinuxConfig/TestCases/Output/initialization-bug.cc.tmp-INIT-ORDER-EXE+0x2a4b1)
SUMMARY: AddressSanitizer: initialization-order-fiasco
(/home/linaro/devel/buildbot/clang-cmake-thumbv7-a15-full-sh/stage1/projects/compiler-rt/test/asan/ARMLinuxConfig/TestCases/Output/initialization-bug.cc.tmp-INIT-ORDER-EXE+0xb01a3)
Shadow bytes around the buggy address:
0x200ad7a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ad7b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ad7c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ad7d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ad7e0: 00 00 00 00 00 00 00 00 00 00 00 00 04 f9 f9 f9
=>0x200ad7f0: f9 f9 f9 f9 04 f9 f9 f9 f9 f9 f9 f9[f6]f6 f6 f6
0x200ad800: f6 f6 f6 f6 00 00 00 00 00 00 00 00 00 00 00 00
0x200ad810: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ad820: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ad830: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x200ad840: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==4334==ABORTING
More information about the llvm-commits
mailing list