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 ```
If I `kill` everything related to `power` except `/usr/lib/upowerd` from processes, then all those auto-disconnects are still happening until I stop `upower.service`. Then if I start it, the messages start again! This is why I know that it's `upower` that's auto-disconnecting my UPS USB connection and this disconnection, done at the "right" time, causes `xfce4-power-manager-settings` to segfault after a short while. Should I open a new bug for `upower` ? since there are two issues total, here.
Forgot to list versions: `upower` compiled from git: commit 215049e7b80c5f24cb35cd229a445c6cf19bd381 (HEAD -> makepkg, tag: UPOWER_0_99_10) Date: Wed Feb 20 14:32:49 2019 +0100 `xfce4-power-manager` compiled from git: commit 1caf15d6dab59f910dd14041378c73ec598e2b01 (HEAD -> makepkg, origin/master, origin/HEAD, master) Date: Fri May 10 18:33:28 2019 +0200 both with: ``` CFLAGS="-pipe -march=native -Wno-trigraphs -fno-schedule-insns2 -fno-delete-null-pointer-checks -mtune=native -fomit-frame-pointer -O2 -D_FORTIFY_SOURCE=2" CPPFLAGS="${CFLAGS}" CXXFLAGS="${CFLAGS}" ``` plus the extra CFLAGS/CXXFLAGS/CPPFLAGS temporarily added for debug/stacktraces: `-ggdb3 -DDEBUG -O1 -fvar-tracking-assignments` For `xfce4-power-manager` I've passed `--enable-debug` to `./autogen.sh` but only now I see: --enable-debug[=no|minimum|yes|full] Build with debugging support [default=[]] I wonder which one did it take for [] , maybe `yes` ?
Kernel is: $ uname -a Linux i87k 4.19.41-1-lts #1 SMP Wed May 8 15:58:57 CEST 2019 x86_64 GNU/Linux local/linux-lts 4.19.41-1 The Linux-lts kernel and modules
glib2 is: like this https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/glib2&id=aecfff9f6905b71ad449d64445ab6cab9aea5b99 local/glib2 2.60.2-1 Low level core library but with: CFLAGS="-pipe -march=native -Wno-trigraphs -fno-schedule-insns2 -fno-delete-null-pointer-checks -mtune=native -fomit-frame-pointer -O2 -D_FORTIFY_SOURCE=2" CPPFLAGS="${CFLAGS}" CXXFLAGS="${CFLAGS}" plus extra CFLAGS/CXXFLAGS/CPPFLAGS temporarily added for debug/stacktraces "-fstack-protector-strong -fno-omit-frame-pointer -ftrack-macro-expansion=2 -ggdb -fvar-tracking-assignments -fPIC -O2" I'll try kernel v5.1 next...
Same thing with v5.1 kernel, but I find this: https://bugzilla.kernel.org/show_bug.cgi?id=73321#c11 I'll see what I can do with it. That would solve the `upower` auto-disconnecting issue. But the main issue, in OP, about `xfce4-power-manager-settings` crashing is still to be fixed.
fixed that ^ in this: https://bugzilla.kernel.org/show_bug.cgi?id=203569 which now mitigates the current issue!
even with the above mitigation I got the crash by simply running `sudo lsusb -vvvv|less` (while having xfce4-power-manager-settings opened, of course) seems to be the same crash: ``` $ coredumpctl -1 debug PID: 16392 (xfce4-power-man) UID: 1000 (user) GID: 1000 (user) Signal: 11 (SEGV) Timestamp: Sat 2019-05-11 14:22:40 CEST (29s ago) Command Line: xfce4-power-manager-settings -d /org/freedesktop/UPower/devices/ups_hiddev1 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: 02ff376304cb4804a80bba66a6558bdb Machine ID: 5767ef25f523419aaa049f3d74481940 Hostname: i87k Storage: /var/lib/systemd/coredump/core.xfce4-power-man.1000.02ff376304cb4804a80bba66a6558bdb.16392.1557577360000000 Message: Process 16392 (xfce4-power-man) of user 1000 dumped core. Stack trace of thread 16392: #0 0x00007cb8b39e60f9 g_type_check_instance (libgobject-2.0.so.0) #1 0x00007cb8b39f9edb g_signal_handler_disconnect (libgobject-2.0.so.0) #2 0x00005be15abcbd9d remove_device (xfce4-power-manager-settings) #3 0x00007cb8b3a05225 g_closure_invoke (libgobject-2.0.so.0) #4 0x00007cb8b39f283d signal_emit_unlocked_R (libgobject-2.0.so.0) #5 0x00007cb8b39f6c3e g_signal_emit_valist (libgobject-2.0.so.0) #6 0x00007cb8b39f7c77 g_signal_emit (libgobject-2.0.so.0) #7 0x00007cb8b3a3b9d6 up_device_removed_cb (libupower-glib.so.3) #8 0x00007cb8b27446d0 ffi_call_unix64 (libffi.so.6) #9 0x00007cb8b27440a0 ffi_call (libffi.so.6) #10 0x00007cb8b3a0f569 g_cclosure_marshal_generic (libgobject-2.0.so.0) #11 0x00007cb8b3a05225 g_closure_invoke (libgobject-2.0.so.0) #12 0x00007cb8b39f283d signal_emit_unlocked_R (libgobject-2.0.so.0) #13 0x00007cb8b39f9905 g_signal_emitv (libgobject-2.0.so.0) #14 0x00007cb8b3a410ee up_exported_daemon_proxy_g_signal (libupower-glib.so.3) #15 0x00007cb8b27446d0 ffi_call_unix64 (libffi.so.6) #16 0x00007cb8b27440a0 ffi_call (libffi.so.6) #17 0x00007cb8b3a0f569 g_cclosure_marshal_generic (libgobject-2.0.so.0) #18 0x00007cb8b3a05225 g_closure_invoke (libgobject-2.0.so.0) #19 0x00007cb8b39f210f signal_emit_unlocked_R (libgobject-2.0.so.0) #20 0x00007cb8b39f6c3e g_signal_emit_valist (libgobject-2.0.so.0) #21 0x00007cb8b39f7c77 g_signal_emit (libgobject-2.0.so.0) #22 0x00007cb8b3ac7ab9 on_signal_received (libgio-2.0.so.0) #23 0x00007cb8b3acf3a5 emit_signal_instance_in_idle_cb (libgio-2.0.so.0) #24 0x00007cb8b391dd69 g_main_dispatch (libglib-2.0.so.0) #25 0x00007cb8b391fe88 g_main_context_iterate (libglib-2.0.so.0) #26 0x00007cb8b391fecf g_main_context_iteration (libglib-2.0.so.0) #27 0x00007cb8b3afed3d g_application_run (libgio-2.0.so.0) #28 0x00005be15abca8ab main (xfce4-power-manager-settings) #29 0x00007cb8b35b9fab __libc_start_main (libc.so.6) #30 0x00005be15abc90ce _start (xfce4-power-manager-settings) Stack trace of thread 16400: #0 0x00007cb8b368c1a6 __GI___poll (libc.so.6) #1 0x00007cb8b391fdfe g_main_context_poll (libglib-2.0.so.0) #2 0x00007cb8b3920dd2 g_main_loop_run (libglib-2.0.so.0) #3 0x00007cb8b3aba1de gdbus_shared_thread_func (libgio-2.0.so.0) #4 0x00007cb8b38fb14e g_thread_proxy (libglib-2.0.so.0) #5 0x00007cb8b376260a start_thread (libpthread.so.0) #6 0x00007cb8b3696fe3 __clone (libc.so.6) Stack trace of thread 16399: #0 0x00007cb8b368c1a6 __GI___poll (libc.so.6) #1 0x00007cb8b391fdfe g_main_context_poll (libglib-2.0.so.0) #2 0x00007cb8b391fecf g_main_context_iteration (libglib-2.0.so.0) #3 0x00007cb8b391ff21 glib_worker_main (libglib-2.0.so.0) #4 0x00007cb8b38fb14e g_thread_proxy (libglib-2.0.so.0) #5 0x00007cb8b376260a start_thread (libpthread.so.0) #6 0x00007cb8b3696fe3 __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 16392] [New LWP 16400] [New LWP 16399] [Thread debugging using libthread_db enabled] Using host libthread_db library "/usr/lib/libthread_db.so.1". Core was generated by `xfce4-power-manager-settings -d /org/freedesktop/UPower/devices/ups_hiddev1'. 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 0x7cb8b1d1f980 (LWP 16392))] (gdb) bt #0 0x00007cb8b39e60f9 in g_type_check_instance (type_instance=0x5be15b091610, type_instance=<optimized out>) at ../glib/gobject/gtype.c:4131 #1 0x00007cb8b39f9edb in g_signal_handler_disconnect (instance=0x5be15b091610, handler_id=1101) at ../glib/gobject/gsignal.c:2627 #2 0x00005be15abcbd9d in remove_device (object_path=<optimized out>) at xfpm-settings.c:2226 #3 0x00005be15abcbd9d in device_removed_cb (upclient=<optimized out>, object_path=<optimized out>, user_data=<optimized out>) at xfpm-settings.c:2242 #7 0x00007cb8b39f7c77 in <emit signal ??? on instance ???> (instance=<optimized out>, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3447 #4 0x00007cb8b3a05225 in g_closure_invoke (closure=0x5be15b0e1750, return_value=0x0, n_param_values=2, param_values=0x7fff56248900, invocation_hint=0x7fff56248880) at ../glib/gobject/gclosure.c:810 #5 0x00007cb8b39f283d in signal_emit_unlocked_R (node=node@entry=0x5be15ada4760, detail=detail@entry=0, instance=instance@entry=0x5be15adf6d00, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff56248900) at ../glib/gobject/gsignal.c:3635 #6 0x00007cb8b39f6c3e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fff56248ad0) at ../glib/gobject/gsignal.c:3391 #8 0x00007cb8b3a3b9d6 in up_device_removed_cb (proxy=<optimized out>, object_path=<optimized out>, client=<optimized out>) at up-client.c:320 #9 0x00007cb8b27446d0 in ffi_call_unix64 () at /usr/lib/libffi.so.6 #10 0x00007cb8b27440a0 in ffi_call () at /usr/lib/libffi.so.6 #14 0x00007cb8b39f9905 in Python Exception <class 'gdb.error'> There is no member named v_pointer.: #15 0x00007cb8b3a410ee 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 0x00007cb8b27446d0 in ffi_call_unix64 () at /usr/lib/libffi.so.6 #17 0x00007cb8b27440a0 in ffi_call () at /usr/lib/libffi.so.6 #22 0x00007cb8b39f7c77 in <emit signal ??? on instance ???> (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3447 #18 0x00007cb8b3a0f569 in g_cclosure_marshal_generic (closure=0x5be15ad425e0, 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 0x00007cb8b3a05225 in g_closure_invoke (closure=0x5be15ad425e0, return_value=0x0, n_param_values=4, param_values=0x7fff562495e0, invocation_hint=0x7fff56249560) at ../glib/gobject/gclosure.c:810 #20 0x00007cb8b39f210f in signal_emit_unlocked_R (node=node@entry=0x5be15ad42610, detail=detail@entry=0, instance=instance@entry=0x5be15b09a560, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff562495e0) at ../glib/gobject/gsignal.c:3673 #21 0x00007cb8b39f6c3e in g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>, var_args=var_args@entry=0x7fff562497e0) at ../glib/gobject/gsignal.c:3391 #23 0x00007cb8b3ac7ab9 in on_signal_received (connection=<optimized out>, sender_name=0x7cb8a4009be0 ":1.21", object_path=<optimized out>, interface_name=<optimized out>, signal_name=0x7cb8a400d2f0 "DeviceRemoved", parameters=0x5be15b11f4f0, user_data=0x5be15ae17a20) at ../glib/gio/gdbusproxy.c:917 #24 0x00007cb8b3acf3a5 in emit_signal_instance_in_idle_cb (data=0x7cb8a40138a0) at ../glib/gio/gdbusconnection.c:3743 #25 0x00007cb8b391dd69 in g_main_dispatch (context=0x5be15ad34860) at ../glib/glib/gmain.c:3189 #26 0x00007cb8b391dd69 in g_main_context_dispatch (context=context@entry=0x5be15ad34860) at ../glib/glib/gmain.c:3854 #27 0x00007cb8b391fe88 in g_main_context_iterate (context=context@entry=0x5be15ad34860, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:3927 #28 0x00007cb8b391fecf in g_main_context_iteration (context=0x5be15ad34860, may_block=1) at ../glib/glib/gmain.c:3988 #29 0x00007cb8b3afed3d in g_application_run (application=0x5be15ad33100, argc=<optimized out>, argv=0x7fff56249bc8) at ../glib/gio/gapplication.c:2516 #30 0x00005be15abca8ab in main (argc=3, argv=0x7fff56249bc8) 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 0x00007cb8b39f9edb in g_signal_handler_disconnect (instance=0x5be15b091610, handler_id=1101) at ../glib/gobject/gsignal.c:2627 2627 g_return_if_fail (G_TYPE_CHECK_INSTANCE (instance)); (gdb) ``` And now the charge is reported at 0% as usual (previously it was 82% before sudo lsusb) as if, lsusb confused the UPS or something. I do note that lsusb as root shows iManufacturer and iProduct with `(error)` but non-root does not: `sudo lsusb -vvvv|less`: Bus 001 Device 007: ID 0463:ffff MGE UPS Systems UPS Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0463 MGE UPS Systems idProduct 0xffff UPS bcdDevice 0.01 iManufacturer 1 (error) iProduct 2 (error) iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0022 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 20mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 33 US bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 549 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 20 Device Status: 0x0001 Self Powered `lsusb -vvvv|less` : Bus 001 Device 007: ID 0463:ffff MGE UPS Systems UPS Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0463 MGE UPS Systems idProduct 0xffff UPS bcdDevice 0.01 iManufacturer 1 iProduct 2 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0022 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 20mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 33 US bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 549 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 20
I guess it got really confused because `lsusb` doesn't even list it after reboot(I'd have to physically re-plug it!): [ 3.909057] usb 1-14: device descriptor read/64, error -32 [ 4.127226] usb 1-14: device descriptor read/64, error -32 [ 4.350099] usb 1-14: new low-speed USB device number 6 using xhci_hcd [ 4.465187] usb 1-14: device descriptor read/64, error -32 [ 4.687196] usb 1-14: device descriptor read/64, error -32 [ 4.796168] usb usb1-port14: attempt power cycle [ 5.424111] usb 1-14: new low-speed USB device number 7 using xhci_hcd [ 5.437328] usb 1-14: device descriptor read/8, error -32 [ 5.553271] usb 1-14: device descriptor read/8, error -32 [ 5.774047] usb 1-14: new low-speed USB device number 8 using xhci_hcd [ 5.786990] usb 1-14: device descriptor read/8, error -32 [ 5.911707] usb 1-14: device descriptor read/8, error -32 [ 6.022069] usb usb1-port14: unable to enumerate USB device some `lspci`: 00:14.0 USB controller: Intel Corporation 200 Series/Z370 Chipset Family USB 3.0 xHCI Controller 00:1b.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #17 (rev f0) 00:1c.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #1 (rev f0) 00:1c.4 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #5 (rev f0) 00:1d.0 PCI bridge: Intel Corporation 200 Series PCH PCI Express Root Port #9 (rev f0) Here's after replug: `lsusb -vvvv|less`: Bus 001 Device 009: ID 0463:ffff MGE UPS Systems UPS Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 1.10 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 8 idVendor 0x0463 MGE UPS Systems idProduct 0xffff UPS bcdDevice 0.01 iManufacturer 1 iProduct 2 iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x0022 bNumInterfaces 1 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 20mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.10 bCountryCode 33 US bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 549 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 20 and the diff with sudo: $ colordiff -up lsusb2 lsusb3sudo --- lsusb2 2019-05-11 15:13:39.923990792 +0200 +++ lsusb3sudo 2019-05-11 15:14:11.342990493 +0200 @@ -10,8 +10,8 @@ Device Descriptor: idVendor 0x0463 MGE UPS Systems idProduct 0xffff UPS bcdDevice 0.01 - iManufacturer 1 - iProduct 2 + iManufacturer 1 EATON + iProduct 2 5E iSerial 0 bNumConfigurations 1 Configuration Descriptor: @@ -55,4 +55,6 @@ Device Descriptor: Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 20 +Device Status: 0x0001 + Self Powered No more `(error)` with sudo, looks like. `Current charge 0%` though, but no `lsusb` invocation ever since(my prev. comment) caused a crash of `xfce-power-manager-settings` anymore. Though I did just recompile `upower` and `xfce4-power-manager` packages since the previous comment, thinking that maybe they need to incorporate the newly changed kernel header... (their HEAD commits didn't change since! I checked) I also messed a bit with Tunables from `sudo powertop` to see if they change anything(turning Bad into Good or viceversa), apparently not. Ok, no to reproduce the crash in OP, I proceeded to physically remove and plug back in the USB cable into the UPS and that was enough to cause the crash. So everything else shouldn't matter. Any kind of USB disconnection (be it physical, or emulated-by-upower) is enough to cause the crash from OP.
(In reply to howaboutsynergy from comment #8) > Ok, no to reproduce the crash in OP, I proceeded to physically remove and plug back in the USB cable into the UPS and that was enough to cause the crash. > So everything else shouldn't matter. Any kind of USB disconnection (be it physical, or emulated-by-upower) is enough to cause the crash from OP. *no=so
-- GitLab Migration Automatic Message -- This bug has been migrated to xfce.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.xfce.org/xfce/xfce4-power-manager/-/issues/56. Please create an account or use an existing account on one of our supported OAuth providers. If you want to fork to submit patches and merge requests please continue reading here: https://docs.xfce.org/contribute/dev/git/start#gitlab_forks_and_merge_requests Also feel free to reach out to us on the mailing list https://mail.xfce.org/mailman/listinfo/xfce4-dev