You are not logged in.

#1 2020-05-25 10:04:46

mr.buffed
Member
Registered: 2018-10-05
Posts: 19

X server crashing with irregular pattern

Hi there everyone,

currently I am facing a problem with my laptop and arch which makes me desperate. With an irregular pattern my X server crashes and kicks me out of my i3 session back into the terminal. I couldn't identify any behavioral pattern I am following in order to cause the crash. I started looking into the logs at ~/.local/share/xorg, but am not quiet sure what to look for or how to interpret the errors. Thus, I wanted to ask you whether you can provide me with any hints where to look for the cause of this behavior and how to fix it.

Further information about my setup:

Laptop:

> dmidecode -t system | grep Version
  Version: ThinkPad X1 Carbon 6th

Window Manager: i3

I am updating my laptop once a day by running pacman -Syu, so all packages are installed in the current version.

X logs: https://pastebin.com/xmbqzRYk (snipped the paste to the relevant part).

At first I thought that it could be related to my problem colord-sane terminates multiple times per hour with buffer overflow, but after checking the logs I noticed that colord isn't running stable since November 2019, but the crashing of the X server only started a couple of weeks ago. Thus, I guess both problems are rather unrelated.

I'd be glad for any pointer in any direction how to resolve this problem as it is super anonying to restart the X session every couple of hours (or even minutes).

Cheers and thanks in advance for your help
mr.buffed

Last edited by mr.buffed (2020-05-25 22:30:18)

Offline

#2 2020-05-25 10:08:43

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,743

Re: X server crashing with irregular pattern

Looks like crashes in the new iris driver, try switching to the older i965 by exporting MESA_LOADER_DRIVER_OVERRIDE=i965 in some globally sourced file like /etc/profile or so. See https://wiki.archlinux.org/index.php/In … ver_(i965) as well.

Offline

#3 2020-05-25 10:22:19

mr.buffed
Member
Registered: 2018-10-05
Posts: 19

Re: X server crashing with irregular pattern

Hi V1del

Thanks for the heads-up! I set the corresponding variable in /etc/profile and am now running my X server again. Since I can't reproduce the crash I'll have to wait and see whether it keeps crashing or stays stable. Can you maybe tell me what lines in my log file made you think that it could be related to the iris driver? I'd be happy to further educate myself in this topic!

Cheers
mr.buffed

Offline

#4 2020-05-25 10:39:16

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 21,743

Re: X server crashing with irregular pattern

Well the reason for the crash is printed in the log so the last few lines are relevant here

[ 28621.845] (EE)
[ 28621.845] (EE) Backtrace:
[ 28621.846] (EE) 0: /usr/lib/Xorg (xorg_backtrace+0x4d) [0x555fe627b76d]
[ 28621.846] (EE) 1: /usr/lib/Xorg (0x555fe61c8000+0xa9cd8) [0x555fe6271cd8]
[ 28621.846] (EE) 2: /usr/lib/libc.so.6 (0x7ff028a03000+0x3c3e0) [0x7ff028a3f3e0]
[ 28621.846] (EE) 3: /usr/lib/libc.so.6 (gsignal+0x145) [0x7ff028a3f355]
[ 28621.846] (EE) 4: /usr/lib/libc.so.6 (abort+0x127) [0x7ff028a28853]
[ 28621.846] (EE) 5: /usr/lib/dri/iris_dri.so (0x7ff0262f7000+0xfb14c) [0x7ff0263f214c]
[ 28621.846] (EE) 6: /usr/lib/dri/iris_dri.so (0x7ff0262f7000+0x9fa7bb) [0x7ff026cf17bb]
[ 28621.846] (EE) 7: /usr/lib/dri/iris_dri.so (0x7ff0262f7000+0x135027) [0x7ff02642c027]
[ 28621.846] (EE) 8: /usr/lib/dri/iris_dri.so (0x7ff0262f7000+0x1350e0) [0x7ff02642c0e0]
[ 28621.846] (EE) 9: /usr/lib/xorg/modules/drivers/modesetting_drv.so (0x7ff028be7000+0x10e98) [0x7ff028bf7e98]
[ 28621.846] (EE) 10: /usr/lib/xorg/modules/drivers/modesetting_drv.so (0x7ff028be7000+0x1104c) [0x7ff028bf804c]
[ 28621.846] (EE) 11: /usr/lib/Xorg (BlockHandler+0xac) [0x555fe63371bc]
[ 28621.846] (EE) 12: /usr/lib/Xorg (WaitForSomething+0x168) [0x555fe627d868]
[ 28621.846] (EE) 13: /usr/lib/Xorg (0x555fe61c8000+0x38946) [0x555fe6200946]
[ 28621.846] (EE) 14: /usr/lib/libc.so.6 (__libc_start_main+0xf2) [0x7ff028a2a002]
[ 28621.847] (EE) 15: /usr/lib/Xorg (_start+0x2e) [0x555fe620139e]
[ 28621.847] (EE)
[ 28621.847] (EE)
Fatal server error:
[ 28621.847] (EE) Caught signal 6 (Aborted). Server aborting
[ 28621.847] (EE)
[ 28621.847] (EE)

