AddressSanitizer yields global-buffer-overflow
Running anything that links dune-alugrid results for us in a global-buffer-overflow. See the output of dune-alugrid/examples/testEfficiency/main_ball_eff below. We use the current dune-alugrid master with the Dune 2.4 Git branches. Compiler is Clang 3.7.1, system is openSuse 13.2.
kweis@asterix:/temp/kweis/TESTING/dune-alugrid/build-debug-san/examples/testEfficiency> ./main_ball_eff
=================================================================
==9376==ERROR: AddressSanitizer: global-buffer-overflow on address 0x000000ec53e7 at pc 0x0000007b504c bp 0x7fff88c5b290 sp 0x7fff88c5aa50
READ of size 136 at 0x000000ec53e7 thread T0
#0 0x7b504b in __interceptor_strlen /home/nikola/final/llvm.src/projects/compiler-rt/lib/asan/asan_interceptors.cc:609:5
#1 0x7fb880db8800 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&) (/usr/lib64/libstdc++.so.6+0xd5800)
#2 0xb7acdd in ALUGrid::inMkGiter() /temp/kweis/TESTING/dune-alugrid/dune/alugrid/impl/serial/walk.h:841:17
#3 0x737aa7 in __cxx_global_var_init.10 /temp/kweis/TESTING/dune-alugrid/dune/alugrid/impl/serial/gitter_sti.cc:15:61
#4 0x737b91 in _GLOBAL__sub_I_gitter_sti.cc /temp/kweis/TESTING/dune-alugrid/dune/alugrid/impl/serial/gitter_sti.cc
#5 0xe106dc in __libc_csu_init /home/abuild/rpmbuild/BUILD/glibc-2.19/csu/elf-init.c:88
#6 0x7fb87fe1ca94 in __libc_start_main /usr/src/debug/glibc-2.19/csu/libc-start.c:244
#7 0x738e4c in _start /home/abuild/rpmbuild/BUILD/glibc-2.19/csu/../sysdeps/x86_64/start.S:122
0x000000ec53e7 is located 57 bytes to the left of global variable '<string literal>' defined in '/temp/kweis/TESTING/dune-alugrid/dune/alugrid/impl/serial/gitter_sti.h:2931:21' (0xec5420) of size 8
'<string literal>' is ascii string 'VERBOSE'
0x000000ec53e7 is located 0 bytes to the right of global variable 'str' defined in '/temp/kweis/TESTING/dune-alugrid/dune/alugrid/impl/serial/walk.h:839:16' (0xec5360) of size 135
SUMMARY: AddressSanitizer: global-buffer-overflow /home/nikola/final/llvm.src/projects/compiler-rt/lib/asan/asan_interceptors.cc:609:5 in __interceptor_strlen
Shadow bytes around the buggy address:
0x0000801d0a20: 00 00 00 00 00 00 00 07 f9 f9 f9 f9 00 00 00 02
0x0000801d0a30: f9 f9 f9 f9 00 00 02 f9 f9 f9 f9 f9 00 00 00 00
0x0000801d0a40: 00 00 00 00 00 00 00 00 00 04 f9 f9 f9 f9 f9 f9
0x0000801d0a50: 00 00 03 f9 f9 f9 f9 f9 00 00 00 00 00 00 00 00
0x0000801d0a60: 00 00 00 00 00 05 f9 f9 f9 f9 f9 f9 00 00 00 00
=>0x0000801d0a70: 00 00 00 00 00 00 00 00 00 00 00 00[07]f9 f9 f9
0x0000801d0a80: f9 f9 f9 f9 00 f9 f9 f9 f9 f9 f9 f9 01 f9 f9 f9
0x0000801d0a90: f9 f9 f9 f9 00 f9 f9 f9 f9 f9 f9 f9 00 00 07 f9
0x0000801d0aa0: f9 f9 f9 f9 00 00 00 00 00 00 00 00 00 00 00 02
0x0000801d0ab0: f9 f9 f9 f9 06 f9 f9 f9 f9 f9 f9 f9 00 00 00 00
0x0000801d0ac0: 00 00 00 00 00 00 00 03 f9 f9 f9 f9 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
==9376==ABORTING