NOTE: this comment was written by an AI (Claude), on behalf of the reporter, from their logs and core dump. ---- New crash with a core dump, inspected with dbgsym installed. It confirms the connector_state==NULL hypothesis from comment #4, and it contradicts the PCD and wake-source theory from my earlier comments.
Versions: libmutter-14-0 46.2-1ubuntu0.24.04.18, gnome-shell 46.0-0ubuntu6~24.04.17, kernel 7.0.0-42-generic. Crash site, libmutter-14.so.0 + 0x17d7f6 (meta-output-kms.c:107): mov 0x18(%rdi),%rdi call meta_kms_connector_get_current_state mov 0x40(%rax),%rbx <-- SIGSEGV, rax = 0 gdb also shows connector_state = 0x0. So meta_kms_connector_get_current_state() really does return NULL here, and meta_output_kms_read_edid() dereferences it unchecked. The caller is again meta_monitor_manager_handle_get_resources, i.e. a GetResources D-Bus call. I could not identify the client. Timeline (Nov 5): 17:44:01 logind: "The system will suspend now!" 17:44:02 USB disconnect of all the dock's devices (apparently unplugged) 17:44:02 gnome-shell: "[atomic] Failed to disable device '/dev/dri/card1': drmModeAtomicCommit: Permission denied" 17:44:04 lid closed, PM: suspend entry (deep) 18:44:10 PM: suspend exit (RTC alarm, on battery, dock absent) 18:44:11 gnome-shell SIGSEGV (time from the core dump, 1 s resolution) Possible explanation, not proven: the dock went away after mutter had already lost DRM control for the suspend, so it may have kept an output whose connector no longer has a state. The first GetResources after resume then hits it. Corrections to my earlier comments: - PCD is not required. This resume logged USBSTS 0x401, with no PCD bit. A crash on Oct 7 also had 0x401, with no dock involved. - Disabling the wake sources does not prevent the crash. XHCI, TXHC, TDM0 and TRP0 are currently disabled, and they were reported as disabled for the earlier crash too. Since the Oct 7 crash happened without a dock, a dock removed during suspend entry can't be the only path to the NULL state. Whatever the path, a NULL check on connector_state in meta_output_kms_read_edid() looks like it would avoid losing the whole session. The core dump is still available if specific values would help. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2166959 Title: gnome-shell crashed with SIGSEGV in meta_output_kms_read_edid when GetResources is called during resume from suspend To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/mutter/+bug/2166959/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