That's a stack trace of what the program was doing before crashing. the first 2 are the reason this information is even in the log even though the xorg server is about to die. the next 3 are standard c library failure routines. so the actual interesting bit starts at line 6 and as it stands this really doesn't tell us much that's useful, other than that the last thing that did something that lead to a crash was the /usr/lib/dri/iris_dri.so library. If you were to properly debug this to make an usable bug report this would have to get a bit more involved at this point, but for a simple test of behaviour (and as we do have the ability to choose an alternative here)  just switching the mesa driver should be sufficient.

FWIW do you/did you get any further information on a potential kernel driver crash in dmesg/journalctl when this happened? You don't have to actively reproduce this you still should have relevant journal logs to peruse for the relevant timeframe.

Last edited by V1del (2020-05-25 10:41:10)

Offline

#5 2020-05-25 22:21:40

mr.buffed
Member
Registered: 2018-10-05
Posts: 19

Re: X server crashing with irregular pattern

Ah okay, I see! I saw the stack trace but didn't know what to do with the first lines so I stopped reading there. Unfortunately, I don't have that much experience with debugging such crashes but would like to get into it a little bit more! So thanks already for the short explanation of the first couple of lines in the stack trace, got me researching and reading! I checked journalctl for the last crash and got the following additional information:

May 25 XX:YY:ZZ COMPUTER systemd-coredump[120593]: Process 915 (Xorg) of user 1000 dumped core.
                                               
                                               Stack trace of thread 915:
                                               #0  0x00007f06c47fb355 raise (libc.so.6 + 0x3c355)
                                               #1  0x00007f06c47e4853 abort (libc.so.6 + 0x25853)
                                               #2  0x00005556b7e3fcca OsAbort (Xorg + 0xa2cca)
                                               #3  0x00005556b7e43511 FatalError (Xorg + 0xa6511)
                                               #4  0x00005556b7e46d42 n/a (Xorg + 0xa9d42)
                                               #5  0x00007f06c47fb3e0 __restore_rt (libc.so.6 + 0x3c3e0)
                                               #6  0x00007f06c47fb355 raise (libc.so.6 + 0x3c355)
                                               #7  0x00007f06c47e4853 abort (libc.so.6 + 0x25853)
                                               #8  0x00007f06c21ae14c n/a (iris_dri.so + 0xfb14c)
                                               #9  0x00007f06c2aad7bb n/a (iris_dri.so + 0x9fa7bb)
                                               #10 0x00007f06c21e8027 n/a (iris_dri.so + 0x135027)
                                               #11 0x00007f06c21e80e0 n/a (iris_dri.so + 0x1350e0)
                                               #12 0x00007f06c49b3e98 n/a (modesetting_drv.so + 0x10e98)
                                               #13 0x00007f06c49b404c n/a (modesetting_drv.so + 0x1104c)
                                               #14 0x00005556b7f0c1bc BlockHandler (Xorg + 0x16f1bc)
                                               #15 0x00005556b7e52868 WaitForSomething (Xorg + 0xb5868)
                                               #16 0x00005556b7dd5946 n/a (Xorg + 0x38946)
                                               #17 0x00007f06c47e6002 __libc_start_main (libc.so.6 + 0x27002)
                                               #18 0x00005556b7dd639e _start (Xorg + 0x3939e)
                                               
                                               Stack trace of thread 920:
                                               #0  0x00007f06c436de32 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfe32)
                                               #1  0x00007f06c2518dec n/a (iris_dri.so + 0x465dec)
                                               #2  0x00007f06c2518cf8 n/a (iris_dri.so + 0x465cf8)
                                               #3  0x00007f06c4367422 start_thread (libpthread.so.0 + 0x9422)
                                               #4  0x00007f06c48bebf3 __clone (libc.so.6 + 0xffbf3)
                                               
                                               Stack trace of thread 918:
                                               #0  0x00007f06c436de32 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfe32)
                                               #1  0x00007f06c2518dec n/a (iris_dri.so + 0x465dec)
                                               #2  0x00007f06c2518cf8 n/a (iris_dri.so + 0x465cf8)
                                               #3  0x00007f06c4367422 start_thread (libpthread.so.0 + 0x9422)
                                               #4  0x00007f06c48bebf3 __clone (libc.so.6 + 0xffbf3)
                                               
                                               Stack trace of thread 923:
                                               #0  0x00007f06c436de32 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfe32)
                                               #1  0x00007f06c2518dec n/a (iris_dri.so + 0x465dec)
                                               #2  0x00007f06c2518cf8 n/a (iris_dri.so + 0x465cf8)
                                               #3  0x00007f06c4367422 start_thread (libpthread.so.0 + 0x9422)
                                               #4  0x00007f06c48bebf3 __clone (libc.so.6 + 0xffbf3)
                                               
                                               Stack trace of thread 919:
                                               #0  0x00007f06c436de32 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfe32)
                                               #1  0x00007f06c2518dec n/a (iris_dri.so + 0x465dec)
                                               #2  0x00007f06c2518cf8 n/a (iris_dri.so + 0x465cf8)
                                               #3  0x00007f06c4367422 start_thread (libpthread.so.0 + 0x9422)
                                               #4  0x00007f06c48bebf3 __clone (libc.so.6 + 0xffbf3)
                                               
                                               Stack trace of thread 921:
                                               #0  0x00007f06c436de32 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfe32)
                                               #1  0x00007f06c2518dec n/a (iris_dri.so + 0x465dec)
                                               #2  0x00007f06c2518cf8 n/a (iris_dri.so + 0x465cf8)
                                               #3  0x00007f06c4367422 start_thread (libpthread.so.0 + 0x9422)
                                               #4  0x00007f06c48bebf3 __clone (libc.so.6 + 0xffbf3)
                                               
                                               Stack trace of thread 922:
                                               #0  0x00007f06c436de32 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfe32)
                                               #1  0x00007f06c2518dec n/a (iris_dri.so + 0x465dec)
                                               #2  0x00007f06c2518cf8 n/a (iris_dri.so + 0x465cf8)
                                               #3  0x00007f06c4367422 start_thread (libpthread.so.0 + 0x9422)
                                               #4  0x00007f06c48bebf3 __clone (libc.so.6 + 0xffbf3)
                                               
                                               Stack trace of thread 924:
                                               #0  0x00007f06c436de32 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfe32)
                                               #1  0x00007f06c2518dec n/a (iris_dri.so + 0x465dec)
                                               #2  0x00007f06c2518cf8 n/a (iris_dri.so + 0x465cf8)
                                               #3  0x00007f06c4367422 start_thread (libpthread.so.0 + 0x9422)
                                               #4  0x00007f06c48bebf3 __clone (libc.so.6 + 0xffbf3)
                                               
                                               Stack trace of thread 925:
                                               #0  0x00007f06c436de32 pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0 + 0xfe32)
                                               #1  0x00007f06c2518dec n/a (iris_dri.so + 0x465dec)
                                               #2  0x00007f06c2518cf8 n/a (iris_dri.so + 0x465cf8)
                                               #3  0x00007f06c4367422 start_thread (libpthread.so.0 + 0x9422)
                                               #4  0x00007f06c48bebf3 __clone (libc.so.6 + 0xffbf3)

Checking dmesg for the corresponding timestamp only yields the following line:

[ +28.552636] audit: type=1701 audit(1590420576.062:162): auid=1000 uid=1000 gid=985 ses=1 pid=915 comm="Xorg" exe="/usr/lib/Xorg" sig=6 res=1

So, the next step to further debug the iris driver crash would be to compile the driver in a debug version and wait for a more detailed stack trace?

Last edited by mr.buffed (2020-05-25 22:29:15)

Offline

Board footer

Powered by FluxBB