You are not logged in.

#1 2016-01-16 03:38:24

Blodo
Member
Registered: 2015-11-23
Posts: 8

[Solved] Xorg coredump when attempting to launch display manager

Just to give a little bit of context behind this issue: it's related to the last thread I posted here, which was never really fixed because downgrading Xorg is kind of a terrible fix. Since I posted that thread there has been a new Xorg release (and a bunch of Mesa updates) so I figured I would try this again.

Basically the problem is this:

When I boot into the system while having a display manager enabled, I get a coredump. This is for sddm:

Jan 16 03:08:19 HongKong sddm[378]: Running display setup script  "/usr/share/sddm/scripts/Xsetup"
Jan 16 03:08:19 HongKong sddm[378]: Display server started.
Jan 16 03:08:19 HongKong sddm[378]: Socket server starting...
Jan 16 03:08:19 HongKong sddm[378]: Socket server started.
Jan 16 03:08:19 HongKong sddm[378]: Greeter starting...
Jan 16 03:08:19 HongKong sddm[378]: Adding cookie to "/var/run/sddm/{afdda3a1-0836-47c9-b0df-1fd01e375112}"
Jan 16 03:08:19 HongKong sddm[378]: /usr/bin/xauth: (stdin):1:  bad "remove" command line
Jan 16 03:08:19 HongKong sddm[378]: /usr/bin/xauth: (stdin):2:  bad "add" command line
Jan 16 03:08:19 HongKong systemd-coredump[420]: Removed old coredump core.Xorg.0.e7b12fedd54a49ef9d086f91b15ab4fd.4120.14529132030000$
Jan 16 03:08:19 HongKong sddm[378]: Display server stopped.
Jan 16 03:08:19 HongKong sddm[378]: Running display stop script  "/usr/share/sddm/scripts/Xstop"
Jan 16 03:08:19 HongKong systemd-coredump[420]: Process 401 (Xorg) of user 0 dumped core.

                                                Stack trace of thread 401:
                                                #0  0x00007f6499e5d5f8 raise (libc.so.6)
                                                #1  0x00007f6499e5ea7a abort (libc.so.6)
                                                #2  0x000000000059ab3e OsAbort (Xorg)
                                                #3  0x0000000000478d5c ddxGiveUp (Xorg)
                                                #4  0x00000000005a07b2 n/a (Xorg)
                                                #5  0x00000000005a15ed FatalError (Xorg)
                                                #6  0x00000000005983de n/a (Xorg)
                                                #7  0x00007f6499e5d680 __restore_rt (libc.so.6)
                                                #8  0x00007f6494298425 glamor_egl_create_textured_pixmap (libglamoregl.so)
                                                #9  0x00007f6494298613 glamor_egl_create_textured_screen (libglamoregl.so)
                                                #10 0x00007f64949375d6 n/a (radeon_drv.so)
                                                #11 0x00007f649492b9b8 n/a (radeon_drv.so)
                                                #12 0x00000000004ad03e n/a (Xorg)
                                                #13 0x000000000043a0be n/a (Xorg)
                                                #14 0x00007f6499e4a610 __libc_start_main (libc.so.6)
                                                #15 0x00000000004245c9 _start (Xorg)
                                                
                                                Stack trace of thread 417:
                                                #0  0x00007f6499c1a07f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f64930f7443 n/a (radeonsi_dri.so)
                                                #2  0x00007f64930f72a7 n/a (radeonsi_dri.so)
                                                #3  0x00007f6499c144a4 start_thread (libpthread.so.0)
                                                #4  0x00007f6499f1313d __clone (libc.so.6)

                                                Stack trace of thread 419:
                                                #0  0x00007f6499c1a07f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f64930f7443 n/a (radeonsi_dri.so)
                                                #2  0x00007f64930f72a7 n/a (radeonsi_dri.so)
                                                #3  0x00007f6499c144a4 start_thread (libpthread.so.0)
                                                #4  0x00007f6499f1313d __clone (libc.so.6)

                                                Stack trace of thread 418:
                                                #0  0x00007f6499c1a07f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f64930f7443 n/a (radeonsi_dri.so)
                                                #2  0x00007f64930f72a7 n/a (radeonsi_dri.so)
                                                #3  0x00007f6499c144a4 start_thread (libpthread.so.0)
                                                #4  0x00007f6499f1313d __clone (libc.so.6)

                                                Stack trace of thread 408:
                                                #0  0x00007f6499c1a07f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f649311cde3 n/a (radeonsi_dri.so)
                                                #2  0x00007f649311c537 n/a (radeonsi_dri.so)
                                                #3  0x00007f6499c144a4 start_thread (libpthread.so.0)
                                                #4  0x00007f6499f1313d __clone (libc.so.6)

                                                Stack trace of thread 402:
                                                #0  0x00007f6499c1a07f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f649311cde3 n/a (radeonsi_dri.so)
                                                #2  0x00007f649311c537 n/a (radeonsi_dri.so)
                                                #3  0x00007f6499c144a4 start_thread (libpthread.so.0)
                                                #4  0x00007f6499f1313d __clone (libc.so.6)

                                                Stack trace of thread 416:
                                                #0  0x00007f6499c1a07f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f64930f7443 n/a (radeonsi_dri.so)
                                                #2  0x00007f64930f72a7 n/a (radeonsi_dri.so)
                                                #3  0x00007f6499c144a4 start_thread (libpthread.so.0)
                                                #4  0x00007f6499f1313d __clone (libc.so.6)

