#1038900 gnome-settings-daemon: my gnome session crashes immediately on login with a segfault in org.gnome.SettingsDaemon.UsbProtection.service

Package:
gnome-settings-daemon
Source:
gnome-settings-daemon
Description:
daemon handling the GNOME session settings
Submitter:
Diane Trout
Date:
2023-06-22 20:36:04 UTC
Severity:
normal
#1038900#5
Date:
2023-06-22 19:54:06 UTC
From:
To:
Dear Maintainer,

After recently updating on testing I'm having a crash when I try to log in to a gnome session on a Dell XPS 9360.
Both when connected to a thunderbolt dock and when the laptop is disconnected.

A relevant chunk of the journalctl log is:
---
Subject: A start job for unit UNIT has failed
lines 3252-3274/3282 100%
░░ Subject: Automatic restarting of a unit has been scheduled
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ Automatic restarting of the unit UNIT has been scheduled, as the result for
░░ the configured Restart= setting for the unit.
Jun 22 12:30:17 amarana systemd[2770]: Stopped org.gnome.SettingsDaemon.UsbProtection.service - GNOME USB protection service.
░░ Subject: A stop job for unit UNIT has finished
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ A stop job for unit UNIT has finished.
░░
░░ The job identifier is 2887 and the job result is done.
Jun 22 12:30:17 amarana systemd[2770]: org.gnome.SettingsDaemon.UsbProtection.service: Start request repeated too quickly.
Jun 22 12:30:17 amarana systemd[2770]: org.gnome.SettingsDaemon.UsbProtection.service: Failed with result 'core-dump'.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: https://www.debian.org/support
░░
░░ The unit UNIT has entered the 'failed' state with result 'core-dump'.
---

And I had coredumpctl installed so was also able to get a backtrace of the failed module

