Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 2032180

Summary: gdm crashed in ensure_display_for_seat(), can't login to the GUI
Product: Red Hat Enterprise Linux 8 Reporter: Lili Huang <lilhuang>
Component: gdmAssignee: Ray Strode [halfline] <rstrode>
Status: CLOSED ERRATA QA Contact: Michal Odehnal <modehnal>
Severity: high Docs Contact:
Priority: high    
Version: 8.5CC: casantos, hdegoede, jadahl, mkolbas, rstrode, sbarcomb, tpelka, tpopela
Target Milestone: rcKeywords: Triaged, ZStream
Target Release: ---Flags: pm-rhel: mirror+
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: gdm-40.0-23.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 2036584 (view as bug list) Environment:
Last Closed: 2022-05-10 13:34:39 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2036584    

Description Lili Huang 2021-12-14 07:34:48 UTC
Description of problem:

Customer is using RHEL8.5 and executed dnf update to make sure the packages are the latest. He can't login to the GUI session, after enter the username and password, the screen goes back to the login screen.

Both xorg and wayland have the same issue. But when disabled wayland, gdm crashed and dumped a core.

--------------------------
Core was generated by `/usr/sbin/gdm'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x0000562553b3900e in ensure_display_for_seat (factory=0x562555c946c0, 
    seat_id=0x562555cf2a90 "seat0") at ../daemon/gdm-local-display-factory.c:687
687	                g_debug ("GdmLocalDisplayFactory: New displays on seat0 will use %s%s",
[Current thread is 1 (Thread 0x7f80f98f6500 (LWP 1246))]
(gdb) Quit
(gdb) bt
#0  0x0000562553b3900e in ensure_display_for_seat (factory=0x562555c946c0, 
    seat_id=0x562555cf2a90 "seat0") at ../daemon/gdm-local-display-factory.c:687
#1  0x0000562553b3999d in on_display_status_changed (display=0x562555c8d340, arg1=<optimized out>, 
    factory=0x562555c946c0) at ../daemon/gdm-local-display-factory.c:563
#2  0x00007f80f915d3bd in g_closure_invoke (closure=0x562555ce8e00, return_value=0x0, n_param_values=2, 
    param_values=0x7ffc91935360, invocation_hint=0x7ffc919352e0) at gclosure.c:804
#3  0x00007f80f9170945 in signal_emit_unlocked_R (node=node@entry=0x562555c79570, 
    detail=detail@entry=256, instance=instance@entry=0x562555c8d340, 
    emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7ffc91935360) at gsignal.c:3636
#4  0x00007f80f9179a56 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, 
    detail=<optimized out>, var_args=var_args@entry=0x7ffc91935540) at gsignal.c:3392
#5  0x00007f80f917a093 in g_signal_emit (instance=instance@entry=0x562555c8d340, 
    signal_id=<optimized out>, detail=<optimized out>) at gsignal.c:3448
#6  0x00007f80f9161df4 in g_object_dispatch_properties_changed (object=0x562555c8d340, 
    n_pspecs=<optimized out>, pspecs=<optimized out>) at gobject.c:1082
#7  0x00007f80f91642d1 in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x562555c8d340)
    at gobject.c:1175
#8  g_object_notify (object=0x562555c8d340, property_name=property_name@entry=0x562553b587e8 "status")
    at gobject.c:1223
#9  0x0000562553b32fd4 in _gdm_display_set_status (self=self@entry=0x562555c8d340, status=status@entry=5)
    at ../daemon/gdm-display.c:500
--Type <RET> for more, q to quit, c to continue without paging--
#10 0x0000562553b35397 in gdm_display_unmanage (self=self@entry=0x562555c8d340)
    at ../daemon/gdm-display.c:697

#11 0x0000562553b3bc82 in remove_user_session (manager=0x562555c9e0e0, session=0x562555cb4040)
    at ../daemon/gdm-manager.c:2008
#12 0x00007f80f915d3bd in g_closure_invoke (closure=0x562555cbbea0, return_value=0x0, n_param_values=2, 
    param_values=0x7ffc919358a0, invocation_hint=0x7ffc91935820) at gclosure.c:804
#13 0x00007f80f9170945 in signal_emit_unlocked_R (node=node@entry=0x562555cb2520, detail=detail@entry=0, 
    instance=instance@entry=0x562555cb4040, emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7ffc919358a0) at gsignal.c:3636
#14 0x00007f80f9179a56 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, 
    detail=<optimized out>, var_args=var_args@entry=0x7ffc91935a80) at gsignal.c:3392
#15 0x00007f80f917a093 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, 
    detail=<optimized out>) at gsignal.c:3448
#16 0x00007f80f63da09e in ffi_call_unix64 () at ../src/x86/unix64.S:76
#17 0x00007f80f63d9a4f in ffi_call (cif=cif@entry=0x7ffc91935d30, 
    fn=fn@entry=0x562553b43150 <worker_on_session_exited>, rvalue=<optimized out>, 
    avalue=avalue@entry=0x7ffc91935c60) at ../src/x86/ffi64.c:525
#18 0x00007f80f915de85 in g_cclosure_marshal_generic (closure=<optimized out>, 
    return_gvalue=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, 
    invocation_hint=<optimized out>, marshal_data=<optimized out>) at gclosure.c:1490
#19 0x00007f80f915d3bd in g_closure_invoke (closure=0x562555ce0460, return_value=0x0, n_param_values=3, 
    param_values=0x562555ce85f0, invocation_hint=0x7ffc91935ee0) at gclosure.c:804
--Type <RET> for more, q to quit, c to continue without paging--
#20 0x00007f80f9170945 in signal_emit_unlocked_R (node=node@entry=0x562555cc7a80, detail=detail@entry=0, 
    instance=instance@entry=0x562555cc9130, emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x562555ce85f0) at gsignal.c:3636
#21 0x00007f80f9178bbf in g_signal_emitv (instance_and_params=instance_and_params@entry=0x562555ce85f0, 
    signal_id=<optimized out>, detail=detail@entry=0, return_value=return_value@entry=0x0)
    at gsignal.c:3130
#22 0x0000562553b2dfb5 in gdm_dbus_worker_proxy_g_signal (proxy=<optimized out>, 
    sender_name=<optimized out>, signal_name=<optimized out>, parameters=<optimized out>)
    at daemon/gdm-session-worker-glue.c:3651
#23 0x00007f80f63da09e in ffi_call_unix64 () at ../src/x86/unix64.S:76
#24 0x00007f80f63d9a4f in ffi_call (cif=cif@entry=0x7ffc919362c0, 
    fn=fn@entry=0x562553b2de90 <gdm_dbus_worker_proxy_g_signal>, rvalue=<optimized out>, 
    avalue=avalue@entry=0x7ffc919361f0) at ../src/x86/ffi64.c:525
#25 0x00007f80f915de85 in g_cclosure_marshal_generic (closure=<optimized out>, 
    return_gvalue=<optimized out>, n_param_values=<optimized out>, param_values=<optimized out>, 
    invocation_hint=<optimized out>, marshal_data=<optimized out>) at gclosure.c:1490
#26 0x00007f80f915d3bd in g_closure_invoke (closure=0x562555c89730, return_value=0x0, n_param_values=4, 
    param_values=0x7ffc919364f0, invocation_hint=0x7ffc91936470) at gclosure.c:804
#27 0x00007f80f917019d in signal_emit_unlocked_R (node=node@entry=0x562555c89760, detail=detail@entry=0, 
    instance=instance@entry=0x562555cc9130, emission_return=emission_return@entry=0x0, 
    instance_and_params=instance_and_params@entry=0x7ffc919364f0) at gsignal.c:3674
#28 0x00007f80f9179a56 in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, 
--Type <RET> for more, q to quit, c to continue without paging--
    detail=<optimized out>, var_args=var_args@entry=0x7ffc91936700) at gsignal.c:3392
#29 0x00007f80f917a093 in g_signal_emit (instance=instance@entry=0x562555cc9130, 
    signal_id=<optimized out>, detail=detail@entry=0) at gsignal.c:3448
#30 0x00007f80f8b5da28 in on_signal_received (connection=<optimized out>, sender_name=0x0, 
    object_path=<optimized out>, interface_name=<optimized out>, 
    signal_name=0x7f80e400e390 "SessionExited", parameters=0x562555c7d720, user_data=0x562555cde600)
    at gdbusproxy.c:918
#31 0x00007f80f8b4c928 in emit_signal_instance_in_idle_cb (data=data@entry=0x7f80e400e2d0)
    at gdbusconnection.c:3721
#32 0x00007f80f8e7e27b in g_idle_dispatch (source=0x7f80e4010490, 
    callback=0x7f80f8b4c8b0 <emit_signal_instance_in_idle_cb>, user_data=0x7f80e400e2d0) at gmain.c:5579
#33 0x00007f80f8e8195d in g_main_dispatch (context=0x562555c8cf10) at gmain.c:3193
#34 g_main_context_dispatch (context=context@entry=0x562555c8cf10) at gmain.c:3873
#35 0x00007f80f8e81d18 in g_main_context_iterate (context=0x562555c8cf10, block=block@entry=1, 
    dispatch=dispatch@entry=1, self=<optimized out>) at gmain.c:3946
#36 0x00007f80f8e82042 in g_main_loop_run (loop=0x562555c9ba50) at gmain.c:4142
#37 0x0000562553b1c910 in main (argc=<optimized out>, argv=<optimized out>) at ../daemon/main.c:395
(gdb) 
--------------------------

When use wayland, syslog shows, but no core dumped.

Dec 14 12:46:46 XXX /usr/libexec/gdm-wayland-session[4258]: dbus-daemon[4260]: [session uid=1000 pid=4260] Activating service name='org.freedesktop.systemd1' requested by ':1.0' (uid=1000 pid=4258 comm="/usr/libexec/gdm-wayland-session --register-sessio")
Dec 14 12:46:46 XXX /usr/libexec/gdm-wayland-session[4258]: dbus-daemon[4260]: [session uid=1000 pid=4260] Activated service 'org.freedesktop.systemd1' failed: Process org.freedesktop.systemd1 exited with status 1
Dec 14 12:46:46 XXX /usr/libexec/gdm-wayland-session[4258]: Unable to register display with display manager
Dec 14 12:46:46 XXX gdm[1165]: Gdm: GdmDisplay: Session never registered, failing
Dec 14 12:46:48 XXX journal[3472]: unable to get EDID for xrandr-Virtual-1: unable to get EDID for output
...
Dec 14 12:46:48 XXX journal[3472]: unable to get EDID for xrandr-Virtual-1: unable to get EDID for output
Dec 14 12:46:48 XXX journal[3472]: unable to get EDID for xrandr-Virtual-1: unable to get EDID for output


00:0f.0 VGA compatible controller [0300]: VMware SVGA II Adapter [15ad:0405] (prog-if 00 [VGA controller])
	Subsystem: VMware SVGA II Adapter [15ad:0405]
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64, Cache Line Size: 32 bytes
	Interrupt: pin A routed to IRQ 16
	Region 0: I/O ports at 1070 [size=16]
	Region 1: Memory at e8000000 (32-bit, prefetchable) [size=128M]
	Region 2: Memory at fe000000 (32-bit, non-prefetchable) [size=8M]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: [40] Vendor Specific Information: Len=00 <?>
	Capabilities: [44] PCI Advanced Features
		AFCap: TP+ FLR+
		AFCtrl: FLR-
		AFStatus: TP-
	Kernel driver in use: vmwgfx
	Kernel modules: vmwgfx

filename:       /lib/modules/4.18.0-348.2.1.el8_5.x86_64/kernel/drivers/gpu/drm/vmwgfx/vmwgfx.ko.xz
version:        2.18.0.0
license:        GPL and additional rights
description:    Standalone drm driver for the VMware SVGA device
author:         VMware Inc. and others
rhelversion:    8.5
srcversion:     0B5439716C148EC4709FFCA
alias:          pci:v000015ADd00000405sv*sd*bc*sc*i*
depends:        drm,ttm,drm_kms_helper
intree:         Y
name:           vmwgfx
vermagic:       4.18.0-348.2.1.el8_5.x86_64 SMP mod_unload modversions


Version-Release number of selected component (if applicable):
gnome-shell-3.32.2-40.el8.x86_64                            Mon Nov 29 10:32:06 2021
kernel-4.18.0-348.2.1.el8_5.x86_64                          Mon Nov 29 10:32:50 2021

How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:
Can't login to the GUI

Expected results:
login to desktop without issue

Additional info:

As a workaround, in runlevel 3, login to the system with a non-root user, then run $ startx , can login to the GUI.

Comment 2 Florian Müllner 2021-12-14 13:59:10 UTC
The stacktrace points to GDM, and the upstream issue is in gdm as well. That is, I don't understand why this bug was filed against gnome-shell.

Comment 3 Ray Strode [halfline] 2021-12-21 19:10:56 UTC
fix is already upstream, bug introduced in 8.5, devack+ and proposing for z-stream

https://gitlab.gnome.org/GNOME/gdm/-/commit/3db4bc7a35d97d9cbdfc978c9f9dc4c1023e7f36

Comment 11 errata-xmlrpc 2022-05-10 13:34:39 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (gdm bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2022:1771