Bug 1661952 - lightdm gtk crashes on boot, DE unusable
Summary: lightdm gtk crashes on boot, DE unusable
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: lightdm-gtk
Version: 31
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Orphan Owner
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1662519 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-12-24 19:22 UTC by Paul DeStefano
Modified: 2020-11-24 15:51 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-11-24 15:51:10 UTC
Type: Bug


Attachments (Terms of Use)
logfile (4.48 KB, text/plain)
2018-12-24 21:49 UTC, Paul DeStefano
no flags Details
logfile (1.16 KB, text/plain)
2018-12-24 21:49 UTC, Paul DeStefano
no flags Details
seat-0 log file (661 bytes, text/plain)
2018-12-24 21:50 UTC, Paul DeStefano
no flags Details

Description Paul DeStefano 2018-12-24 19:22:51 UTC
Description of problem:
After weekly update, system will not boot to DM.

Version-Release number of selected component (if applicable):
lightdm-gtk-2.0.5-2.fc29.x86_64

Steps to Reproduce:
1. dnf update
2. reboot

Comment 1 Rex Dieter 2018-12-24 19:27:38 UTC
Not much to go on here, no evidence it is actually lightdm failing (speculating it could be X startup or driver related too).

Mind posting some log content, anything interesting from
output from : journalctl --system
content from logs
/var/log/Xorg.0.log
/var/log/lightdm/*.log

??

Comment 2 Paul DeStefano 2018-12-24 21:41:11 UTC
Yes, the journal shows a coredump.

Dec 24 13:18:54 <hostname> systemd-coredump[1663]: Process 1622 (lightdm-gtk-gre) of user 996 dumped core.
                                                 
                                                 Stack trace of thread 1622:
                                                 #0  0x00007fde649b91e5 n/a (libglib-2.0.so.0)
                                                 #1  0x00007fde649ba2b1 g_log_default_handler (libglib-2.0.so.0)
                                                 #2  0x00007fde649ba4ff g_logv (libglib-2.0.so.0)
                                                 #3  0x00007fde649ba6f3 g_log (libglib-2.0.so.0)
                                                 #4  0x00007fde649dc6ea g_thread_new (libglib-2.0.so.0)
                                                 #5  0x00007fde64bb9ba4 n/a (libgio-2.0.so.0)
                                                 #6  0x00007fde64bad5f0 n/a (libgio-2.0.so.0)
                                                 #7  0x00007fde64badc7b g_bus_get_sync (libgio-2.0.so.0)
                                                 #8  0x00007fde61ee412f n/a (libgvfsdbus.so)
                                                 #9  0x00007fde64ac098a g_type_create_instance (libgobject-2.0.so.0)
                                                 #10 0x00007fde64aa3058 n/a (libgobject-2.0.so.0)
                                                 #11 0x00007fde64aa47a5 g_object_new_with_properties (libgobject-2.0.so.0)
                                                 #12 0x00007fde64aa5361 g_object_new (libgobject-2.0.so.0)
                                                 #13 0x00007fde64b4e6ac n/a (libgio-2.0.so.0)
                                                 #14 0x00007fde64b4e83b n/a (libgio-2.0.so.0)
                                                 #15 0x00007fde64b39b82 g_file_new_for_uri (libgio-2.0.so.0)
                                                 #16 0x00007fde6512881b gtk_css_provider_load_from_resource (libgtk-3.so.0)
                                                 #17 0x00007fde65128b6b n/a (libgtk-3.so.0)
                                                 #18 0x00007fde652667ef n/a (libgtk-3.so.0)
                                                 #19 0x00007fde65269cf4 n/a (libgtk-3.so.0)
                                                 #20 0x00007fde65133cde n/a (libgtk-3.so.0)
                                                 #21 0x00007fde6511faa6 n/a (libgtk-3.so.0)
                                                 #22 0x00007fde64ac094d g_type_create_instance (libgobject-2.0.so.0)
                                                 #23 0x00007fde64aa3058 n/a (libgobject-2.0.so.0)
                                                 #24 0x00007fde64aa47a5 g_object_new_with_properties (libgobject-2.0.so.0)
                                                 #25 0x00007fde64aa5361 g_object_new (libgobject-2.0.so.0)
                                                 #26 0x00007fde6513c56e n/a (libgtk-3.so.0)
                                                 #27 0x00007fde65318f5a n/a (libgtk-3.so.0)
                                                 #28 0x00007fde64ac094d g_type_create_instance (libgobject-2.0.so.0)
                                                 #29 0x00007fde64aa3058 n/a (libgobject-2.0.so.0)
                                                 #30 0x00007fde64aa4fde g_object_new_valist (libgobject-2.0.so.0)
                                                 #31 0x00007fde64aa533d g_object_new (libgobject-2.0.so.0)
                                                 #32 0x0000555fa27d298e main (lightdm-gtk-greeter)
                                                 #33 0x00007fde644f6ee3 __libc_start_main (libc.so.6)
                                                 #34 0x0000555fa27d435a _start (lightdm-gtk-greeter)
                                                 
                                                 Stack trace of thread 1645:
                                                 #0  0x00007fde645c4681 __poll (libc.so.6)
                                                 #1  0x00007fde649b33a6 n/a (libglib-2.0.so.0)
                                                 #2  0x00007fde649b34d0 g_main_context_iteration (libglib-2.0.so.0)
                                                 #3  0x00007fde649b3521 n/a (libglib-2.0.so.0)
                                                 #4  0x00007fde649dc2aa n/a (libglib-2.0.so.0)
                                                 #5  0x00007fde6469e583 start_thread (libpthread.so.0)
                                                 #6  0x00007fde645cf4d3 __clone (libc.so.6)
Dec 24 13:18:55 <hostname> systemd[1]: lightdm.service: Service RestartSec=100ms expired, scheduling restart.

I'll attach the other files.  I agree about the drivers, it's just that I never had any trouble with the intel drivers on this laptop, so, I didn't consider it.  However, the logs do mention i915 load problems. Only, i915 kernel modules are loaded, so, I'm not sure what to make of it.

Comment 3 Paul DeStefano 2018-12-24 21:49:16 UTC
Created attachment 1516589 [details]
logfile

Comment 4 Paul DeStefano 2018-12-24 21:49:40 UTC
Created attachment 1516590 [details]
logfile

Comment 5 Paul DeStefano 2018-12-24 21:50:39 UTC
Created attachment 1516591 [details]
seat-0 log file

Comment 6 Rex Dieter 2018-12-24 22:24:59 UTC
OK, so the backtrace is a good start, but it's missing -debuginfo to be fully helpful (to actually aid in debugging).  Ideally, abrt would catch and be able to submit a report that includes such information (doing it by hand is much less fun).

Comment 7 Paul DeStefano 2018-12-24 23:34:03 UTC
Can I get abrt to submit from cli?  Or are you asking me to install debuginfos.  Ugh.  I mean, installing in them is okay, but I don't remember how to make sure I install all the necessary debuginfos.  And, if I do, will systemd-coredump show me a backtrace or will I have to analyze with gcc.  Just want to know before I dive in.

Comment 8 Valdis Kletnieks 2018-12-25 23:28:21 UTC
Am seeing this as well, under both slick-greeter and lightdm-gtk-greeter.

In both cases the crash is in libglib2.so,for the 2.58.2-1 version it dies at +80000. Backleveling to 2.58.1-1 (which was working) the crash moves to +7f000. The page-aligned failures are odd,hinting at a page mapping problem. But backleveling glibc and booting an older kernel didn't fix things. Looking at all the rpms that own a .so listed by ldd, and comparing to everything listed in /var/log/dnf.rpm.log* everything obviously relevant has been backleveled to a known working release,so I'm mystified.

Comment 9 Valdis Kletnieks 2018-12-27 03:34:09 UTC
Looks like this is a duplicate of systemd bugzilla #1662168, #1662080, and possibly #1661945.

No, I have no clue why it manifests as a crash in libglib2.so.

Comment 10 Villy Kruse 2018-12-28 09:41:57 UTC
The problem also occurs when running as a guest OS in qemu/kvm.

Comment 11 Paul DeStefano 2018-12-28 17:50:20 UTC
bug 1662168, bug 1662080, bug 1661945

Comment 12 Paul DeStefano 2018-12-28 17:56:27 UTC
I installed the debuginfos with dnf, but it did not change the backtrace reported to the journal on startup.  Should it?  Do I need to install more debuginfo pkgs?  Let me know if this information is still valuable.

Comment 13 Villy Kruse 2018-12-29 07:56:10 UTC
I created bug 1662519 using the Bug Reporting Tool.  I hope that would include enough symbols for the backtrace.

Comment 14 leigh scott 2018-12-29 09:12:49 UTC
Can the real owner set the true assignee!!

Comment 15 leigh scott 2019-01-02 16:29:35 UTC
(In reply to Rex Dieter from comment #1)
> Not much to go on here, no evidence it is actually lightdm failing
> (speculating it could be X startup or driver related too).


It's probably systemd-240, it's killed slick and gtk greeters.

https://bugzilla.redhat.com/show_bug.cgi?id=1662857

Comment 16 Villy Kruse 2019-01-04 12:36:52 UTC
(In reply to leigh scott from comment #15)
> (In reply to Rex Dieter from comment #1)
> > Not much to go on here, no evidence it is actually lightdm failing
> > (speculating it could be X startup or driver related too).
> 
> 
> It's probably systemd-240, it's killed slick and gtk greeters.
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1662857

Downgrading to systemd-239-10.git3bf819c.fc30 makes the problem go away.

Comment 17 Villy Kruse 2019-01-07 16:31:53 UTC
Running strace on the greeter-gtk process shows a number of failed mmap calls, errno = EAGAIN.

Example:



openat(AT_FDCWD, "/usr/lib64/dri/tls/swrast_dri.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
openat(AT_FDCWD, "/usr/lib64/dri/swrast_dri.so", O_RDONLY|O_CLOEXEC) = 6
read(6, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0000\300\10\0\0\0\0\0"..., 832) = 832
lseek(6, 13119176, SEEK_SET)            = 13119176
read(6, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
fstat(6, {st_mode=S_IFREG|0755, st_size=14138904, ...}) = 0
lseek(6, 13119176, SEEK_SET)            = 13119176
read(6, "\4\0\0\0\20\0\0\0\5\0\0\0GNU\0\2\0\0\300\4\0\0\0\3\0\0\0\0\0\0\0", 32) = 32
mmap(NULL, 15661208, PROT_READ, MAP_PRIVATE|MAP_DENYWRITE, 6, 0) = 0x7f9e3448f000
mprotect(0x7f9e34516000, 12570624, PROT_NONE) = 0
mmap(0x7f9e34516000, 9199616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 6, 0x87000) = -1 EAGAIN (Resource temporarily unavailable)
close(6)                                = 0
write(2, "libGL error: ", 13)           = 13
write(2, "unable to load driver: swrast_dr"..., 37) = 37
write(2, "libGL error: ", 13)           = 13
write(2, "failed to load driver: swrast\n", 30) = 30

Running with previous systemd version, no mmap errors occurred.

Comment 18 Villy Kruse 2019-01-08 09:18:28 UTC
The problem is probably caused by this call

mlockall (MCL_CURRENT | MCL_FUTURE);

in src/lightdm-gtk-greeter.c

That used to always fail but now ulimit -l is set to 64MiB and mlockall succeeds.

The effect of that is that when the total allocated memory including all dynamic libraries exceeds that limit the mmap fails due to the MCL_FUTURE flag.

Forcing the ulimit -l to the previous value of 16MiB makes the problem go away again.

Comment 19 Villy Kruse 2019-01-09 08:58:13 UTC
*** Bug 1662519 has been marked as a duplicate of this bug. ***

Comment 20 Ben Cotton 2019-08-13 16:48:06 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 21 Ben Cotton 2020-11-03 15:06:41 UTC
This message is a reminder that Fedora 31 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 31 on 2020-11-24.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '31'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 31 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 22 Ben Cotton 2020-11-24 15:51:10 UTC
Fedora 31 changed to end-of-life (EOL) status on 2020-11-24. Fedora 31 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.