[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