FS#58697 - [lib32-mesa] crashes with illegal instruction vmovq on CPUs without AVX support
Attached to Project:
Community Packages
Opened by kinodont (kinodont) - Tuesday, 22 May 2018, 18:46 GMT
Last edited by Laurent Carlier (lordheavy) - Tuesday, 03 July 2018, 09:54 GMT
Opened by kinodont (kinodont) - Tuesday, 22 May 2018, 18:46 GMT
Last edited by Laurent Carlier (lordheavy) - Tuesday, 03 July 2018, 09:54 GMT
|
Details
Description:
Any 32-bit application that uses GLX/EGL crashes., e.g. glxinfo32, glxgears32, or eglinfo32. This particular crash happened on r600_dri driver and swrast_dri (llvmpipe). No such crash was observed on a PC with a CPU that has AVX support. The 64-bit version of mesa does not crash. Additional info: lib32-mesa 18.1.0-1 Steps to reproduce: $ grep avx /proc/cpuinfo | wc -l 0 $ glxinfo32 name of display: :0 Illegal instruction (core dumped) $ env LIBGL_ALWAYS_SOFTWARE=1 glxgears32 Illegal instruction (core dumped) The following backtrace was obtained on lib32-mesa compiled with debug symbols and with -O1 (the crash did not occur without optimizations enabled): #0 0x00000000f6e0bf51 SwrJit::X86Intrinsic::X86Intrinsic(SwrJit::X86Intrinsic const&) (r600_dri.so) #1 0x00000000f6e06e14 __static_initialization_and_destruction_0 (r600_dri.so) #2 0x00000000f6e0b929 _GLOBAL__sub_I_lower_x86.cpp (r600_dri.so) #3 0x00000000f7f3c903 call_init.part.0 (ld-linux.so.2) #4 0x00000000f7f3ca02 _dl_init (ld-linux.so.2) #5 0x00000000f7f40850 dl_open_worker (ld-linux.so.2) #6 0x00000000f7c7469a _dl_catch_exception (libc.so.6) #7 0x00000000f7f400e6 _dl_open (ld-linux.so.2) #8 0x00000000f7aa4c63 n/a (libdl.so.2) #9 0x00000000f7c7469a _dl_catch_exception (libc.so.6) #10 0x00000000f7c74730 _dl_catch_error (libc.so.6) #11 0x00000000f7aa5401 n/a (libdl.so.2) #12 0x00000000f7aa4d06 dlopen (libdl.so.2) #13 0x00000000f7a16335 driOpenDriver (libGLX_mesa.so.0) #14 0x00000000f7a1e7c5 dri3_create_screen (libGLX_mesa.so.0) #15 0x00000000f7a0c00e AllocAndFetchScreenConfigs (libGLX_mesa.so.0) #16 0x00000000f7a07a4f GetGLXPrivScreenConfig (libGLX_mesa.so.0) #17 0x00000000f7a0817a glXChooseVisual (libGLX_mesa.so.0) #18 0x00000000565babc3 n/a (glxinfo32) #19 0x00000000f7b5a141 __libc_start_main (libc.so.6) #20 0x00000000565bb4cd n/a (glxinfo32) The attached backtrace from GDB was produced from the same lib32-mesa as the backtrace above. Disabling swr that was enabled due to https://bugs.archlinux.org/task/53113 produced a working lib32-mesa. |
This task depends upon
Closed by Laurent Carlier (lordheavy)
Tuesday, 03 July 2018, 09:54 GMT
Reason for closing: Fixed
Additional comments about closing: lib32-mesa-18.1.2-2
Tuesday, 03 July 2018, 09:54 GMT
Reason for closing: Fixed
Additional comments about closing: lib32-mesa-18.1.2-2
I did not re-build the broken version with debug symbols but the limited information available from the Steam backtrace (libraries and order) is pretty much identical to the above:
#0 0xf6adb5b7 in ?? () from /usr/lib32/dri/r600_dri.so
#1 0xf66b17ff in ?? () from /usr/lib32/dri/r600_dri.so
#2 0xf7fe5903 in call_init.part () from /lib/ld-linux.so.2
#3 0xf7fe5a02 in _dl_init () from /lib/ld-linux.so.2
#4 0xf7fe9850 in dl_open_worker () from /lib/ld-linux.so.2
#5 0xf7b2a69a in _dl_catch_exception () from /usr/lib32/libc.so.6
#6 0xf7fe90e6 in _dl_open () from /lib/ld-linux.so.2
#7 0xf7e3ac63 in ?? () from /usr/lib32/libdl.so.2
#8 0xf7b2a69a in _dl_catch_exception () from /usr/lib32/libc.so.6
#9 0xf7b2a730 in _dl_catch_error () from /usr/lib32/libc.so.6
#10 0xf7e3b401 in ?? () from /usr/lib32/libdl.so.2
#11 0xf7e3ad06 in dlopen () from /usr/lib32/libdl.so.2
#12 0xf763a192 in ?? () from /usr/lib32/libGLX_mesa.so.0
#13 0xf7642ef7 in ?? () from /usr/lib32/libGLX_mesa.so.0
#14 0xf762e8d8 in ?? () from /usr/lib32/libGLX_mesa.so.0
#15 0xf7629c06 in ?? () from /usr/lib32/libGLX_mesa.so.0
#16 0xf762ab48 in ?? () from /usr/lib32/libGLX_mesa.so.0
#17 0x565a2f47 in ?? ()
#18 0x565a8853 in CBaseLinuxUpdateUI::BaseCreateWindow() ()
#19 0x565a974e in CXWindowsUpdateUI::BCreateWindow() ()
#20 0x5658d204 in ?? ()
#21 0x56578e2c in ?? ()
#22 0xf7a10141 in __libc_start_main () from /usr/lib32/libc.so.6
#23 0x5657c6d1 in _start ()