[llvm-dev] sanitizer test case failures after OS update

Bill Seurer via llvm-dev llvm-dev at lists.llvm.org
Wed Sep 13 06:42:13 PDT 2017


I tried some runs using different versions of gcc and the one I posted 
was from when I used gcc 7.2.  The actual bot was using the system gcc 
6.4.1 compiler and libraries and got the same sorts of failures:

FAIL: SanitizerCommon-msan-powerpc64le-Linux :: Linux/closedir.c (65 of 171)
******************** TEST 'SanitizerCommon-msan-powerpc64le-Linux :: 
Linux/closedir.c' FAILED ********************
Script:
--
/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/clang_build/./bin/clang 
-gline-tables-only -fsanitize=memory -m64 -fno-function-sections -O2 
/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm/projects/compiler-rt/test/sanitizer_common/TestCases/Linux/closedir.c 
-o 
/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/clang_build/projects/compiler-rt/test/sanitizer_common/msan-powerpc64le-Linux/Linux/Output/closedir.c.tmp 
&& 
/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/clang_build/projects/compiler-rt/test/sanitizer_common/msan-powerpc64le-Linux/Linux/Output/closedir.c.tmp
--
Exit Code: 77

Command Output (stderr):
--
/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/llvm/projects/compiler-rt/test/sanitizer_common/TestCases/Linux/closedir.c:5:24: 
warning: null passed to a callee that requires a non-null argument 
[-Wnonnull]
int main() { closedir(0); }
                       ~^
1 warning generated.
FATAL: Code 0x000122f4d2d0 is out of application range. Non-PIE build?
FATAL: MemorySanitizer can not mmap the shadow memory.
FATAL: Make sure to compile with -fPIE and to link with -pie.
FATAL: Disabling ASLR is known to cause this error.
FATAL: If running under GDB, try 'set disable-randomization off'.
==26937==Process memory map follows:
	0x000122f30000-0x000123030000 
/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/clang_build/projects/compiler-rt/test/sanitizer_common/msan-powerpc64le-Linux/Linux/Output/closedir.c.tmp
	0x000123030000-0x000123040000 
/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/clang_build/projects/compiler-rt/test/sanitizer_common/msan-powerpc64le-Linux/Linux/Output/closedir.c.tmp
	0x000123040000-0x000123050000 
/home/buildbots/ppc64le-sanitizer/sanitizer-ppc64le/build/clang_build/projects/compiler-rt/test/sanitizer_common/msan-powerpc64le-Linux/Linux/Output/closedir.c.tmp
	0x000123050000-0x0001254b0000	
	0x7fff838b0000-0x7fff83c50000	
	0x7fff83c50000-0x7fff83e30000	/usr/lib64/libc-2.24.so
	0x7fff83e30000-0x7fff83e40000	/usr/lib64/libc-2.24.so
	0x7fff83e40000-0x7fff83e50000	/usr/lib64/libc-2.24.so
	0x7fff83e50000-0x7fff83e70000	/usr/lib64/libgcc_s-6.4.1-20170727.so.1
	0x7fff83e70000-0x7fff83e80000	/usr/lib64/libgcc_s-6.4.1-20170727.so.1
	0x7fff83e80000-0x7fff83e90000	/usr/lib64/libgcc_s-6.4.1-20170727.so.1
	0x7fff83e90000-0x7fff83ea0000	/usr/lib64/libdl-2.24.so
	0x7fff83ea0000-0x7fff83eb0000	/usr/lib64/libdl-2.24.so
	0x7fff83eb0000-0x7fff83ec0000	
	0x7fff83ec0000-0x7fff83f90000	/usr/lib64/libm-2.24.so
	0x7fff83f90000-0x7fff83fa0000	/usr/lib64/libm-2.24.so
	0x7fff83fa0000-0x7fff83fb0000	/usr/lib64/libm-2.24.so
	0x7fff83fb0000-0x7fff83fc0000	/usr/lib64/librt-2.24.so
	0x7fff83fc0000-0x7fff83fd0000	/usr/lib64/librt-2.24.so
	0x7fff83fd0000-0x7fff83fe0000	/usr/lib64/librt-2.24.so
	0x7fff83fe0000-0x7fff84000000	/usr/lib64/libpthread-2.24.so
	0x7fff84000000-0x7fff84010000	/usr/lib64/libpthread-2.24.so
	0x7fff84010000-0x7fff84020000	/usr/lib64/libpthread-2.24.so
	0x7fff84020000-0x7fff84030000	
	0x7fff84030000-0x7fff84050000	[vdso]
	0x7fff84050000-0x7fff84090000	/usr/lib64/ld-2.24.so
	0x7fff84090000-0x7fff840a0000	/usr/lib64/ld-2.24.so
	0x7fff840a0000-0x7fff840b0000	/usr/lib64/ld-2.24.so
	0x7fffd1c00000-0x7fffd1c30000	[stack]