coredumpctl general information about crash.
--- PID: 8619 (gsd-usb-protect) UID: 1000 (diane) GID: 1000 (diane) Signal: 11 (SEGV) Timestamp: Thu 2023-06-22 12:30:16 PDT (4min 49s ago) Command Line: /usr/libexec/gsd-usb-protection Executable: /usr/libexec/gsd-usb-protection Control Group: /user.slice/user-1000.slice/user@1000.service/session.slice/org.gnome.SettingsDaemon.UsbProtection.service Unit: user@1000.service User Unit: org.gnome.SettingsDaemon.UsbProtection.service Slice: user-1000.slice Owner UID: 1000 (diane) Boot ID: 10faf4426ba6447a90e28ccbbb5b8bf4 Machine ID: ded7c21fc20047a9b4cf708e45785ff1 Hostname: amarana Storage: /var/lib/systemd/coredump/core.gsd-usb-protect.1000.10faf4426ba6447a90e28ccbbb5b8bf4.8619.1687462216000000.zst (present) Size on Disk: 160.8K Message: Process 8619 (gsd-usb-protect) of user 1000 dumped core. Stack trace of thread 8619: #0 0x00005559a6f5c558 n/a (gsd-usb-protection + 0x5558) #1 0x00007ffabe643c93 g_task_return_now (libgio-2.0.so.0 + 0xafc93) #2 0x00007ffabe644673 g_task_return (libgio-2.0.so.0 + 0xb0673) #3 0x00007ffabe6aa3fa init_second_async_cb (libgio-2.0.so.0 + 0x1163fa) #4 0x00007ffabe643c93 g_task_return_now (libgio-2.0.so.0 + 0xafc93) #5 0x00007ffabe644673 g_task_return (libgio-2.0.so.0 + 0xb0673) #6 0x00007ffabe6a9371 async_init_data_set_name_owner (libgio-2.0.so.0 + 0x115371) #7 0x00007ffabe6a9652 async_init_get_name_owner_cb (libgio-2.0.so.0 + 0x115652) #8 0x00007ffabe643c93 g_task_return_now (libgio-2.0.so.0 + 0xafc93) #9 0x00007ffabe644673 g_task_return (libgio-2.0.so.0 + 0xb0673) #10 0x00007ffabe69d912 g_dbus_connection_call_done (libgio-2.0.so.0 + 0x109912) #11 0x00007ffabe643c93 g_task_return_now (libgio-2.0.so.0 + 0xafc93) #12 0x00007ffabe643cc9 complete_in_idle_cb (libgio-2.0.so.0 + 0xafcc9) #13 0x00007ffabe45167f g_main_dispatch (libglib-2.0.so.0 + 0x5467f) #14 0x00007ffabe451a38 g_main_context_iterate (libglib-2.0.so.0 + 0x54a38) #15 0x00007ffabe451cef g_main_loop_run (libglib-2.0.so.0 + 0x54cef) #16 0x00005559a6f5a8d0 n/a (gsd-usb-protection + 0x38d0) #17 0x00007ffabe24118a n/a (libc.so.6 + 0x2718a) #18 0x00007ffabe241245 __libc_start_main (libc.so.6 + 0x27245) #19 0x00005559a6f5a9b1 n/a (gsd-usb-protection + 0x39b1) Stack trace of thread 8620: #0 0x00007ffabe315fff __poll (libc.so.6 + 0xfbfff) #1 0x00007ffabe4519ae g_main_context_poll (libglib-2.0.so.0 + 0x549ae) #2 0x00007ffabe451acc g_main_context_iteration (libglib-2.0.so.0 + 0x54acc) #3 0x00007ffabe451b11 glib_worker_main (libglib-2.0.so.0 + 0x54b11) #4 0x00007ffabe47bcfd g_thread_proxy (libglib-2.0.so.0 + 0x7ecfd) #5 0x00007ffabe2a2fd4 n/a (libc.so.6 + 0x88fd4) #6 0x00007ffabe3235bc n/a (libc.so.6 + 0x1095bc) Stack trace of thread 8622: #0 0x00007ffabe31b4f9 syscall (libc.so.6 + 0x1014f9) #1 0x00007ffabe4a650c g_cond_wait_until (libglib-2.0.so.0 + 0xa950c) #2 0x00007ffabe41f881 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x22881) #3 0x00007ffabe47c722 g_thread_pool_wait_for_new_task (libglib-2.0.so.0 + 0x7f722) #4 0x00007ffabe47bcfd g_thread_proxy (libglib-2.0.so.0 + 0x7ecfd) #5 0x00007ffabe2a2fd4 n/a (libc.so.6 + 0x88fd4) #6 0x00007ffabe3235bc n/a (libc.so.6 + 0x1095bc) Stack trace of thread 8623: #0 0x00007ffabe31b4f9 syscall (libc.so.6 + 0x1014f9) #1 0x00007ffabe4a650c g_cond_wait_until (libglib-2.0.so.0 + 0xa950c) #2 0x00007ffabe41f881 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x22881) #3 0x00007ffabe47c722 g_thread_pool_wait_for_new_task (libglib-2.0.so.0 + 0x7f722) #4 0x00007ffabe47bcfd g_thread_proxy (libglib-2.0.so.0 + 0x7ecfd) #5 0x00007ffabe2a2fd4 n/a (libc.so.6 + 0x88fd4) #6 0x00007ffabe3235bc n/a (libc.so.6 + 0x1095bc) Stack trace of thread 8624: #0 0x00007ffabe315fff __poll (libc.so.6 + 0xfbfff) #1 0x00007ffabe4519ae g_main_context_poll (libglib-2.0.so.0 + 0x549ae) #2 0x00007ffabe451acc g_main_context_iteration (libglib-2.0.so.0 + 0x54acc) #3 0x00007ffabe79d4bd n/a (libdconfsettings.so + 0xb4bd) #4 0x00007ffabe47bcfd g_thread_proxy (libglib-2.0.so.0 + 0x7ecfd) #5 0x00007ffabe2a2fd4 n/a (libc.so.6 + 0x88fd4) #6 0x00007ffabe3235bc n/a (libc.so.6 + 0x1095bc) Stack trace of thread 8625: #0 0x00007ffabe31b4f9 syscall (libc.so.6 + 0x1014f9) #1 0x00007ffabe4a650c g_cond_wait_until (libglib-2.0.so.0 + 0xa950c) #2 0x00007ffabe41f881 g_async_queue_pop_intern_unlocked (libglib-2.0.so.0 + 0x22881) #3 0x00007ffabe47c722 g_thread_pool_wait_for_new_task (libglib-2.0.so.0 + 0x7f722) #4 0x00007ffabe47bcfd g_thread_proxy (libglib-2.0.so.0 + 0x7ecfd) #5 0x00007ffabe2a2fd4 n/a (libc.so.6 + 0x88fd4) #6 0x00007ffabe3235bc n/a (libc.so.6 + 0x1095bc) Stack trace of thread 8621: #0 0x00007ffabe315fff __poll (libc.so.6 + 0xfbfff) #1 0x00007ffabe4519ae g_main_context_poll (libglib-2.0.so.0 + 0x549ae) #2 0x00007ffabe451cef g_main_loop_run (libglib-2.0.so.0 + 0x54cef) #3 0x00007ffabe6ac8f6 gdbus_shared_thread_func (libgio-2.0.so.0 + 0x1188f6) #4 0x00007ffabe47bcfd g_thread_proxy (libglib-2.0.so.0 + 0x7ecfd) #5 0x00007ffabe2a2fd4 n/a (libc.so.6 + 0x88fd4) #6 0x00007ffabe3235bc n/a (libc.so.6 + 0x1095bc) ELF object binary architecture: AMD x86-64 --- output of bt full
--- #0 0x00005559a6f5c558 in usb_protection_proxy_ready (source_object=0x5559a7c957a0, res=<optimized out>, user_data=0x5559a7c91000) at ../plugins/usb-protection/gsd-usb-protection-manager.c:969 Download failed: Invalid argument. Continuing without source file ./obj-x86_64-linux-gnu/../plugins/usb-protection/gsd-usb-protection-manager.c. 969 ../plugins/usb-protection/gsd-usb-protection-manager.c: No such file or directory. [Current thread is 1 (Thread 0x7ffabde71840 (LWP 8619))] (gdb) bt full #0 0x00005559a6f5c558 in usb_protection_proxy_ready (source_object=0x5559a7c957a0, res=<optimized out>, user_data=0x5559a7c91000) at ../plugins/usb-protection/gsd-usb-protection-manager.c:969 manager = 0x5559a7c91000 proxy = 0x5559a7c957a0 name_owner = 0x0 error = 0x0 #1 0x00007ffabe643c93 in g_task_return_now (task=task@entry=0x5559a7cad820) at ../../../gio/gtask.c:1232 No locals. #2 0x00007ffabe644673 in g_task_return (type=<optimized out>, task=0x5559a7cad820) at ../../../gio/gtask.c:1301 source = 0x7ffab0008840 source = <optimized out> source_name = <optimized out> #3 g_task_return (task=0x5559a7cad820, type=<optimized out>) at ../../../gio/gtask.c:1258 source = <optimized out> source_name = <optimized out> #4 0x00007ffabe6aa3fa in init_second_async_cb (source_object=0x5559a7c957a0, res=<optimized out>, user_data=0x5559a7cad820) at ../../../gio/gdbusproxy.c:1778 task = 0x5559a7cad820 error = 0x0 #5 0x00007ffabe643c93 in g_task_return_now (task=task@entry=0x5559a7cc1180) at ../../../gio/gtask.c:1232 No locals. #6 0x00007ffabe644673 in g_task_return (type=<optimized out>, task=0x5559a7cc1180) at ../../../gio/gtask.c:1301 source = 0x7ffab0008840 source = <optimized out> source_name = <optimized out> #7 g_task_return (task=0x5559a7cc1180, type=<optimized out>) at ../../../gio/gtask.c:1258 source = <optimized out> source_name = <optimized out> #8 0x00007ffabe6a9371 in async_init_data_set_name_owner (task=0x5559a7cc1180, name_owner=0x0) at ../../../gio/gdbusproxy.c:1462 proxy = 0x5559a7c957a0 get_all = <optimized out> #9 0x00007ffabe6a9652 in async_init_get_name_owner_cb (connection=<optimized out>, res=<optimized out>, user_data=0x5559a7cc1180) at ../../../gio/gdbusproxy.c:1486 task = 0x5559a7cc1180 error = 0x5559a7cbe240 result = <optimized out> #10 0x00007ffabe643c93 in g_task_return_now (task=task@entry=0x5559a7cada60) at ../../../gio/gtask.c:1232 No locals. #11 0x00007ffabe644673 in g_task_return (type=<optimized out>, task=0x5559a7cada60) at ../../../gio/gtask.c:1301 source = 0x7ffab0008840 source = <optimized out> source_name = <optimized out> #12 g_task_return (task=0x5559a7cada60, type=<optimized out>) at ../../../gio/gtask.c:1258 source = <optimized out> source_name = <optimized out> #13 0x00007ffabe69d912 in g_dbus_connection_call_done (source=0x5559a7ca1190, result=<optimized out>, user_data=0x5559a7cada60) at ../../../gio/gdbusconnection.c:5880 connection = 0x5559a7ca1190 task = 0x5559a7cada60 state = 0x5559a7cbd6a0 error = 0x5559a7cbe240 reply = 0x5559a7cabe30 value = <optimized out> #14 0x00007ffabe643c93 in g_task_return_now (task=task@entry=0x5559a7cadb20) at ../../../gio/gtask.c:1232 No locals. #15 0x00007ffabe643cc9 in complete_in_idle_cb (task=0x5559a7cadb20) at ../../../gio/gtask.c:1246 No locals. #16 0x00007ffabe45167f in g_main_dispatch (context=0x5559a7c8df80) at ../../../glib/gmain.c:3454 dispatch = 0x7ffabe44d890 <g_idle_dispatch> prev_source = 0x0 begin_time_nsec = 0 was_in_call = 0 user_data = 0x5559a7cadb20 callback = 0x7ffabe643cc0 <complete_in_idle_cb> cb_funcs = <optimized out> cb_data = 0x7ffab0008b80 need_destroy = <optimized out> source = 0x7ffab0008840 current = 0x5559a7ca99d0 i = 2 __func__ = "g_main_dispatch" #17 g_main_context_dispatch (context=context@entry=0x5559a7c8df80) at ../../../glib/gmain.c:4172 No locals. #18 0x00007ffabe451a38 in g_main_context_iterate (context=0x5559a7c8df80, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../../../glib/gmain.c:4248 max_priority = 2147483647 timeout = 24996 some_ready = 1 nfds = <optimized out> allocated_nfds = 1 fds = 0x5559a7cb1860 begin_time_nsec = 0 #19 0x00007ffabe451cef in g_main_loop_run (loop=loop@entry=0x5559a7c8f130) at ../../../glib/gmain.c:4448 self = <optimized out> __func__ = "g_main_loop_run" #20 0x00005559a6f5a8d0 in main (argc=<optimized out>, argv=<optimized out>) at ../plugins/common/daemon-skeleton.h:256 error = 0x0 context = <optimized out> loop = 0x5559a7c8f130 name_own_id = 1 --- Diane