u_debug_stack_test.capture_not_overwritten fails on i386
System information
- OS: Guix on Debian 10, and also on Guix System
- GPU: 00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics 520 [8086:1916] (rev 07)
- Kernel version: Linux 5.10.7 #1 (closed) SMP Tue Jan 12 14:49:44 EST 2021 x86_64 GNU/Linux
- Mesa version: 20.2.4
- Xserver version (if applicable): 1.20.4
- Desktop manager and compositor: N/A
Describe the issue
I'm working on distro packaging for GNU Guix. While testing the update of Mesa from 20.1.9 to 20.2.4, we hit a test failure on the 32-bit Intel compatible platform (often called i386 or i686). We are building on 64-bit hardware, using Linux's support for changing the personality(2) to PER_LINUX32.
Specifically, the test u_debug_stack_test.capture_not_overwritten
fails like this:
23:07:53 /tmp/guix-build-mesa-20.2.4.drv-0/build/src/util/u_debug_stack_test
--- stdout ---
Running main() from ../mesa-20.2.4/src/gtest/src/gtest_main.cc
[==========] Running 2 tests from 1 test suite.
[----------] Global test environment set-up.
[----------] 2 tests from u_debug_stack_test
[ RUN ] u_debug_stack_test.basics
[ OK ] u_debug_stack_test.basics (0 ms)
[ RUN ] u_debug_stack_test.capture_not_overwritten
../mesa-20.2.4/src/util/u_debug_stack_test.cpp:108: Failure
Expected: (bt1) != (bt2), actual: "/tmp/guix-build-mesa-20.2.4.drv-0/build/src/util/u_debug_stack_test() [0x8072555]
" vs "/tmp/guix-build-mesa-20.2.4.drv-0/build/src/util/u_debug_stack_test() [0x8072555]
"
[ FAILED ] u_debug_stack_test.capture_not_overwritten (0 ms)
[----------] 2 tests from u_debug_stack_test (0 ms total)
[----------] Global test environment tear-down
[==========] 2 tests from 1 test suite ran. (0 ms total)
[ PASSED ] 1 test.
[ FAILED ] 1 test, listed below:
[ FAILED ] u_debug_stack_test.capture_not_overwritten
1 FAILED TEST
--- stderr ---
--- backtrace from main to stderr:
/tmp/guix-build-mesa-20.2.4.drv-0/build/src/util/u_debug_stack_test() [0x8072792]
--- backtrace from main again to debug_printf:
--- backtrace from func_a:
--- backtrace from func_a:
--- backtrace from func_b:
--- stored backtrace from start of main:
-------
Full log written to /tmp/guix-build-mesa-20.2.4.drv-0/build/meson-logs/testlog.txt
FAILED: meson-test
/gnu/store/b6r7jh5fj3z2h7l7nz2w0y08nz7m1kfz-meson-for-build-0.53.2/bin/meson test --no-rebuild --print-errorlogs
ninja: build stopped: subcommand failed.
command "ninja" "test" failed with status 1
This failure is reproducible on a variety of different hardware.
With Guix, package builds are performed in ephemeral containers.
I'm happy to provide any more information or try various forms of debugging. Please let me know how I can help.
Regression
This test did not exist in Mesa 20.1.9, which is the previous version of Mesa we used.