xfce4-power-manager-settings segfaults in g_type_check_instance due to upower's untimely auto removing USB UPS (maybe)
## Submitted by QDeKIFHFSzq4Uyvj7U **[Link to original bug (#15387)](https://bugzilla.xfce.org/show_bug.cgi?id=15387)** ## Description I'm on ArchLinux, when I plug in the Eaton 5E UPS via its USB cable I get some regular messages on `dmesg` like the following(3 consecutive groups of messages pasted): ``` [10066.771690] usb 1-14: USB disconnect, device number 51 [10067.789160] usb 1-14: new low-speed USB device number 52 using xhci_hcd [10068.597520] usb 1-14: New USB device found, idVendor=0463, idProduct=ffff, bcdDevice= 0.01 [10068.597529] usb 1-14: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [10068.597534] usb 1-14: Product: 5E [10068.597538] usb 1-14: Manufacturer: EATON [10070.557495] hid-generic 0003:0463:FFFF.00AF: hiddev1,hidraw4: USB HID v1.10 Device [EATON 5E] on usb-0000:00:14.0-14/input0 [10070.564706] mtp-probe[25628]: checking bus 1, device 52: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10070.565178] mtp-probe[25628]: bus: 1, device: 52 was not an MTP device [10071.117785] mtp-probe[25648]: checking bus 1, device 52: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10071.118046] mtp-probe[25648]: bus: 1, device: 52 was not an MTP device [10081.599240] hid-generic 0003:0463:FFFF.00AF: usb_submit_urb(ctrl) failed: -1 [10081.599286] hid-generic 0003:0463:FFFF.00AF: timeout initializing reports [10087.112690] usb 1-14: USB disconnect, device number 52 [10088.119165] usb 1-14: new low-speed USB device number 53 using xhci_hcd [10088.938971] usb 1-14: New USB device found, idVendor=0463, idProduct=ffff, bcdDevice= 0.01 [10088.938981] usb 1-14: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [10088.938985] usb 1-14: Product: 5E [10088.938989] usb 1-14: Manufacturer: EATON [10090.898537] hid-generic 0003:0463:FFFF.00B0: hiddev1,hidraw4: USB HID v1.10 Device [EATON 5E] on usb-0000:00:14.0-14/input0 [10090.906960] mtp-probe[25675]: checking bus 1, device 53: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10090.907275] mtp-probe[25675]: bus: 1, device: 53 was not an MTP device [10091.438318] mtp-probe[25695]: checking bus 1, device 53: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10091.438412] mtp-probe[25695]: bus: 1, device: 53 was not an MTP device [10102.079289] hid-generic 0003:0463:FFFF.00B0: usb_submit_urb(ctrl) failed: -1 [10102.079333] hid-generic 0003:0463:FFFF.00B0: timeout initializing reports [10107.433721] usb 1-14: USB disconnect, device number 53 [10108.489170] usb 1-14: new low-speed USB device number 54 using xhci_hcd [10109.308649] usb 1-14: New USB device found, idVendor=0463, idProduct=ffff, bcdDevice= 0.01 [10109.308652] usb 1-14: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [10109.308653] usb 1-14: Product: 5E [10109.308654] usb 1-14: Manufacturer: EATON [10110.059484] gpg-agent[1150]: handler 0x7fad4164e700 for fd 10 started [10110.109349] gpg-agent[1150]: handler 0x7fad4164e700 for fd 10 terminated [10111.268962] hid-generic 0003:0463:FFFF.00B1: hiddev1,hidraw4: USB HID v1.10 Device [EATON 5E] on usb-0000:00:14.0-14/input0 [10111.278632] mtp-probe[25723]: checking bus 1, device 54: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10111.279309] mtp-probe[25723]: bus: 1, device: 54 was not an MTP device [10111.813049] mtp-probe[25743]: checking bus 1, device 54: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10111.813151] mtp-probe[25743]: bus: 1, device: 54 was not an MTP device [10121.909290] hid-generic 0003:0463:FFFF.00B1: usb_submit_urb(ctrl) failed: -1 [10121.909352] hid-generic 0003:0463:FFFF.00B1: timeout initializing reports ``` Now, while all that is happening, if I run the following it coredumps: ``` $ /usr/bin/xfce4-power-manager-settings --debug DBG[xfpm-settings-app.c:255] xfpm_settings_app_launch(): socket_id 0 DBG[xfpm-settings-app.c:256] xfpm_settings_app_launch(): device id (null) TRACE[xfpm-settings.c:2365] xfpm_settings_dialog_new(): auth_hibernate=FALSE auth_suspend=TRUE can_shutdown=TRUE can_suspend=TRUE can_hibernate=TRUE has_battery=TRUE has_lcd_brightness=FALSE has_lid=FALSE has_sleep_button=TRUE has_hibernate_button=TRUE has_power_button=TRUE has_battery_button=TRUE DBG[xfpm-settings.c:1883] update_device_info_value_for_name(): updating name Device with value ups_hiddev1 DBG[xfpm-settings.c:1883] update_device_info_value_for_name(): updating name Type with value Uninterruptible Power Supply DBG[xfpm-settings.c:1883] update_device_info_value_for_name(): updating name PowerSupply with value True DBG[xfpm-settings.c:1883] update_device_info_value_for_name(): updating name Technology with value Unknown DBG[xfpm-settings.c:1883] update_device_info_value_for_name(): updating name Current charge with value 0% DBG[xfpm-settings.c:1883] update_device_info_value_for_name(): updating name Vendor with value Eaton TRACE[xfpm-power-common.c:190] get_device_icon_name(): icon_suffix -symbolic, icon_base_length 13, upower_icon battery-empty-symbolic TRACE[xfpm-settings.c:1787] xfpm_settings_light_locker(): Schema "apps.light-locker" not found. Not configuring Light Locker. Segmentation fault (core dumped) ``` here's the stacktrace: ``` $ coredumpctl gdb 20939 PID: 20939 (xfce4-power-man) UID: 1000 (user) GID: 1000 (user) Signal: 11 (SEGV) Timestamp: Fri 2019-05-10 23:56:02 CEST (23min ago) Command Line: /usr/bin/xfce4-power-manager-settings --debug Executable: /usr/bin/xfce4-power-manager-settings Control Group: /user.slice/user-1000.slice/session-1.scope Unit: session-1.scope Slice: user-1000.slice Session: 1 Owner UID: 1000 (user) Boot ID: b98cb36dffa44d5598ed02b91e45758d Machine ID: 5767ef25f523419aaa049f3d74481940 Hostname: i87k Storage: /var/lib/systemd/coredump/core.xfce4-power-man.1000.b98cb36dffa44d5598ed02b91e45758d.20939.1557525362000000 Message: Process 20939 (xfce4-power-man) of user 1000 dumped core. Stack trace of thread 20939: #0 0x00007f3b3a5e30f9 g_type_check_instance (libgobject-2.0.so.0) #1 0x00007f3b3a5f6edb g_signal_handler_disconnect (libgobject-2.0.so.0) #2 0x000055a5c4029d9d remove_device (xfce4-power-manager-settings) #3 0x00007f3b3a602225 g_closure_invoke (libgobject-2.0.so.0) #4 0x00007f3b3a5ef83d signal_emit_unlocked_R (libgobject-2.0.so.0) #5 0x00007f3b3a5f3c3e g_signal_emit_valist (libgobject-2.0.so.0) #6 0x00007f3b3a5f4c77 g_signal_emit (libgobject-2.0.so.0) #7 0x00007f3b3a6389d6 up_device_removed_cb (libupower-glib.so.3) #8 0x00007f3b393416d0 ffi_call_unix64 (libffi.so.6) #9 0x00007f3b393410a0 ffi_call (libffi.so.6) #10 0x00007f3b3a60c569 g_cclosure_marshal_generic (libgobject-2.0.so.0) #11 0x00007f3b3a602225 g_closure_invoke (libgobject-2.0.so.0) #12 0x00007f3b3a5ef83d signal_emit_unlocked_R (libgobject-2.0.so.0) #13 0x00007f3b3a5f6905 g_signal_emitv (libgobject-2.0.so.0) #14 0x00007f3b3a63e0ee up_exported_daemon_proxy_g_signal (libupower-glib.so.3) #15 0x00007f3b393416d0 ffi_call_unix64 (libffi.so.6) #16 0x00007f3b393410a0 ffi_call (libffi.so.6) #17 0x00007f3b3a60c569 g_cclosure_marshal_generic (libgobject-2.0.so.0) #18 0x00007f3b3a602225 g_closure_invoke (libgobject-2.0.so.0) #19 0x00007f3b3a5ef10f signal_emit_unlocked_R (libgobject-2.0.so.0) #20 0x00007f3b3a5f3c3e g_signal_emit_valist (libgobject-2.0.so.0) #21 0x00007f3b3a5f4c77 g_signal_emit (libgobject-2.0.so.0) #22 0x00007f3b3a6c4ab9 on_signal_received (libgio-2.0.so.0) #23 0x00007f3b3a6cc3a5 emit_signal_instance_in_idle_cb (libgio-2.0.so.0) #24 0x00007f3b3a51ad69 g_main_dispatch (libglib-2.0.so.0) #25 0x00007f3b3a51ce88 g_main_context_iterate (libglib-2.0.so.0) #26 0x00007f3b3a51cecf g_main_context_iteration (libglib-2.0.so.0) #27 0x00007f3b3a6fbd3d g_application_run (libgio-2.0.so.0) #28 0x000055a5c40288ab main (xfce4-power-manager-settings) #29 0x00007f3b3a1b6fab __libc_start_main (libc.so.6) #30 0x000055a5c40270ce _start (xfce4-power-manager-settings) Stack trace of thread 20940: #0 0x00007f3b3a2891a6 __GI___poll (libc.so.6) #1 0x00007f3b3a51cdfe g_main_context_poll (libglib-2.0.so.0) #2 0x00007f3b3a51cecf g_main_context_iteration (libglib-2.0.so.0) #3 0x00007f3b3a51cf21 glib_worker_main (libglib-2.0.so.0) #4 0x00007f3b3a4f814e g_thread_proxy (libglib-2.0.so.0) #5 0x00007f3b3a35f60a start_thread (libpthread.so.0) #6 0x00007f3b3a293fe3 __clone (libc.so.6) Stack trace of thread 20941: #0 0x00007f3b3a2891a6 __GI___poll (libc.so.6) #1 0x00007f3b3a51cdfe g_main_context_poll (libglib-2.0.so.0) #2 0x00007f3b3a51ddd2 g_main_loop_run (libglib-2.0.so.0) #3 0x00007f3b3a6b71de gdbus_shared_thread_func (libgio-2.0.so.0) #4 0x00007f3b3a4f814e g_thread_proxy (libglib-2.0.so.0) #5 0x00007f3b3a35f60a start_thread (libpthread.so.0) #6 0x00007f3b3a293fe3 __clone (libc.so.6) GNU gdb (GDB) 8.2.1 Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from /usr/bin/xfce4-power-manager-settings...done. warning: core file may not match specified executable file. [New LWP 20939] [New LWP 20940] [New LWP 20941] [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". Core was generated by `/usr/bin/xfce4-power-manager-settings --debug'. Program terminated with signal SIGSEGV, Segmentation fault. #0 g_type_check_instance (type_instance=<optimized out>, type_instance=<optimized out>) at ../glib/gobject/gtype.c:4131 4131 TypeNode *node = lookup_type_node_I (type_instance->g_class->g_type); [Current thread is 1 (Thread 0x7f3b3891c980 (LWP 20939))] (gdb) bt #0 0x00007f3b3a5e30f9 in g_type_check_instance (type_instance=0x55a5c5a0d2b0, type_instance=<optimized out>) at ../glib/gobject/gtype.c:4131 #1 0x00007f3b3a5f6edb in g_signal_handler_disconnect (instance=0x55a5c5a0d2b0, handler_id=1103) at ../glib/gobject/gsignal.c:2627 #2 0x000055a5c4029d9d in remove_device (object_path=<optimized out>) at xfpm-settings.c:2226 #3 0x000055a5c4029d9d in device_removed_cb (upclient=<optimized out>, object_path=<optimized out>, user_data=<optimized out>) at xfpm-settings.c:2242 #7 0x00007f3b3a5f4c77 in <emit signal ??? on instance ???> (instance=<optimized out>, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3447 #4 0x00007f3b3a602225 in g_closure_invoke (closure=0x55a5c5b0f6c0, return_value=0x0, n_param_values=2, param_values=0x7fffa117a580, invocation_hint=0x7fffa117a500) at ../glib/gobject/gclosure.c:810 #5 0x00007f3b3a5ef83d in signal_emit_unlocked_R (node=node@entry=0x55a5c5b083a0, detail=detail@entry=0, instance=instance@entry=0x55a5c5ac0100, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffa117a580) at ../glib/gobject/gsignal.c:3635 #6 0x00007f3b3a5f3c3e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffa117a750) at ../glib/gobject/gsignal.c:3391 #8 0x00007f3b3a6389d6 in up_device_removed_cb (proxy=<optimized out>, object_path=<optimized out>, client=<optimized out>) at up-client.c:320 #9 0x00007f3b393416d0 in ffi_call_unix64 () at /usr/lib/libffi.so.6 #10 0x00007f3b393410a0 in ffi_call () at /usr/lib/libffi.so.6 #14 0x00007f3b3a5f6905 in Python Exception <class 'gdb.error'> There is no member named v_pointer.: #15 0x00007f3b3a63e0ee in up_exported_daemon_proxy_g_signal (proxy=<optimized out>, sender_name=<optimized out>, signal_name=<optimized out>, parameters=<optimized out>) at up-daemon-generated.c:1332 #16 0x00007f3b393416d0 in ffi_call_unix64 () at /usr/lib/libffi.so.6 #17 0x00007f3b393410a0 in ffi_call () at /usr/lib/libffi.so.6 #22 0x00007f3b3a5f4c77 in <emit signal ??? on instance ???> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3447 #18 0x00007f3b3a60c569 in g_cclosure_marshal_generic (closure=0x55a5c5770420, return_gvalue=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../glib/gobject/gclosure.c:1500 #19 0x00007f3b3a602225 in g_closure_invoke (closure=0x55a5c5770420, return_value=0x0, n_param_values=4, param_values=0x7fffa117b260, invocation_hint=0x7fffa117b1e0) at ../glib/gobject/gclosure.c:810 #20 0x00007f3b3a5ef10f in signal_emit_unlocked_R (node=node@entry=0x55a5c5770450, detail=detail@entry=0, instance=instance@entry=0x55a5c5ac2630, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffa117b260) at ../glib/gobject/gsignal.c:3673 #21 0x00007f3b3a5f3c3e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffa117b460) at ../glib/gobject/gsignal.c:3391 #23 0x00007f3b3a6c4ab9 in on_signal_received (connection=<optimized out>, sender_name=0x7f3b2800f140 ":1.479", object_path=<optimized out>, interface_name=<optimized out>, signal_name=0x7f3b2800f1a0 "DeviceRemoved", parameters=0x55a5c5ab30a0, user_data=0x55a5c588bc20) at ../glib/gio/gdbusproxy.c:917 #24 0x00007f3b3a6cc3a5 in emit_signal_instance_in_idle_cb (data=0x7f3b2800c9a0) at ../glib/gio/gdbusconnection.c:3743 #25 0x00007f3b3a51ad69 in g_main_dispatch (context=0x55a5c5762850) at ../glib/glib/gmain.c:3189 #26 0x00007f3b3a51ad69 in g_main_context_dispatch (context=context@entry=0x55a5c5762850) at ../glib/glib/gmain.c:3854 #27 0x00007f3b3a51ce88 in g_main_context_iterate (context=context@entry=0x55a5c5762850, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3927 #28 0x00007f3b3a51cecf in g_main_context_iteration (context=0x55a5c5762850, may_block=1) at ../glib/glib/gmain.c:3988 #29 0x00007f3b3a6fbd3d in g_application_run (application=0x55a5c5761100, argc=<optimized out>, argv=0x7fffa117b848) at ../glib/gio/gapplication.c:2516 #30 0x000055a5c40288ab in main (argc=2, argv=0x7fffa117b848) at xfpm-settings-main.c:44 (gdb) frame 0 #0 g_type_check_instance (type_instance=<optimized out>, type_instance=<optimized out>) at ../glib/gobject/gtype.c:4131 4131 TypeNode *node = lookup_type_node_I (type_instance->g_class->g_type); (gdb) frame 1 #1 0x00007f3b3a5f6edb in g_signal_handler_disconnect (instance=0x55a5c5a0d2b0, handler_id=1103) at ../glib/gobject/gsignal.c:2627 2627 g_return_if_fail (G_TYPE_CHECK_INSTANCE (instance)); (gdb) frame 2 #2 0x000055a5c4029d9d in remove_device (object_path=<optimized out>) at xfpm-settings.c:2226 2226 g_signal_handler_disconnect (device, signal_id); (gdb) frame 3 #3 device_removed_cb (upclient=<optimized out>, object_path=<optimized out>, user_data=<optimized out>) at xfpm-settings.c:2242 2242 remove_device (object_path); (gdb) frame 4 #4 0x00007f3b3a602225 in g_closure_invoke (closure=0x55a5c5b0f6c0, return_value=0x0, n_param_values=2, param_values=0x7fffa117a580, invocation_hint=0x7fffa117a500) at ../glib/gobject/gclosure.c:810 810 marshal (closure, (gdb) frame 5 #5 0x00007f3b3a5ef83d in signal_emit_unlocked_R (node=node@entry=0x55a5c5b083a0, detail=detail@entry=0, instance=instance@entry=0x55a5c5ac0100, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffa117a580) at ../glib/gobject/gsignal.c:3635 3635 g_closure_invoke (handler->closure, (gdb) frame 6 #6 0x00007f3b3a5f3c3e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffa117a750) at ../glib/gobject/gsignal.c:3391 3391 signal_emit_unlocked_R (node, detail, instance, NULL, instance_and_params); (gdb) frame 7 #7 0x00007f3b3a5f4c77 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3447 3447 g_signal_emit_valist (instance, signal_id, detail, var_args); (gdb) frame 8 #8 0x00007f3b3a6389d6 in up_device_removed_cb (proxy=<optimized out>, object_path=<optimized out>, client=<optimized out>) at up-client.c:320 320 g_signal_emit (client, signals [UP_CLIENT_DEVICE_REMOVED], 0, object_path); (gdb) frame 9 #9 0x00007f3b393416d0 in ffi_call_unix64 () from /usr/lib/libffi.so.6 (gdb) frame 10 #10 0x00007f3b393410a0 in ffi_call () from /usr/lib/libffi.so.6 (gdb) frame 11 #11 0x00007f3b3a60c569 in g_cclosure_marshal_generic (closure=0x55a5c5b0df80, return_gvalue=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../glib/gobject/gclosure.c:1500 1500 ffi_call (&cif, marshal_data ? marshal_data : cc->callback, rvalue, args); (gdb) frame 12 #12 0x00007f3b3a602225 in g_closure_invoke (closure=0x55a5c5b0df80, return_value=0x0, n_param_values=2, param_values=0x55a5c585eb00, invocation_hint=0x7fffa117abf0) at ../glib/gobject/gclosure.c:810 810 marshal (closure, (gdb) frame 13 #13 0x00007f3b3a5ef83d in signal_emit_unlocked_R (node=node@entry=0x55a5c5affb50, detail=detail@entry=0, instance=instance@entry=0x55a5c5ac2630, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x55a5c585eb00) at ../glib/gobject/gsignal.c:3635 3635 g_closure_invoke (handler->closure, (gdb) frame 14 #14 0x00007f3b3a5f6905 in g_signal_emitv (instance_and_params=instance_and_params@entry=0x55a5c585eb00, signal_id=<optimized out>, detail=detail@entry=0, return_value=return_value@entry=0x0) at ../glib/gobject/gsignal.c:3129 3129 signal_emit_unlocked_R (node, detail, instance, return_value, instance_and_params); (gdb) frame 15 #15 0x00007f3b3a63e0ee in up_exported_daemon_proxy_g_signal (proxy=<optimized out>, sender_name=<optimized out>, signal_name=<optimized out>, parameters=<optimized out>) at up-daemon-generated.c:1332 warning: Source file is more recent than executable. 1332 g_signal_emitv (paramv, signal_id, 0, NULL); (gdb) frame 16 #16 0x00007f3b393416d0 in ffi_call_unix64 () from /usr/lib/libffi.so.6 (gdb) frame 17 #17 0x00007f3b393410a0 in ffi_call () from /usr/lib/libffi.so.6 (gdb) frame 18 #18 0x00007f3b3a60c569 in g_cclosure_marshal_generic (closure=0x55a5c5770420, return_gvalue=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../glib/gobject/gclosure.c:1500 1500 ffi_call (&cif, marshal_data ? marshal_data : cc->callback, rvalue, args); (gdb) frame 19 #19 0x00007f3b3a602225 in g_closure_invoke (closure=0x55a5c5770420, return_value=0x0, n_param_values=4, param_values=0x7fffa117b260, invocation_hint=0x7fffa117b1e0) at ../glib/gobject/gclosure.c:810 810 marshal (closure, (gdb) frame 20 #20 0x00007f3b3a5ef10f in signal_emit_unlocked_R (node=node@entry=0x55a5c5770450, detail=detail@entry=0, instance=instance@entry=0x55a5c5ac2630, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffa117b260) at ../glib/gobject/gsignal.c:3673 3673 g_closure_invoke (class_closure, (gdb) frame 21 #21 0x00007f3b3a5f3c3e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffa117b460) at ../glib/gobject/gsignal.c:3391 3391 signal_emit_unlocked_R (node, detail, instance, NULL, instance_and_params); (gdb) frame 22 #22 0x00007f3b3a5f4c77 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3447 3447 g_signal_emit_valist (instance, signal_id, detail, var_args); (gdb) frame 23 #23 0x00007f3b3a6c4ab9 in on_signal_received (connection=<optimized out>, sender_name=0x7f3b2800f140 ":1.479", object_path=<optimized out>, interface_name=<optimized out>, signal_name=0x7f3b2800f1a0 "DeviceRemoved", parameters=0x55a5c5ab30a0, user_data=0x55a5c588bc20) at ../glib/gio/gdbusproxy.c:917 917 g_signal_emit (proxy, (gdb) frame 24 #24 0x00007f3b3a6cc3a5 in emit_signal_instance_in_idle_cb (data=0x7f3b2800c9a0) at ../glib/gio/gdbusconnection.c:3743 3743 signal_instance->callback (signal_instance->connection, (gdb) frame 25 #25 0x00007f3b3a51ad69 in g_main_dispatch (context=0x55a5c5762850) at ../glib/glib/gmain.c:3189 3189 need_destroy = !(* dispatch) (source, callback, user_data); (gdb) frame 26 #26 g_main_context_dispatch (context=context@entry=0x55a5c5762850) at ../glib/glib/gmain.c:3854 3854 g_main_dispatch (context); (gdb) frame 27 #27 0x00007f3b3a51ce88 in g_main_context_iterate (context=context@entry=0x55a5c5762850, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3927 3927 g_main_context_dispatch (context); (gdb) frame 28 #28 0x00007f3b3a51cecf in g_main_context_iteration (context=0x55a5c5762850, may_block=1) at ../glib/glib/gmain.c:3988 3988 retval = g_main_context_iterate (context, may_block, TRUE, G_THREAD_SELF); (gdb) frame 29 #29 0x00007f3b3a6fbd3d in g_application_run (application=0x55a5c5761100, argc=<optimized out>, argv=0x7fffa117b848) at ../glib/gio/gapplication.c:2516 2516 g_main_context_iteration (context, TRUE); (gdb) frame 30 #30 0x000055a5c40288ab in main (argc=2, argv=0x7fffa117b848) at xfpm-settings-main.c:44 44 return g_application_run (G_APPLICATION (xfpm_settings_app_new ()), argc, argv); (gdb) frame 31 #0 0x0000000000000000 in ?? () (gdb) thread apply all bt full Thread 3 (Thread 0x7f3b37e35700 (LWP 20941)): #0 0x00007f3b3a2891a6 in __GI___poll (fds=0x55a5c5780180, nfds=3, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 resultvar = 18446744073709551100 sc_cancel_oldtype = 0 #1 0x00007f3b3a51cdfe in g_main_context_poll (priority=<optimized out>, n_fds=3, fds=0x55a5c5780180, timeout=<optimized out>, context=0x55a5c577c730) at ../glib/glib/gmain.c:4228 ret = <optimized out> errsv = <optimized out> poll_func = 0x7f3b3a508920 <g_poll> max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 3 allocated_nfds = 3 fds = 0x55a5c5780180 #2 0x00007f3b3a51cdfe in g_main_context_iterate (context=0x55a5c577c730, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3922 max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 3 allocated_nfds = 3 fds = 0x55a5c5780180 #3 0x00007f3b3a51ddd2 in g_main_loop_run (loop=0x55a5c577c820) at ../glib/glib/gmain.c:4123 __FUNCTION__ = "g_main_loop_run" #4 0x00007f3b3a6b71de in gdbus_shared_thread_func (user_data=0x55a5c577c700) at ../glib/gio/gdbusprivate.c:275 data = 0x55a5c577c700 #5 0x00007f3b3a4f814e in g_thread_proxy (data=0x55a5c57688f0, data=<optimized out>) at ../glib/glib/gthread.c:805 thread = 0x55a5c57688f0 __FUNCTION__ = "g_thread_proxy" #6 0x00007f3b3a35f60a in start_thread (arg=<optimized out>) at pthread_create.c:486 ret = <optimized out> pd = <optimized out> now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139892317443840, 8016835740042268650, 140735896071856, 140735896071710, 140735896071711, 0, 8016835739985645546, 8016862586514444266}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> #7 0x00007f3b3a293fe3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7f3b38636700 (LWP 20940)): #0 0x00007f3b3a2891a6 in __GI___poll (fds=0x55a5c5762590, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 resultvar = 18446744073709551100 sc_cancel_oldtype = 0 #1 0x00007f3b3a51cdfe in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x55a5c5762590, timeout=<optimized out>, context=0x55a5c576b060) at ../glib/glib/gmain.c:4228 ret = <optimized out> errsv = <optimized out> poll_func = 0x7f3b3a508920 <g_poll> max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 1 allocated_nfds = 1 fds = 0x55a5c5762590 #2 0x00007f3b3a51cdfe in g_main_context_iterate (context=context@entry=0x55a5c576b060, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3922 max_priority = 2147483647 timeout = -1 some_ready = <optimized out> nfds = 1 allocated_nfds = 1 fds = 0x55a5c5762590 #3 0x00007f3b3a51cecf in g_main_context_iteration (context=0x55a5c576b060, may_block=may_block@entry=1) at ../glib/glib/gmain.c:3988 retval = <optimized out> #4 0x00007f3b3a51cf21 in glib_worker_main (data=<optimized out>) at ../glib/glib/gmain.c:5868 #5 0x00007f3b3a4f814e in g_thread_proxy (data=0x55a5c5768850, data=<optimized out>) at ../glib/glib/gthread.c:805 thread = 0x55a5c5768850 __FUNCTION__ = "g_thread_proxy" #6 0x00007f3b3a35f60a in start_thread (arg=<optimized out>) at pthread_create.c:486 ret = <optimized out> pd = <optimized out> now = <optimized out> unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139892325836544, 8016858829249581034, 140735896071520, 140735896071374, 140735896071375, 0, 8016858829192957930, 8016862586514444266}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}} not_first_call = <optimized out> #7 0x00007f3b3a293fe3 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7f3b3891c980 (LWP 20939)): #0 0x00007f3b3a5e30f9 in g_type_check_instance (type_instance=0x55a5c5a0d2b0, type_instance=<optimized out>) at ../glib/gobject/gtype.c:4131 node = <optimized out> #1 0x00007f3b3a5f6edb in g_signal_handler_disconnect (instance=0x55a5c5a0d2b0, handler_id=1103) at ../glib/gobject/gsignal.c:2627 _g_boolean_var_ = <optimized out> handler = <optimized out> __FUNCTION__ = "g_signal_handler_disconnect" #2 0x000055a5c4029d9d in remove_device (object_path=<optimized out>) at xfpm-settings.c:2226 iter = 0x55a5c590c6c0 --Type <RET> for more, q to quit, c to continue without paging--c list_store = 0x55a5c5a685b0 signal_id = 1103 device = 0x55a5c5a0d2b0 #3 0x000055a5c4029d9d in device_removed_cb (upclient=<optimized out>, object_path=<optimized out>, user_data=<optimized out>) at xfpm-settings.c:2242 #7 0x00007f3b3a5f4c77 in <emit signal ??? on instance ???> (instance=<optimized out>, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3447 var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffa117a830, reg_save_area = 0x7fffa117a770}} #4 0x00007f3b3a602225 in g_closure_invoke (closure=0x55a5c5b0f6c0, return_value=0x0, n_param_values=2, param_values=0x7fffa117a580, invocation_hint=0x7fffa117a500) at ../glib/gobject/gclosure.c:810 marshal = 0x7f3b3a60a3b0 <g_cclosure_marshal_VOID__STRING> marshal_data = 0x0 in_marshal = 0 real_closure = 0x55a5c5b0f6a0 __FUNCTION__ = "g_closure_invoke" #5 0x00007f3b3a5ef83d in signal_emit_unlocked_R (node=node@entry=0x55a5c5b083a0, detail=detail@entry=0, instance=instance@entry=0x55a5c5ac0100, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffa117a580) at ../glib/gobject/gsignal.c:3635 tmp = <optimized out> handler = 0x7f3b28004e80 accumulator = 0x0 emission = {next = 0x7fffa117abe0, instance = 0x55a5c5ac0100, ihint = {signal_id = 306, detail = 0, run_type = G_SIGNAL_RUN_FIRST}, state = EMISSION_RUN, chain_type = 0x4 [None]} class_closure = 0x55a5c5b08370 hlist = <optimized out> handler_list = 0x7f3b28004e80 return_accu = 0x0 accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 306 max_sequential_handler_number = 1683 return_value_altered = 0 #6 0x00007f3b3a5f3c3e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffa117a750) at ../glib/gobject/gsignal.c:3391 instance_and_params = 0x7fffa117a580 signal_return_type = <optimized out> param_values = <optimized out> node = <optimized out> i = <optimized out> n_params = <optimized out> __FUNCTION__ = "g_signal_emit_valist" #8 0x00007f3b3a6389d6 in up_device_removed_cb (proxy=<optimized out>, object_path=<optimized out>, client=<optimized out>) at up-client.c:320 #9 0x00007f3b393416d0 in ffi_call_unix64 () at /usr/lib/libffi.so.6 #10 0x00007f3b393410a0 in ffi_call () at /usr/lib/libffi.so.6 #14 0x00007f3b3a5f6905 in Python Exception <class 'gdb.error'> There is no member named v_pointer.: #15 0x00007f3b3a63e0ee in up_exported_daemon_proxy_g_signal (proxy=<optimized out>, sender_name=<optimized out>, signal_name=<optimized out>, parameters=<optimized out>) at up-daemon-generated.c:1332 info = 0x7f3b3a653620 <_up_exported_daemon_signal_info_device_removed> iter = {x = {94170474295456, 1, 1, 0, 94170474358320, 94170474231616, 94170475276096, 3579507750, 94170470867904, 140735896071784, 140735896071760, 139892363745366, 94167157964800, 139892342784048, 1, 5274380912}} child = 0x0 paramv = 0x55a5c585eb00 num_params = 1 n = 2 signal_id = <optimized out> #16 0x00007f3b393416d0 in ffi_call_unix64 () at /usr/lib/libffi.so.6 #17 0x00007f3b393410a0 in ffi_call () at /usr/lib/libffi.so.6 #22 0x00007f3b3a5f4c77 in <emit signal ??? on instance ???> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3447 var_args = {{gp_offset = 48, fp_offset = 48, overflow_arg_area = 0x7fffa117b540, reg_save_area = 0x7fffa117b480}} #18 0x00007f3b3a60c569 in g_cclosure_marshal_generic (closure=0x55a5c5770420, return_gvalue=0x0, n_param_values=<optimized out>, param_values=<optimized out>, invocation_hint=<optimized out>, marshal_data=<optimized out>) at ../glib/gobject/gclosure.c:1500 rtype = <optimized out> rvalue = 0x7fffa117afa0 n_args = 5 atypes = <optimized out> args = <optimized out> i = <optimized out> cif = {abi = FFI_UNIX64, nargs = 5, arg_types = 0x7fffa117af60, rtype = 0x7f3b39342180 <ffi_type_void>, bytes = 0, flags = 0} cc = 0x55a5c5770420 enum_tmpval = <optimized out> tmpval_used = 0 #19 0x00007f3b3a602225 in g_closure_invoke (closure=0x55a5c5770420, return_value=0x0, n_param_values=4, param_values=0x7fffa117b260, invocation_hint=0x7fffa117b1e0) at ../glib/gobject/gclosure.c:810 marshal = 0x7f3b3a60ab00 <g_type_class_meta_marshal> marshal_data = 0x90 in_marshal = 0 real_closure = 0x55a5c5770400 __FUNCTION__ = "g_closure_invoke" #20 0x00007f3b3a5ef10f in signal_emit_unlocked_R (node=node@entry=0x55a5c5770450, detail=detail@entry=0, instance=instance@entry=0x55a5c5ac2630, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffa117b260) at ../glib/gobject/gsignal.c:3673 accumulator = 0x0 emission = Python Exception <class 'TypeError'> can only concatenate str (not "NoneType") to str: {next = 0x0, instance = 0x55a5c5ac2630, ihint = {signal_id = 22, detail = 0, run_type = G_SIGNAL_RUN_LAST}, state = EMISSION_RUN, chain_type = } class_closure = 0x55a5c5770420 hlist = <optimized out> handler_list = <optimized out> return_accu = 0x0 accu = {g_type = 0x0, data = {{v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}, {v_int = 0, v_uint = 0, v_long = 0, v_ulong = 0, v_int64 = 0, v_uint64 = 0, v_float = 0, v_double = 0, v_pointer = 0x0}}} signal_id = 22 max_sequential_handler_number = 1683 return_value_altered = 0 #21 0x00007f3b3a5f3c3e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fffa117b460) at ../glib/gobject/gsignal.c:3391 instance_and_params = 0x7fffa117b260 signal_return_type = <optimized out> param_values = <optimized out> node = <optimized out> i = <optimized out> n_params = <optimized out> __FUNCTION__ = "g_signal_emit_valist" #23 0x00007f3b3a6c4ab9 in on_signal_received (connection=<optimized out>, sender_name=0x7f3b2800f140 ":1.479", object_path=<optimized out>, interface_name=<optimized out>, signal_name=0x7f3b2800f1a0 "DeviceRemoved", parameters=0x55a5c5ab30a0, user_data=0x55a5c588bc20) at ../glib/gio/gdbusproxy.c:917 data = 0x55a5c588bc20 proxy = 0x55a5c5ac2630 #24 0x00007f3b3a6cc3a5 in emit_signal_instance_in_idle_cb (data=0x7f3b2800c9a0) at ../glib/gio/gdbusconnection.c:3743 signal_instance = 0x7f3b2800c9a0 parameters = 0x55a5c5ab30a0 has_subscription = 1 #25 0x00007f3b3a51ad69 in g_main_dispatch (context=0x55a5c5762850) at ../glib/glib/gmain.c:3189 dispatch = 0x7f3b3a5153f0 <g_idle_dispatch> prev_source = 0x0 was_in_call = 0 user_data = 0x7f3b2800c9a0 callback = 0x7f3b3a6cc330 <emit_signal_instance_in_idle_cb> cb_funcs = <optimized out> cb_data = 0x7f3b28013e60 need_destroy = <optimized out> source = 0x7f3b28005c00 current = 0x55a5c5780270 i = 0 #26 0x00007f3b3a51ad69 in g_main_context_dispatch (context=context@entry=0x55a5c5762850) at ../glib/glib/gmain.c:3854 #27 0x00007f3b3a51ce88 in g_main_context_iterate (context=context@entry=0x55a5c5762850, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3927 max_priority = 0 timeout = 0 some_ready = 1 nfds = 3 allocated_nfds = 3 fds = <optimized out> #28 0x00007f3b3a51cecf in g_main_context_iteration (context=0x55a5c5762850, may_block=1) at ../glib/glib/gmain.c:3988 retval = <optimized out> #29 0x00007f3b3a6fbd3d in g_application_run (application=0x55a5c5761100, argc=<optimized out>, argv=0x7fffa117b848) at ../glib/gio/gapplication.c:2516 arguments = 0x55a5c57627e0 status = 0 context = 0x55a5c5762850 acquired_context = 1 __FUNCTION__ = "g_application_run" #30 0x000055a5c40288ab in main (argc=2, argv=0x7fffa117b848) at xfpm-settings-main.c:44 (gdb) q ``` If I stop `upower.service` via `sudo systemctl stop upower.service` it gets started again(since it's being requested by xfce4-power-manager) but it's the one generating those `dmesg` messages, here's the output from that; ``` [10372.023440] usb 1-14: USB disconnect, device number 67 [10372.023948] hid-generic 0003:0463:FFFF.00BE: usb_submit_urb(ctrl) failed: -19 [10372.129654] systemd[1]: upower.service: Main process exited, code=killed, status=15/TERM [10372.129859] systemd[1]: upower.service: Succeeded. [10372.130865] systemd[1]: Stopped Daemon for power management. [10372.131783] dbus-daemon[760]: [system] Activating via systemd: service name='org.freedesktop.UPower' unit='upower.service' requested by ':1.461' (uid=1000 pid=6189 comm="/usr/lib/xfce4/panel/wrapper-2.0 /usr/lib/xfce4/pa") [10372.136231] systemd[1]: Starting Daemon for power management... [10372.136261] sudo[26445]: pam_unix(sudo:session): session closed for user root [10372.254090] dbus-daemon[760]: [system] Successfully activated service 'org.freedesktop.UPower' [10372.254135] systemd[1]: Started Daemon for power management. [10373.049186] usb 1-14: new low-speed USB device number 68 using xhci_hcd [10373.859682] usb 1-14: New USB device found, idVendor=0463, idProduct=ffff, bcdDevice= 0.01 [10373.859692] usb 1-14: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [10373.859696] usb 1-14: Product: 5E [10373.859700] usb 1-14: Manufacturer: EATON [10375.820091] hid-generic 0003:0463:FFFF.00BF: hiddev1,hidraw4: USB HID v1.10 Device [EATON 5E] on usb-0000:00:14.0-14/input0 [10375.827092] mtp-probe[26489]: checking bus 1, device 68: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10375.827785] mtp-probe[26489]: bus: 1, device: 68 was not an MTP device [10376.362597] mtp-probe[26510]: checking bus 1, device 68: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10376.415039] mtp-probe[26510]: bus: 1, device: 68 was not an MTP device [10386.869249] hid-generic 0003:0463:FFFF.00BF: usb_submit_urb(ctrl) failed: -1 [10386.869290] hid-generic 0003:0463:FFFF.00BF: timeout initializing reports [10392.344715] usb 1-14: USB disconnect, device number 68 [10393.379162] usb 1-14: new low-speed USB device number 69 using xhci_hcd [10394.198892] usb 1-14: New USB device found, idVendor=0463, idProduct=ffff, bcdDevice= 0.01 [10394.198902] usb 1-14: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [10394.198906] usb 1-14: Product: 5E [10394.198910] usb 1-14: Manufacturer: EATON [10396.159600] hid-generic 0003:0463:FFFF.00C0: hiddev1,hidraw4: USB HID v1.10 Device [EATON 5E] on usb-0000:00:14.0-14/input0 [10396.166490] mtp-probe[26536]: checking bus 1, device 69: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10396.168052] mtp-probe[26536]: bus: 1, device: 69 was not an MTP device [10396.716515] mtp-probe[26556]: checking bus 1, device 69: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-14" [10396.754086] mtp-probe[26556]: bus: 1, device: 69 was not an MTP device ``` Version: git
issue