==26937==End of process memory map.



On 09/12/2017 09:37 PM, Don Hinton wrote:
> Hi Bill:
> 
> Not sure if it was intentional, but the old builds set CC, CXX, and 
> LD_LIBRARY_PATH explicitly, but the new ones don't.  Also, you seem to 
> be linking against gcc 7.2 libs above, but building with gcc 6.4.1.
> 
> hth...
> don
> 
> On Tue, Sep 12, 2017 at 6:15 PM, Bill Seurer via llvm-dev 
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> 
>     I updated one of my powerpc64le llvm test systems to Fedora 25 and I
>     started getting a whole bunch of sanitizer test case failures.  I
>     tried testing some earlier revisions on the new OS that had worked
>     fine under the old but they generate the same errors now so it isn't
>     any changes in llvm.
> 
>     There are two different errors:
> 
>     FATAL: ThreadSanitizer: unsupported VMA range
>     FATAL: Found 47 - Supported 44 and 46
> 
>     and
> 
>     FATAL: Code 0x00010eddf660 is out of application range. Non-PIE build?
>     FATAL: MemorySanitizer can not mmap the shadow memory.
>     FATAL: Make sure to compile with -fPIE and to link with -pie.
>     FATAL: Disabling ASLR is known to cause this error.
>     FATAL: If running under GDB, try 'set disable-randomization off'.
> 
>     Obviously something changed when I updated the OS but I am not sure
>     how to fix it.  The compilation options didn't change and ASLR isn't
>     disabled.  I used the same gcc compiler to build llvm under the
>     different OS releases.
> 
>     The first full test after the OS update is here:
>     http://lab.llvm.org:8011/builders/sanitizer-ppc64le-linux/builds/3636 <http://lab.llvm.org:8011/builders/sanitizer-ppc64le-linux/builds/3636>
> 
>     Any ideas?  Thanks!
> 
> 
>     Here's the full output from one of the failures:
> 
>     FAIL: MemorySanitizer-powerpc64le :: Linux/mallinfo.cc (34091 of 34964)
>     ******************** TEST 'MemorySanitizer-powerpc64le ::
>     Linux/mallinfo.cc' FAILED ********************
>     Script:
>     --
>     /home/seurer/llvm/build/llvm-test/./bin/clang --driver-mode=g++
>     -fsanitize=memory -mno-omit-leaf-frame-pointer
>     -fno-omit-frame-pointer -fno-optimize-sibling-calls -m64
>     -fno-function-sections -gline-tables-only -O0 -g
>     /home/seurer/llvm/llvm-test/projects/compiler-rt/test/msan/Linux/mallinfo.cc
>     -o
>     /home/seurer/llvm/build/llvm-test/projects/compiler-rt/test/msan/POWERPC64LEConfig/Linux/Output/mallinfo.cc.tmp
>     &&
>     /home/seurer/llvm/build/llvm-test/projects/compiler-rt/test/msan/POWERPC64LEConfig/Linux/Output/mallinfo.cc.tmp
>     --
>     Exit Code: 77
> 
>     Command Output (stderr):
>     --
>     FATAL: Code 0x00010eddf660 is out of application range. Non-PIE build?
>     FATAL: MemorySanitizer can not mmap the shadow memory.
>     FATAL: Make sure to compile with -fPIE and to link with -pie.
>     FATAL: Disabling ASLR is known to cause this error.
>     FATAL: If running under GDB, try 'set disable-randomization off'.
>     ==6632==Process memory map follows:
>              0x00010ed90000-0x00010eea0000
>     /home/seurer/llvm/build/llvm-test/projects/compiler-rt/test/msan/POWERPC64LEConfig/Linux/Output/mallinfo.cc.tmp
>              0x00010eea0000-0x00010eeb0000
>     /home/seurer/llvm/build/llvm-test/projects/compiler-rt/test/msan/POWERPC64LEConfig/Linux/Output/mallinfo.cc.tmp
>              0x00010eeb0000-0x00010eec0000
>     /home/seurer/llvm/build/llvm-test/projects/compiler-rt/test/msan/POWERPC64LEConfig/Linux/Output/mallinfo.cc.tmp
>              0x00010eec0000-0x0001113a0000
>              0x7fff8abe0000-0x7fff8af80000
>              0x7fff8af80000-0x7fff8b160000   /usr/lib64/libc-2.24.so
>     <http://libc-2.24.so>
>              0x7fff8b160000-0x7fff8b170000   /usr/lib64/libc-2.24.so
>     <http://libc-2.24.so>
>              0x7fff8b170000-0x7fff8b180000   /usr/lib64/libc-2.24.so
>     <http://libc-2.24.so>
>              0x7fff8b180000-0x7fff8b1a0000
>     /home/seurer/gcc/install/gcc-7.2.0/lib64/libgcc_s.so.1
>              0x7fff8b1a0000-0x7fff8b1b0000
>     /home/seurer/gcc/install/gcc-7.2.0/lib64/libgcc_s.so.1
>              0x7fff8b1b0000-0x7fff8b1c0000
>     /home/seurer/gcc/install/gcc-7.2.0/lib64/libgcc_s.so.1
>              0x7fff8b1c0000-0x7fff8b1d0000   /usr/lib64/libdl-2.24.so
>     <http://libdl-2.24.so>
>              0x7fff8b1d0000-0x7fff8b1e0000   /usr/lib64/libdl-2.24.so
>     <http://libdl-2.24.so>
>              0x7fff8b1e0000-0x7fff8b1f0000
>              0x7fff8b1f0000-0x7fff8b200000   /usr/lib64/librt-2.24.so
>     <http://librt-2.24.so>
>              0x7fff8b200000-0x7fff8b210000   /usr/lib64/librt-2.24.so
>     <http://librt-2.24.so>
>              0x7fff8b210000-0x7fff8b220000   /usr/lib64/librt-2.24.so
>     <http://librt-2.24.so>
>              0x7fff8b220000-0x7fff8b240000 
>       /usr/lib64/libpthread-2.24.so <http://libpthread-2.24.so>
>              0x7fff8b240000-0x7fff8b250000 
>       /usr/lib64/libpthread-2.24.so <http://libpthread-2.24.so>
>              0x7fff8b250000-0x7fff8b260000 
>       /usr/lib64/libpthread-2.24.so <http://libpthread-2.24.so>
>              0x7fff8b260000-0x7fff8b330000   /usr/lib64/libm-2.24.so
>     <http://libm-2.24.so>
>              0x7fff8b330000-0x7fff8b340000   /usr/lib64/libm-2.24.so
>     <http://libm-2.24.so>
>              0x7fff8b340000-0x7fff8b350000   /usr/lib64/libm-2.24.so
>     <http://libm-2.24.so>
>              0x7fff8b350000-0x7fff8b360000
>              0x7fff8b360000-0x7fff8b590000
>     /home/seurer/gcc/install/gcc-7.2.0/lib64/libstdc++.so.6.0.24
>              0x7fff8b590000-0x7fff8b5a0000
>     /home/seurer/gcc/install/gcc-7.2.0/lib64/libstdc++.so.6.0.24
>              0x7fff8b5a0000-0x7fff8b5b0000
>     /home/seurer/gcc/install/gcc-7.2.0/lib64/libstdc++.so.6.0.24
>              0x7fff8b5b0000-0x7fff8b5c0000
>     /home/seurer/gcc/install/gcc-7.2.0/lib64/libstdc++.so.6.0.24
>              0x7fff8b5c0000-0x7fff8b5e0000   [vdso]
>              0x7fff8b5e0000-0x7fff8b620000   /usr/lib64/ld-2.24.so
>     <http://ld-2.24.so>
>              0x7fff8b620000-0x7fff8b630000   /usr/lib64/ld-2.24.so
>     <http://ld-2.24.so>
>              0x7fff8b630000-0x7fff8b640000   /usr/lib64/ld-2.24.so
>     <http://ld-2.24.so>
>              0x7fffcfde0000-0x7fffcfe10000   [stack]
>     ==6632==End of process memory map.
> 
>     -- 
> 
>     -Bill Seurer
> 
>     _______________________________________________
>     LLVM Developers mailing list
>     llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
>     http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>     <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>
> 
> 


-- 

-Bill Seurer



More information about the llvm-dev mailing list