And this one is for lightdm:

Jan 16 02:38:19 HongKong systemd[1]: Starting Light Display Manager...
Jan 16 02:38:19 HongKong systemd[1]: Started Light Display Manager.
Jan 16 02:38:19 HongKong systemd[1]: ^[[0;1;39mlightdm.service: Main process exited, code=exited, status=1/FAILURE
Jan 16 02:38:19 HongKong systemd[1]: ^[[0;1;39mlightdm.service: Unit entered failed state.
Jan 16 02:38:19 HongKong systemd[1]: ^[[0;1;39mlightdm.service: Failed with result 'exit-code'.
Jan 16 02:38:19 HongKong systemd-coredump[422]: Process 415 (Xorg) of user 0 dumped core.

                                                Stack trace of thread 415:
                                                #0  0x00007f49cd14a5f8 raise (libc.so.6)
                                                #1  0x00007f49cd14ba7a abort (libc.so.6)
                                                #2  0x000000000059ab3e OsAbort (Xorg)
                                                #3  0x0000000000478d5c ddxGiveUp (Xorg)
                                                #4  0x00000000005a07b2 n/a (Xorg)
                                                #5  0x00000000005a15ed FatalError (Xorg)
                                                #6  0x00000000005983de n/a (Xorg)
                                                #7  0x00007f49cd14a680 __restore_rt (libc.so.6)
                                                #8  0x00007f49c7585425 glamor_egl_create_textured_pixmap (libglamoregl.so)
                                                #9  0x00007f49c7585613 glamor_egl_create_textured_screen (libglamoregl.so)
                                                #10 0x00007f49c7c245d6 n/a (radeon_drv.so)
                                                #11 0x00007f49c7c189b8 n/a (radeon_drv.so)
                                                #12 0x00000000004ad03e n/a (Xorg)
                                                #13 0x000000000043a0be n/a (Xorg)
                                                #14 0x00007f49cd137610 __libc_start_main (libc.so.6)
                                                #15 0x00000000004245c9 _start (Xorg)

                                                Stack trace of thread 419:
                                                #0  0x00007f49ccf0707f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f49c63e4443 n/a (radeonsi_dri.so)
                                                #2  0x00007f49c63e42a7 n/a (radeonsi_dri.so)
                                                #3  0x00007f49ccf014a4 start_thread (libpthread.so.0)
                                                #4  0x00007f49cd20013d __clone (libc.so.6)

                                                Stack trace of thread 420:
                                                #0  0x00007f49ccf0707f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f49c63e4443 n/a (radeonsi_dri.so)
                                                #2  0x00007f49c63e42a7 n/a (radeonsi_dri.so)
                                                #3  0x00007f49ccf014a4 start_thread (libpthread.so.0)
                                                #4  0x00007f49cd20013d __clone (libc.so.6)

                                                Stack trace of thread 417:
                                                #0  0x00007f49ccf0707f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f49c6409de3 n/a (radeonsi_dri.so)
                                                #2  0x00007f49c6409537 n/a (radeonsi_dri.so)
                                                #3  0x00007f49ccf014a4 start_thread (libpthread.so.0)
                                                #4  0x00007f49cd20013d __clone (libc.so.6)

                                                Stack trace of thread 416:
                                                #0  0x00007f49ccf0707f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f49c6409de3 n/a (radeonsi_dri.so)
                                                #2  0x00007f49c6409537 n/a (radeonsi_dri.so)
                                                #3  0x00007f49ccf014a4 start_thread (libpthread.so.0)
                                                #4  0x00007f49cd20013d __clone (libc.so.6)

                                                Stack trace of thread 418:
                                                #0  0x00007f49ccf0707f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f49c63e4443 n/a (radeonsi_dri.so)
                                                #2  0x00007f49c63e42a7 n/a (radeonsi_dri.so)
                                                #3  0x00007f49ccf014a4 start_thread (libpthread.so.0)
                                                #4  0x00007f49cd20013d __clone (libc.so.6)

                                                Stack trace of thread 421:
                                                #0  0x00007f49ccf0707f pthread_cond_wait@@GLIBC_2.3.2 (libpthread.so.0)
                                                #1  0x00007f49c63e4443 n/a (radeonsi_dri.so)
                                                #2  0x00007f49c63e42a7 n/a (radeonsi_dri.so)
                                                #3  0x00007f49ccf014a4 start_thread (libpthread.so.0)
                                                #4  0x00007f49cd20013d __clone (libc.so.6)

That's two different display managers, they can't both be bugged. This only happens when attempting to launch a display manager for some reason, I can log in using the TTY and startx without any problems, and I get booted into my xfce desktop. If I attempt to start lightdm in test mode using xephyr, it works without any coredumps. So I can only assume it's something related to the circumstances in which the computer is in during boot? I've already tried making sure that graphical-target is reached before any of the display managers attempt to start.

Note that this only happens if I upgrade Xorg to >1.17.4-2 (so version 1.18, etc.). Something isn't playing nice, I'm just not sure what. Any hints would be helpful, I really want to fix this without holding updates to Xorg.

More relevant information about my system is here: https://bbs.archlinux.org/viewtopic.php?id=205394

Last edited by Blodo (2016-01-17 11:49:09)

Offline

#2 2016-01-16 03:52:20

TheSaint
Member
From: my computer
Registered: 2007-08-19
Posts: 1,536

Re: [Solved] Xorg coredump when attempting to launch display manager

Did you tried startx ?


do it good first, it will be faster than do it twice the saint wink

Offline

#3 2016-01-16 04:01:30

Blodo
Member
Registered: 2015-11-23
Posts: 8

Re: [Solved] Xorg coredump when attempting to launch display manager

Yes, as mentioned it works without trouble when I use startx from TTY. It coredumps however when a display manager (in this case lightdm or sddm) is attempted to load during boot.

Last edited by Blodo (2016-01-16 04:02:36)

Offline

#4 2016-01-16 04:19:32

TheSaint
Member
From: my computer
Registered: 2007-08-19
Posts: 1,536

Re: [Solved] Xorg coredump when attempting to launch display manager

I overcome any DM, by autostart X and systemd-autologin. But this will exclude any option for the several DE choices.
Though I have SDDM that is used when it locks the screen.

Last edited by TheSaint (2016-01-17 18:47:25)


do it good first, it will be faster than do it twice the saint wink

Offline

#5 2016-01-17 10:15:02

Blodo
Member
Registered: 2015-11-23
Posts: 8

Re: [Solved] Xorg coredump when attempting to launch display manager

Any idea what might be the cause of the core dump though? Ideally I'd like to boot to a DM rather than no DM because it crashes Xorg.

Edit:

I've been looking at the Nvidia optimus issues that people ran into when running multiple GPUs on a laptop, I figured that might be relevant since:

lspci | grep "VGA"
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Hawaii XT [Radeon R9 290X]
02:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cape Verde PRO [Radeon HD 7750/8740 / R7 250E]

So I ran Xorg :1 -configure to generate a xorg.conf file that I can start working on, ran into this:

sudo Xorg :1 -configure

X.Org X Server 1.18.0
Release Date: 2015-11-09
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.2.5-1-ARCH x86_64 
Current Operating System: Linux HongKong 4.3.3-2-ARCH #1 SMP PREEMPT Wed Dec 23 20:09:18 CET 2015 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=af5e0adc-6c32-48df-ba9c-2e09b642fdad rw intel_iommu=on resume=/dev/sdb3 splash
Build Date: 08 January 2016  05:56:16PM
 
Current version of pixman: 0.32.8
	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.1.log", Time: Sun Jan 17 10:58:11 2016
List of video drivers:
	radeon
	ati
	modesetting
(++) Using config file: "/root/xorg.conf.new"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) [KMS] Kernel modesetting enabled.
(II) [KMS] Kernel modesetting enabled.
(EE) 
(EE) Backtrace:
(EE) 0: /usr/lib/xorg-server/Xorg (OsLookupColor+0x139) [0x598499]
(EE) 1: /usr/lib/libc.so.6 (__restore_rt+0x0) [0x7efc95da167f]
(EE) 2: ? (?+0x0) [0x0]
(EE) 
(EE) Segmentation fault at address 0x0
(EE) 
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE) 
(EE) 
Please consult the The X.Org Foundation support 
	 at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.
Aborted

The backtrace is interesting, it's exactly the same function that's on the core dumps from when the DM tries to launch. Could it be something related to modesetting? I know Xorg 1.17 onward has modesetting as part of the package, which would explain why downgrading to 1.16 removes the issue I guess. Any ideas?

Last edited by Blodo (2016-01-17 11:06:30)

Offline

#6 2016-01-17 11:11:09

Cradow
Member
Registered: 2016-01-17
Posts: 6

Re: [Solved] Xorg coredump when attempting to launch display manager

I installed lightdm and lightdm-gtk-greeter and it works without any coredump. I also use XFCE and the recent version of Xorg. Maybe your problem is caused by your graphics driver?
Does

lightdm -d

say something useful?

Last edited by Cradow (2016-01-17 11:11:34)

Offline

#7 2016-01-17 11:48:22

Blodo
Member
Registered: 2015-11-23
Posts: 8

Re: [Solved] Xorg coredump when attempting to launch display manager

It always just showed:

DEBUG: Process x terminated with signal 6

And then it would stop itself. Then if I checked the Xorg log in the lightdm log folder (/var/log/lightdm/x-0.log) it would show the culprit to be a segfault.

Anyway, it got me thinking just now after I read the optimus article that it might be related to kernel modesetting, especially with how weird it was that lightdm would crash on boot, but in test mode it ran just fine from desktop (if I started the service after boot though, it would still crash and render Xorg unresponsive). So I figured I'd try early kernel modesetting start just to see if it will change anything.

Now it works fine, go figure.

My hunch is that modesetting got enabled on the wrong driver (if this conflict is at all possible). I have two monitors, one connected to the vga output from the onboard intel gpu, the other connected to the amd gpu via hdmi. Directly specifying the radeon driver as a kernel module in mkinitcpio.conf must've meant that KMS was properly defined or something, when the usual automagical way broke. So I guess I'll mark this one as solved (again).

Last edited by Blodo (2016-01-17 11:49:33)

Offline

Board footer

Powered by FluxBB