- Status Closed
- Percent Complete
- Task Type Bug Report
- Category Packages → Packages: Stable
- Assigned To No-one
- Operating System i686
- Severity Low
- Priority Medium
- Reported Version
- Due in Version Undecided
-
Due Date
Undecided
- Votes
- Private
Opened by Admin - 14.11.2019
Last edited by Andreas Baumann - 11.02.2022
FS#39 - xorg modesetting module fails with illegal instruction
Attached to Project: Archlinux32
Opened by Andreas Baumann - 13.06.2018
Last edited by Andreas Baumann - 13.09.2018 FS#39 - xorg modesetting module fails with illegal instruction
[ 22.717] (EE) Illegal instruction at address 0xb632cd37
[ 22.718] (EE)
Fatal server error:
[ 22.718] (EE) Caught signal 4 (Illegal instruction). Server aborting
[ 22.719] (EE)
PID: 242 (Xorg) UID: 0 (root) GID: 0 (root) Signal: 6 (ABRT) Timestamp: Wed 2018-06-13 20:53:43 CEST (41s ago) Command Line: /usr/lib/Xorg :0 Executable: /usr/lib/Xorg
Control Group: /user.slice/user-0.slice/session-c1.scope
Unit: session-c1.scope Slice: user-0.slice Session: c1 Owner UID: 0 (root) Boot ID: ea12301d13874fac8112dad7bf566bdb Machine ID: 2f98089cbe8d40cb8776a580d6803b58 Hostname: arch32-staging Storage: /var/lib/systemd/coredump/core.Xorg.0.ea12301d13874fac8112dad7bf566bdb.242.1528916023000> Message: Process 242 (Xorg) of user 0 dumped core. Stack trace of thread 242: #0 0x00000000b7f58d21 __kernel_vsyscall (linux-gate.so.1) #1 0x00000000b7d749c2 raise (libc.so.6) #2 0x00000000b7d5e71e abort (libc.so.6) #3 0x000000000056b555 OsAbort (Xorg) #4 0x000000000056b5d2 FatalError (Xorg) #5 0x000000000060a93a n/a (Xorg) #6 0x00000000b7f58d38 __kernel_rt_sigreturn (linux-gate.so.1) #7 0x00000000b632cd37 n/a (kms_swrast_dri.so) #8 0x00000000b5f0181f n/a (kms_swrast_dri.so) #9 0x00000000b7f698b3 call_init.part.0 (ld-linux.so.2) #10 0x00000000b7f699b2 _dl_init (ld-linux.so.2) #11 0x00000000b7f6d7e0 dl_open_worker (ld-linux.so.2) #12 0x00000000b7e7bc91 _dl_catch_exception (libc.so.6) #13 0x00000000b7f6d077 _dl_open (ld-linux.so.2) #14 0x00000000b7b8cb73 n/a (libdl.so.2) #15 0x00000000b7e7bc91 _dl_catch_exception (libc.so.6) #16 0x00000000b7e7bd40 _dl_catch_error (libc.so.6) #17 0x00000000b7b8d333 n/a (libdl.so.2) #18 0x00000000b7b8cc16 dlopen (libdl.so.2) #19 0x00000000b7f2eb6e n/a (libgbm.so.1) #20 0x00000000b7f2ecb3 n/a (libgbm.so.1) #21 0x00000000b7f2ee24 n/a (libgbm.so.1) #22 0x00000000b7f2f0d7 n/a (libgbm.so.1) #23 0x00000000b7f2c9ba gbm_create_device (libgbm.so.1) #24 0x00000000b6ef4ee4 glamor_egl_init (libglamoregl.so) #25 0x00000000b7f49b4a n/a (modesetting_drv.so) #26 0x000000000051c169 InitOutput (Xorg) #27 0x000000000049d8e1 n/a (Xorg) #28 0x00000000b7d60041 __libc_start_main (libc.so.6) #29 0x000000000049e7e2 _start (Xorg)
Comments (7) Related Tasks (0/0)
Admin
Andreas Baumann commented on 14.06.2018 15:53
#0 0xb7f3ad21 in kernel_vsyscall () [-
#1 0xb7d579c2 in raise () from /usr/lib/libc.so.6
#2 0xb7d4171e in abort () from /usr/lib/libc.so.6
#3 0x005855f5 in OsAbort () at ../xorg-server-1.20.0/os/utils.c:1350
#4 0×00585672 in AbortServer () at ../xorg-server-1.20.0/os/log.c:877
#4 0×00585672 in AbortServer () at ../xorg-server-1.20.0/os/log.c:877
#5 FatalError (f=0x65e1bc “Caught signal %d (%s). Server aborting\n”)
at ../xorg-server-1.20.0/os/log.c:1015
#6 0x00624b5a in OsSigHandler (signo=, sip=, unused=,
signo=, sip=, unused
at ../xorg-server-1.20.0/os/osinit.c:156
#7
#8 0xb62d5d37 in SwrJit::X86Intrinsic::X86Intrinsic (this=0xbf955e24)
at ../mesa-18.1.1/src/gallium/drivers/swr/rasterizer/jitter/functionpasses/lower_x86.cpp:66
#9 std::pair, std::allocator > const, SwrJit::X86Intrinsic>::pair (this=0xbf955e0c, x=…, y=…)
at /usr/include/c++/8.1.1/bits/stl_pair.h:301
#10 0xb5eaa81f in static_initialization_and_destruction_0(int, int) [clone .constprop.236] ()
at /usr/include/c++/8.1.1/new:169
#11 0xb7f4b8b3 in call_init.part () from /lib/ld-linux.so.2
#12 0xb7f4b9b2 in _dl_init () from /lib/ld-linux.so.2
#13 0xb7f4f7e0 in dl_open_worker () from /lib/ld-linux.so.2
#14 0xb7e5ec91 in _dl_catch_exception () from /usr/lib/libc.so.6
#15 0xb7f4f077 in _dl_open () from /lib/ld-linux.so.2
#16 0xb7b6fb73 in ?? () from /usr/lib/libdl.so.2
#17 0xb7e5ec91 in _dl_catch_exception () from /usr/lib/libc.so.6
#18 0xb7e5ed40 in _dl_catch_error () from /usr/lib/libc.so.6
—Type to continue, or q to quit— #19 0xb7b70333 in ?? () from /usr/lib/libdl.so.2
#20 0xb7b6fc16 in dlopen () from /usr/lib/libdl.so.2
#21 0xb7f10b6e in dri_open_driver (dri=, dri
at ../mesa-18.1.1/src/gbm/backends/dri/gbm_dri.c:354
#22 0xb7f10cb3 in dri_load_driver (dri=0x17e9660) at ../mesa-18.1.1/src/gbm/backends/dri/gbm_dri.c:439
#23 dri_screen_create_dri2 (dri=dri@entry=0x17e9660, driver_name
at ../mesa-18.1.1/src/gbm/backends/dri/gbm_dri.c:439
#24 0xb7f10e24 in dri_screen_create_sw (dri=0x17e9660)
at ../mesa-18.1.1/src/gbm/backends/dri/gbm_dri.c:539
#25 0xb7f110d7 in dri_device_create (fd=13) at ../mesa-18.1.1/src/gbm/backends/dri/gbm_dri.c:1429
#26 0xb7f0e9ba in gbm_create_device (fd=13) at ../mesa-18.1.1/src/gbm/main/gbm.c:137
#27 0xb6ebaee4 in glamor_egl_init (scrn=0x17e83a0, fd=13)
at ../xorg-server-1.20.0/glamor/glamor_egl.c:894
#28 0xb7f2bb4a in try_enable_glamor (pScrn=0x17e83a0)
at ../xorg-server-1.20.0/hw/xfree86/drivers/modesetting/driver.c:753
#29 PreInit (pScrn=, flags
at ../xorg-server-1.20.0/hw/xfree86/drivers/modesetting/driver.c:972
#30 0×00536209 in InitOutput (pScreenInfo=0x6fd520 , argc=6, argv=0xbf957944)
at ../xorg-server-1.20.0/hw/xfree86/common/xf86Init.c:536
#31 0x004b7991 in dix_main (envp=, argv=, argc
at ../xorg-server-1.20.0/dix/main.c:193
#32 main (argc=, argv=, envp
at ../xorg-server-1.20.0/dix/stubmain.c:34
=> 0xb62d5d37 <+71>: vmovq -0×20(%ebp),%xmm0
0xb62d5d3c <+76>: vmovq %xmm0,0x18(%esi)
Looks like AVX optimized code in libswr though I’m deleting -D swr-arches=avx,avx2 in
the diff-PKGBUILD (maybe wrongly)?
Admin
Andreas Baumann commented on 14.06.2018 17:55
So, I read OpenSWR requires at least AVX, so we can safely drop the library for 32-bit
machines, right?
So removing swr from the gallium-drivers, then I get croaks about gallium-nine requiring
a pipe.
I’ll continue to drop options in arch-meson in PKGBUILD till I get a working build..
Any help welcome. Admin
Andreas Baumann commented on 14.06.2018 18:13
Some docu:
http://openswr.org/build-linux.html https://www.mesa3d.org/envvars.html https://www.felixcloutier.com/x86/MOVQ.html
Trying the following patch at the moment:
eval “$(
declare -f build | \ sed ' /-D gallium-drivers=/s/,swr//g s/-D swr-arches=avx,avx2//g /gallium-drivers/s/,swr//g s/-D gallium-nine=true/-D gallium-nine=false/g s/-D osmesa=gallium/-D osmesa=classic/g s/dri-drivers=/dri-drivers=swrast,/g '
)”
Admin
Erich Eckner commented on 14.06.2018 20:54
only glitch I see with your fix is, that the options are in one line in `declare -f build`, so the line-matching makes no sense
Admin
Andreas Baumann commented on 15.06.2018 06:07
one line? It should actually be one line each and it worked for me? *puzzle*
Admin
Andreas Baumann commented on 15.06.2018 08:55
This seems to work. But I’m disabling and changing an awful lot of stuff:
# disable AVX/AVX2 in openswf, makes no sense with old CPUs
eval “$(
declare -f build | \ sed ' /-D gallium-drivers=/s/,swr//g s/-D swr-arches=avx,avx2//g /gallium-drivers/s/,swr//g s/-D gallium-nine=true/-D gallium-nine=false/g s/-D osmesa=gallium/-D osmesa=classic/g s/dri-drivers=/dri-drivers=swrast,/g ' declare -f package_mesa | \ sed ' s@_install fakeinstall/usr/lib/d3d@#\0@g s@_install fakeinstall/usr/lib/libswrAVX.*@#\0@g '
)”
Admin
Andreas Baumann commented on 13.09.2018 08:34
Fails again with (mesa 18.1.8 on testing):
Program received signal SIGILL, Illegal instruction.
0xb627e167 in ?? () from /usr/lib/dri/kms_swrast_dri.so
=> 0xb627e167: c5 fa 7e 45 e0 vmovq -0×20(%ebp),%xmm0
11.02.2022 19:58
Reason for closing: Fixed
Additional comments about closing:
Long time ago.. in another universe
(probably)..
(kidding, is
fixed).
Solved?