Skip to content

Spurious failure in run-make/sanitizer-memory #46313

Closed
@kennytm

Description

@kennytm

Symptom: on x86_64-gnu, the run-make/sanitizer-memory fails with exit code 2.

Example log
[01:11:45] failures:
[01:11:45] 
[01:11:45] ---- [run-make] run-make/sanitizer-memory stdout ----
[01:11:45] 	
[01:11:45] error: make failed
[01:11:45] status: exit code: 2
[01:11:45] command: "make"
[01:11:45] stdout:
[01:11:45] ------------------------------------------
[01:11:45] LD_LIBRARY_PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu:/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools/x86_64-unknown-linux-gnu/release/deps:/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib:" '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc' --out-dir /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu -L /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu  -g -Z sanitizer=memory -Z print-link-args uninit.rs | "/checkout/src/etc/cat-and-grep.sh" librustc_msan
[01:11:45] [[[ begin stdout ]]]
[01:11:45] �[90m"cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-m64" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu/uninit.uninit0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu/uninit.uninit1.rcgu.o" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu/uninit" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu/uninit.crate.allocator.rcgu.o" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-a99e131203633592.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-d795c34fd7eb72c9.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-0f4b95d88e53e455.rlib" "-Wl,--whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu/rustc.C7xlHMKdVa9A/librustc_msan-92d1518a2bbae70e.rlib" "-Wl,--no-whole-archive" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc_system-6d9370e956155877.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-f874e85b0fc1f5b8.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-c7758873e5bedec1.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_unicode-c9b8ae6d904bd621.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-c80c8268f013635d.rlib" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-6389cf691b0a8db6.rlib" "-Wl,-Bdynamic" "-l" "dl" "-l" "rt" "-l" "pthread" "-l" "pthread" "-l" "gcc_s" "-l" "c" "-l" "m" "-l" "rt" "-l" "pthread" "-l" "util" "-l" "util"
[01:11:45] �[0m
[01:11:45] [[[ end stdout ]]]
[01:11:45] /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu/uninit 2>&1 | "/checkout/src/etc/cat-and-grep.sh" use-of-uninitialized-value
[01:11:45] [[[ begin stdout ]]]
[01:11:45] �[90mFATAL: Code 0x0100d5be8c70 is out of application range. Non-PIE build?
[01:11:45] FATAL: MemorySanitizer can not mmap the shadow memory.
[01:11:45] FATAL: Make sure to compile with -fPIE and to link with -pie.
[01:11:45] FATAL: Disabling ASLR is known to cause this error.
[01:11:45] FATAL: If running under GDB, try 'set disable-randomization off'.
[01:11:45] ==21730==Process memory map follows:
[01:11:45] 	0x0100d5bc4000-0x0100d5c93000	/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu/uninit
[01:11:45] 	0x0100d5e93000-0x0100d5e98000	/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu/uninit
[01:11:45] 	0x0100d5e98000-0x0100d5e9b000	/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-make/sanitizer-memory.stage2-x86_64-unknown-linux-gnu/uninit
[01:11:45] 	0x0100d5e9b000-0x0100d8301000	
[01:11:45] 	0x7f2f79ec0000-0x7f2f7a212000	
[01:11:45] 	0x7f2f7a212000-0x7f2f7a31a000	/lib/x86_64-linux-gnu/libm-2.23.so
[01:11:45] 	0x7f2f7a31a000-0x7f2f7a519000	/lib/x86_64-linux-gnu/libm-2.23.so
[01:11:45] 	0x7f2f7a519000-0x7f2f7a51a000	/lib/x86_64-linux-gnu/libm-2.23.so
[01:11:45] 	0x7f2f7a51a000-0x7f2f7a51b000	/lib/x86_64-linux-gnu/libm-2.23.so
[01:11:45] 	0x7f2f7a51b000-0x7f2f7a6db000	/lib/x86_64-linux-gnu/libc-2.23.so
[01:11:45] 	0x7f2f7a6db000-0x7f2f7a8db000	/lib/x86_64-linux-gnu/libc-2.23.so
[01:11:45] 	0x7f2f7a8db000-0x7f2f7a8df000	/lib/x86_64-linux-gnu/libc-2.23.so
[01:11:45] 	0x7f2f7a8df000-0x7f2f7a8e1000	/lib/x86_64-linux-gnu/libc-2.23.so
[01:11:45] 	0x7f2f7a8e1000-0x7f2f7a8e5000	
[01:11:45] 	0x7f2f7a8e5000-0x7f2f7a8fb000	/lib/x86_64-linux-gnu/libgcc_s.so.1
[01:11:45] 	0x7f2f7a8fb000-0x7f2f7aafa000	/lib/x86_64-linux-gnu/libgcc_s.so.1
[01:11:45] 	0x7f2f7aafa000-0x7f2f7aafb000	/lib/x86_64-linux-gnu/libgcc_s.so.1
[01:11:45] 	0x7f2f7aafb000-0x7f2f7ab13000	/lib/x86_64-linux-gnu/libpthread-2.23.so
[01:11:45] 	0x7f2f7ab13000-0x7f2f7ad12000	/lib/x86_64-linux-gnu/libpthread-2.23.so
[01:11:45] 	0x7f2f7ad12000-0x7f2f7ad13000	/lib/x86_64-linux-gnu/libpthread-2.23.so
[01:11:45] 	0x7f2f7ad13000-0x7f2f7ad14000	/lib/x86_64-linux-gnu/libpthread-2.23.so
[01:11:45] 	0x7f2f7ad14000-0x7f2f7ad18000	
[01:11:45] 	0x7f2f7ad18000-0x7f2f7ad1f000	/lib/x86_64-linux-gnu/librt-2.23.so
[01:11:45] 	0x7f2f7ad1f000-0x7f2f7af1e000	/lib/x86_64-linux-gnu/librt-2.23.so
[01:11:45] 	0x7f2f7af1e000-0x7f2f7af1f000	/lib/x86_64-linux-gnu/librt-2.23.so
[01:11:45] 	0x7f2f7af1f000-0x7f2f7af20000	/lib/x86_64-linux-gnu/librt-2.23.so
[01:11:45] 	0x7f2f7af20000-0x7f2f7af23000	/lib/x86_64-linux-gnu/libdl-2.23.so
[01:11:45] 	0x7f2f7af23000-0x7f2f7b122000	/lib/x86_64-linux-gnu/libdl-2.23.so
[01:11:45] 	0x7f2f7b122000-0x7f2f7b123000	/lib/x86_64-linux-gnu/libdl-2.23.so
[01:11:45] 	0x7f2f7b123000-0x7f2f7b124000	/lib/x86_64-linux-gnu/libdl-2.23.so
[01:11:45] 	0x7f2f7b124000-0x7f2f7b14a000	/lib/x86_64-linux-gnu/ld-2.23.so
[01:11:45] 	0x7f2f7b336000-0x7f2f7b347000	
[01:11:45] 	0x7f2f7b347000-0x7f2f7b349000	
[01:11:45] 	0x7f2f7b349000-0x7f2f7b34a000	/lib/x86_64-linux-gnu/ld-2.23.so
[01:11:45] 	0x7f2f7b34a000-0x7f2f7b34b000	/lib/x86_64-linux-gnu/ld-2.23.so
[01:11:45] 	0x7f2f7b34b000-0x7f2f7b34c000	
[01:11:45] 	0x7ffcca182000-0x7ffcca1a4000	[stack]
[01:11:45] 	0x7ffcca1b5000-0x7ffcca1b7000	[vvar]
[01:11:45] 	0x7ffcca1b7000-0x7ffcca1b9000	[vdso]
[01:11:45] 	0xffffffffff600000-0xffffffffff601000	[vsyscall]
[01:11:45] ==21730==End of process memory map.
[01:11:45] �[0m
[01:11:45] [[[ end stdout ]]]
[01:11:45] �[1;31mError: cannot match: use-of-uninitialized-value�[0m
[01:11:45] Makefile:6: recipe for target 'all' failed
[01:11:45] 
[01:11:45] ------------------------------------------
[01:11:45] stderr:
[01:11:45] ------------------------------------------
[01:11:45] warning: unused variable: `y`
[01:11:45]   --> uninit.rs:15:9
[01:11:45]    |
[01:11:45] 15 |     let y = xs[0] + xs[1];
[01:11:45]    |         ^
[01:11:45]    |
[01:11:45]    = note: #[warn(unused_variables)] on by default
[01:11:45]    = note: to avoid this warning, consider using `_y` instead
[01:11:45] 
[01:11:45] make: *** [all] Error 1
[01:11:45] 
[01:11:45] ------------------------------------------
[01:11:45] 
[01:11:45] thread '[run-make] run-make/sanitizer-memory' panicked at 'explicit panic', /checkout/src/tools/compiletest/src/runtest.rs:2570:8
[01:11:45] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[01:11:45] 
[01:11:45] 
[01:11:45] failures:
[01:11:45]     [run-make] run-make/sanitizer-memory
[01:11:45] 
[01:11:45] test result: �[31mFAILED�(B�[m. 167 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out

Affected PRs:

Potentially relevant: golang/go#12898

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-spuriousArea: Spurious failures in builds (spuriously == for no apparent reason)C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFC

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions