Alexays / Waybar

Highly customizable Wayland bar for Sway and Wlroots based compositors. :v: :tada:
MIT License
6.52k stars 704 forks source link

Segmentation fault after resume #3223

Closed hrdl-github closed 5 months ago

hrdl-github commented 5 months ago

Version: 0.10.3 Environment: x86_64, GNU/Linux (Arch), sway 1.9.

This happened when docking a suspended laptop and then resuming. Suspend was triggered by taking the laptop out of its dock while the lid was closed. Resume was triggered by opening the lid.

Program terminated with signal SIGSEGV, Segmentation fault.
[Current thread is 1 (Thread 0x7b7c8292fa00 (LWP 2154699))]
#0  std::__detail::_List_node_base::_M_hook (this=this@entry=0x5d945462ef30, __position=__position@entry=0x5d9454477d88) at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++98/list.cc:134
#1  0x00007b7c85933b91 in std::__cxx11::list<sigc::slot_base, std::allocator<sigc::slot_base> >::emplace<sigc::slot_base> (__position=Python Exception <class 'gdb.error'>: value has been optimized out
, this=0x5d9454477d88) at /usr/include/c++/13.2.1/bits/stl_list.h:268
        __tmp = 0x5d945462ef30
        __tmp = <optimized out>
#2  std::__cxx11::list<sigc::slot_base, std::allocator<sigc::slot_base> >::insert (__x=..., __position=Python Exception <class 'gdb.error'>: value has been optimized out
, this=0x5d9454477d88) at /usr/include/c++/13.2.1/bits/stl_list.h:1403
#3  sigc::internal::temp_slot_list::temp_slot_list (slots=std::__cxx11::list = {...}, this=<synthetic pointer>) at /usr/include/sigc++-2.0/sigc++/signal_base.h:223
#4  sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x5d9454477d80) at /usr/include/sigc++-2.0/sigc++/signal.h:788
        exec = {sig_ = <optimized out>}
        slots = Python Exception <class 'gdb.error'>: value has been optimized out
{slots_ = <optimized out>, placeholder = }
        exec = {sig_ = <optimized out>}
        slots = Python Exception <class 'gdb.error'>: value has been optimized out
{slots_ = <optimized out>, placeholder = }
        slot = <optimized out>
        __for_range = <optimized out>
        __for_begin = Python Exception <class 'gdb.error'>: value has been optimized out

        __for_end = Python Exception <class 'gdb.error'>: value has been optimized out

#5  sigc::signal0<void, sigc::nil>::emit (this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/signal.h:2805
#6  sigc::signal0<void, sigc::nil>::operator() (this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/signal.h:2821
#7  Glib::DispatchNotifier::pipe_io_handler (this=<optimized out>) at ../glibmm/glib/glibmm/dispatcher.cc:486
        data = {dispatcher = 0x5d94543a7218, notifier = 0x5d9453ecfd80}
        n_read = <optimized out>
        drop_message = <optimized out>
        __PRETTY_FUNCTION__ = {<optimized out> <repeats 64 times>}
#8  0x00007b7c85933f60 in sigc::slot1<bool, Glib::IOCondition>::operator() (_A_a1=@0x7ffdc9566e64: Glib::IO_IN, this=<optimized out>) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:675
#9  Glib::IOSource::dispatch (this=<optimized out>, slot=<optimized out>) at ../glibmm/glib/glibmm/main.cc:1377
#10 0x00007b7c85934daf in Glib::Source::dispatch_vfunc (callback=<optimized out>, user_data=<optimized out>) at ../glibmm/glib/glibmm/main.cc:131
        self = <optimized out>
        callback_data = <optimized out>
        __PRETTY_FUNCTION__ = {<optimized out> <repeats 75 times>}
#11 0x00007b7c85a13199 in g_main_dispatch (context=0x5d9453e66450) at ../glib/glib/gmain.c:3344
        dispatch = 0x7b7c85934d60 <Glib::Source::dispatch_vfunc(_GSource*, int (*)(void*), void*)>
        prev_source = 0x0
        begin_time_nsec = 279270673315849
        was_in_call = 0
        user_data = 0x5d9453ec2480
        callback = 0x7b7c859340a0 <(anonymous namespace)::glibmm_dummy_source_callback(void*)>
        cb_funcs = 0x7b7c85b04380 <g_source_callback_funcs>
        cb_data = 0x5d9453f8d1d0
        need_destroy = <optimized out>
        source = 0x5d9453ecfea0
        current = 0x5d9453e66690
        i = 0
        __func__ = "g_main_dispatch"
#12 0x00007b7c85a723bf in g_main_context_dispatch_unlocked (context=0x5d9453e66450) at ../glib/glib/gmain.c:4152
#13 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5d9453e66450, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4217
        max_priority = 2147483647
        timeout = -1
        some_ready = 1
        nfds = 4
        allocated_nfds = 5
        fds = 0x5d9453f264d0
        begin_time_nsec = 279270673291279
#14 0x00007b7c85a12712 in g_main_context_iteration (context=context@entry=0x5d9453e66450, may_block=may_block@entry=1) at ../glib/glib/gmain.c:4282
        retval = <optimized out>
#15 0x00007b7c857e6ed6 in g_application_run (application=0x5d9453e546d0, argc=<optimized out>, argv=0x7ffdc9567db8) at ../glib/gio/gapplication.c:2712
        arguments = 0x5d9453f74370
        status = 0
        context = 0x5d9453e66450
        acquired_context = <optimized out>
        __func__ = "g_application_run"
#16 0x00005d94536b98bc in ??? ()
#17 0x00005d94536b7ed6 in main ()
zjeffer commented 5 months ago

Can you build a debug version of Waybar and try to reproduce it again, because currently the gdb backtrace doesn't show much. Also include the trace logs by running with -l trace.

hrdl-github commented 5 months ago

Will do.

hrdl-github commented 5 months ago

I'm not sure whether these are related, but this is what I just got. I've activated the upower module for an unrelated test yesterday. -l trace did not yield anything interesting.

Program terminated with signal SIGSEGV, Segmentation fault.
#0  Glib::DispatchNotifier::send_notification (this=0x0, dispatcher=<optimized out>) at ../glibmm/glib/glibmm/dispatcher.cc:379
Downloading source file /usr/src/debug/glibmm/build/../glibmm/glib/glibmm/dispatcher.cc
379     n_written = write(fd_sender_, &data, sizeof(data));
[Current thread is 1 (Thread 0x70b005565640 (LWP 2452807))]
(gdb) bt full
#0  Glib::DispatchNotifier::send_notification (this=0x0, dispatcher=<optimized out>) at ../glibmm/glib/glibmm/dispatcher.cc:379
        data = {dispatcher = 0x5e4390997288, notifier = 0x0}
        n_written = <optimized out>
#1  0x00005e43904dc4cc in waybar::modules::upower::UPower::deviceNotify_cb (device=0x5e4390816de0 [UpDevice], pspec=0x5e43909cf8a0 [GParamUInt64], data=0x5e4390997280) at ../src/modules/upower/upower.cpp:147
        up = 0x5e4390997280
#2  0x000070b009280730 in g_closure_invoke (closure=0x5e4390981b10, return_value=0x0, n_param_values=2, param_values=0x7fffd3625040, invocation_hint=0x7fffd3624f90) at ../glib/gobject/gclosure.c:834
        marshal = 0x70b0092862b0 <g_cclosure_marshal_VOID__PARAM>
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x5e4390981af0
        __func__ = "g_closure_invoke"
#3  0x000070b0092af896 in signal_emit_unlocked_R.isra.0
    (node=node@entry=0x7fffd3625130, detail=detail@entry=2115, instance=instance@entry=0x5e4390816de0, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffd3625040)
    at ../glib/gobject/gsignal.c:3888
        tmp = <optimized out>
        handler = 0x5e43909842a0
        accumulator = <optimized out>
        emission = {next = 0x7fffd36254e0, instance = 0x5e4390816de0, ihint = {signal_id = 1, detail = 2115, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4}
        class_closure = <optimized out>
        hlist = <optimized out>
        handler_list = 0x5e43909842a0
        return_accu = <optimized out>
        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 = <optimized out>
        max_sequential_handler_number = <optimized out>
        return_value_altered = <optimized out>
        n_params = <optimized out>
        EMIT_RESTART = <optimized out>
        __func__ = {<optimized out> <repeats 23 times>}
#4  0x000070b0092a07a2 in signal_emit_valist_unlocked (instance=instance@entry=0x5e4390816de0, signal_id=signal_id@entry=1, detail=detail@entry=2115, var_args=var_args@entry=0x7fffd3625290)
    at ../glib/gobject/gsignal.c:3520
        instance_and_params = 0x7fffd3625040
        param_values = 0x7fffd3625058
        node = <optimized out>
        i = <optimized out>
        node_copy = {signal_id = 1, itype = 0x50, name = 0x70b0092b16b7 "notify", destroyed = 0, flags = 121, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x5e439079ff40, return_type = 0x4, class_closure_bsa = 0x5e439079ff60, accumulator = 0x0, c_marshaller = 0x70b0092862b0 <g_cclosure_marshal_VOID__PARAM>, va_marshaller = 0x70b0092877c0 <g_cclosure_marshal_VOID__PARAMv>, emission_hooks = 0x0, single_va_closure = 0x5e439079ff10}
        __func__ = "signal_emit_valist_unlocked"
#5  0x000070b0092a09d7 in g_signal_emit_valist (instance=0x5e4390816de0, signal_id=1, detail=2115, var_args=var_args@entry=0x7fffd3625290) at ../glib/gobject/gsignal.c:3263
#6  0x000070b0092a0a94 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3583
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffd3625370, reg_save_area = 0x7fffd36252b0}}
#7  0x000070b00928c4b6 in g_object_dispatch_properties_changed (object=0x5e4390816de0 [UpDevice], n_pspecs=<optimized out>, pspecs=<optimized out>) at ../glib/gobject/gobject.c:1816
        i = <optimized out>
#8  0x000070b009292a5a in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x5e4390816de0 [UpDevice]) at ../glib/gobject/gobject.c:1921
        object_flags = <optimized out>
        needs_notify = 1
        in_init = <optimized out>
        object_flags = <optimized out>
        needs_notify = <optimized out>
        in_init = <optimized out>
        _g_boolean_var_58 = <optimized out>
#9  g_object_notify (property_name=0x5e439082643a "update-time", object=0x5e4390816de0 [UpDevice]) at ../glib/gobject/gobject.c:1971
        pspec = <optimized out>
        pspec = <optimized out>
        __func__ = {<optimized out> <repeats 16 times>}
        _g_boolean_var_59 = <optimized out>
        _g_boolean_var_60 = <optimized out>
#10 g_object_notify (object=0x5e4390816de0 [UpDevice], property_name=0x5e439082643a "update-time") at ../glib/gobject/gobject.c:1948
        pspec = <optimized out>
        __func__ = "g_object_notify"
#11 0x000070b009280730 in g_closure_invoke (closure=0x5e4390d4cb40, return_value=0x0, n_param_values=2, param_values=0x7fffd36255a0, invocation_hint=0x7fffd36254f0) at ../glib/gobject/gclosure.c:834
        marshal = 0x70b0092862b0 <g_cclosure_marshal_VOID__PARAM>
--Type <RET> for more, q to quit, c to continue without paging--
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x5e4390d4cb20
        __func__ = "g_closure_invoke"
#12 0x000070b0092af896 in signal_emit_unlocked_R.isra.0
    (node=node@entry=0x7fffd3625690, detail=detail@entry=2115, instance=instance@entry=0x5e43907f5e20, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffd36255a0)
    at ../glib/gobject/gsignal.c:3888
        tmp = <optimized out>
        handler = 0x5e439081a610
        accumulator = <optimized out>
        emission = {next = 0x7fffd3625aa0, instance = 0x5e43907f5e20, ihint = {signal_id = 1, detail = 2115, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4}
        class_closure = <optimized out>
        hlist = <optimized out>
        handler_list = 0x5e439081a610
        return_accu = <optimized out>
        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 = <optimized out>
        max_sequential_handler_number = <optimized out>
        return_value_altered = <optimized out>
        n_params = <optimized out>
        EMIT_RESTART = <optimized out>
        __func__ = {<optimized out> <repeats 23 times>}
#13 0x000070b0092a07a2 in signal_emit_valist_unlocked (instance=instance@entry=0x5e43907f5e20, signal_id=signal_id@entry=1, detail=detail@entry=2115, var_args=var_args@entry=0x7fffd36257f0)
    at ../glib/gobject/gsignal.c:3520
        instance_and_params = 0x7fffd36255a0
        param_values = 0x7fffd36255b8
        node = <optimized out>
        i = <optimized out>
        node_copy = {signal_id = 1, itype = 0x50, name = 0x70b0092b16b7 "notify", destroyed = 0, flags = 121, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x5e439079ff40, return_type = 0x4, class_closure_bsa = 0x5e439079ff60, accumulator = 0x0, c_marshaller = 0x70b0092862b0 <g_cclosure_marshal_VOID__PARAM>, va_marshaller = 0x70b0092877c0 <g_cclosure_marshal_VOID__PARAMv>, emission_hooks = 0x0, single_va_closure = 0x5e439079ff10}
        __func__ = "signal_emit_valist_unlocked"
#14 0x000070b0092a09d7 in g_signal_emit_valist (instance=0x5e43907f5e20, signal_id=1, detail=2115, var_args=var_args@entry=0x7fffd36257f0) at ../glib/gobject/gsignal.c:3263
#15 0x000070b0092a0a94 in g_signal_emit (instance=<optimized out>, signal_id=<optimized out>, detail=<optimized out>) at ../glib/gobject/gsignal.c:3583
        var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fffd36258d0, reg_save_area = 0x7fffd3625810}}
#16 0x000070b00928c4b6 in g_object_dispatch_properties_changed (object=0x5e43907f5e20 [UpExportedDeviceProxy], n_pspecs=<optimized out>, pspecs=<optimized out>) at ../glib/gobject/gobject.c:1816
        i = <optimized out>
#17 0x000070b009292a5a in g_object_notify_by_spec_internal (pspec=<optimized out>, object=0x5e43907f5e20 [UpExportedDeviceProxy]) at ../glib/gobject/gobject.c:1921
        object_flags = <optimized out>
        needs_notify = 1
        in_init = <optimized out>
        object_flags = <optimized out>
        needs_notify = <optimized out>
        in_init = <optimized out>
        _g_boolean_var_58 = <optimized out>
#18 g_object_notify (property_name=0x70b007f54067 "update-time", object=0x5e43907f5e20 [UpExportedDeviceProxy]) at ../glib/gobject/gobject.c:1971
        pspec = <optimized out>
        pspec = <optimized out>
        __func__ = {<optimized out> <repeats 16 times>}
        _g_boolean_var_59 = <optimized out>
        _g_boolean_var_60 = <optimized out>
#19 g_object_notify (object=object@entry=0x5e43907f5e20 [UpExportedDeviceProxy], property_name=0x70b007f54067 "update-time") at ../glib/gobject/gobject.c:1948
        pspec = <optimized out>
        __func__ = "g_object_notify"
#20 0x000070b007f49bad in up_exported_device_proxy_g_properties_changed (_proxy=0x5e43907f5e20 [UpExportedDeviceProxy], changed_properties=<optimized out>, invalidated_properties=0x5e4390c0af20)
    at dbus/up-device-generated.c:3125
        proxy = 0x5e43907f5e20 [UpExportedDeviceProxy]
        n = <optimized out>
        key = 0x70afe806e730 "UpdateTime"
        iter = 0x5e439081c480
        info = 0x70b007f5cb20 <_up_exported_device_property_info_update_time>
#21 0x000070b009280730 in g_closure_invoke (closure=0x5e43907b2d40, return_value=0x0, n_param_values=3, param_values=0x7fffd3625b60, invocation_hint=0x7fffd3625ab0) at ../glib/gobject/gclosure.c:834
        marshal = 0x70b009285810 <g_type_class_meta_marshal>
--Type <RET> for more, q to quit, c to continue without paging--
        marshal_data = 0x88
        in_marshal = 0
        real_closure = 0x5e43907b2d20
        __func__ = "g_closure_invoke"
#22 0x000070b0092aff4a in signal_emit_unlocked_R.isra.0
    (node=node@entry=0x7fffd3625c60, detail=detail@entry=0, instance=instance@entry=0x5e43907f5e20, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fffd3625b60)
    at ../glib/gobject/gsignal.c:3928
        accumulator = <optimized out>
        emission = {next = 0x0, instance = 0x5e43907f5e20, ihint = {signal_id = 40, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x5e43909cfb10 [UpExportedDeviceProxy/GDBusProxy]}
        class_closure = <optimized out>
        hlist = <optimized out>
        handler_list = 0x0
        return_accu = <optimized out>
        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 = <optimized out>
        max_sequential_handler_number = <optimized out>
        return_value_altered = <optimized out>
        n_params = <optimized out>
        EMIT_RESTART = <optimized out>
        __func__ = {<optimized out> <repeats 23 times>}
#23 0x000070b0092a07a2 in signal_emit_valist_unlocked (instance=instance@entry=0x5e43907f5e20, signal_id=signal_id@entry=40, detail=detail@entry=0, var_args=var_args@entry=0x7fffd3625dc0)
    at ../glib/gobject/gsignal.c:3520
        instance_and_params = 0x7fffd3625b60
        param_values = 0x7fffd3625b78
        node = <optimized out>
        i = <optimized out>
        node_copy = {signal_id = 40, itype = 0x5e4390747cf0 [GDBusProxy], name = 0x70b008b65f6f "g-properties-changed", destroyed = 0, flags = 130, n_params = 2, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x5e43907b2ba0, return_type = 0x4, class_closure_bsa = 0x5e43907b2de0, accumulator = 0x0, c_marshaller = 0x70b008a76d10 <_g_cclosure_marshal_VOID__VARIANT_BOXED>, va_marshaller = 0x70b008a78500 <_g_cclosure_marshal_VOID__VARIANT_BOXEDv>, emission_hooks = 0x0, single_va_closure = 0x0}
        __func__ = "signal_emit_valist_unlocked"
#24 0x000070b0092a09d7 in g_signal_emit_valist (instance=0x5e43907f5e20, signal_id=40, detail=0, var_args=var_args@entry=0x7fffd3625dc0) at ../glib/gobject/gsignal.c:3263
#25 0x000070b0092a0a94 in g_signal_emit (instance=instance@entry=0x5e43907f5e20, signal_id=<optimized out>, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3583
        var_args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fffd3625ea0, reg_save_area = 0x7fffd3625de0}}
#26 0x000070b008b1830e in on_properties_changed
    (connection=<optimized out>, sender_name=<optimized out>, object_path=<optimized out>, interface_name=<optimized out>, signal_name=<optimized out>, parameters=<optimized out>, user_data=0x5e43907dfb50)
    at ../glib/gio/gdbusproxy.c:1086
        proxy_weak = 0x5e43907dfb50
        emit_g_signal = <optimized out>
        proxy = 0x5e43907f5e20 [UpExportedDeviceProxy]
        interface_name_for_signal = 0x70afe806e710 "org.freedesktop.UPower.Device"
        changed_properties = 0x5e439099bd90
        invalidated_properties = 0x5e4390c0af20
        iter = {x = {103644281814416, 4, 4, 0, 140736739827456, 3164620176448552960, 140736739827504, 3579507750, 103644280207984, 123900814065312, 123900814065312, 123901365255758, 103644287343232, 123901363543018, 103644286539480, 103644280207968}}
        key = 0x5e4390d16630 "V\275\323tF^"
        value = 0x5e4390a00dd0
        n = <optimized out>
#27 0x000070b008b01f08 in emit_signal_instance_in_idle_cb (data=0x70afe806f280) at ../glib/gio/gdbusconnection.c:3798
        signal_instance = 0x70afe806f280
        parameters = 0x70afe804bba0
        has_subscription = 1
#28 0x000070b008d0d199 in g_main_dispatch (context=0x5e43907b3e20) at ../glib/glib/gmain.c:3344
        dispatch = 0x70b008d0a630 <g_idle_dispatch>
        prev_source = 0x0
        begin_time_nsec = 295865658214393
        was_in_call = 0
        user_data = 0x70afe806f280
        callback = 0x70b008b01e80 <emit_signal_instance_in_idle_cb>
        cb_funcs = 0x70b008dfe380 <g_source_callback_funcs>
        cb_data = 0x70afe8057450
        need_destroy = <optimized out>
        source = 0x70afe8067840
        current = 0x5e43907b4060
--Type <RET> for more, q to quit, c to continue without paging--
        i = 1
        __func__ = "g_main_dispatch"
#29 0x000070b008d6c3bf in g_main_context_dispatch_unlocked (context=0x5e43907b3e20) at ../glib/glib/gmain.c:4152
#30 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5e43907b3e20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4217
        max_priority = 0
        timeout = 0
        some_ready = 1
        nfds = 4
        allocated_nfds = 4
        fds = 0x5e4390862860
        begin_time_nsec = 295865657289425
#31 0x000070b008d0c712 in g_main_context_iteration (context=context@entry=0x5e43907b3e20, may_block=may_block@entry=1) at ../glib/glib/gmain.c:4282
        retval = <optimized out>
#32 0x000070b008ae0ed6 in g_application_run (application=0x5e43907a20a0 [gtkmm__GtkApplication], argc=<optimized out>, argv=0x7fffd3626c68) at ../glib/gio/gapplication.c:2712
        arguments = 0x5e43908cdf10
        status = 0
        context = 0x5e43907b3e20
        acquired_context = <optimized out>
        __func__ = "g_application_run"
#33 0x00005e43903c5f64 in waybar::Client::main (this=0x5e4390731cf0, argc=3, argv=0x7fffd3626c68) at ../src/client.cpp:287
        show_help = false
        show_version = false
        config_opt = ""
        style_opt = ""
        log_level = "trace"
        cli = warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<clara::detail::BoundFlagLambda<clara::detail::Help::Help(bool&)::{lambda(bool)#1}>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace<clara::detail::BoundFlagLambda<clara::detail::Help::Help(bool&)::{lambda(bool)#1}>, std::allocator<void>, (__gnu_cxx::_Lock_policy)2>'
{<clara::detail::ParserBase> = {_vptr.ParserBase = 0x5e43906b2188 <vtable for clara::detail::Parser+16>}, m_exeName = {<clara::detail::ComposableParserImpl<clara::detail::ExeName>> = {<clara::detail::ParserBase> = {_vptr.ParserBase = 0x5e43906b22a0 <vtable for clara::detail::ExeName+16>}, <No data fields>}, m_name = std::shared_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >> (use count 1, weak count 0) = {get() = 0x5e439073d590}, m_ref = std::shared_ptr<clara::detail::BoundValueRefBase> (empty) = {get() = 0x0}}, m_options = std::vector of length 6, capacity 6 = {{<clara::detail::ParserRefImpl<clara::detail::Opt>> = {<clara::detail::ComposableParserImpl<clara::detail::Opt>> = {<clara::detail::ParserBase> = {_vptr.ParserBase = 0x5e43906b21f8 <vtable for clara::detail::Opt+16>}, <No data fields>}, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr<clara::detail::BoundRef> (use count 1, weak count 0) = {get() = 0x5e439073eb00}, m_hint = "", m_description = "display usage information"}, m_optNames = std::vector of length 3, capacity 3 = {"-?", "-h", "--help"}}, {<clara::detail::ParserRefImpl<clara::detail::Opt>> = {<clara::detail::ComposableParserImpl<clara::detail::Opt>> = {<clara::detail::ParserBase> = {_vptr.ParserBase = 0x5e43906b21f8 <vtable for clara::detail::Opt+16>}, <No data fields>}, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr<clara::detail::BoundRef> (use count 1, weak count 0) = {get() = 0x5e439073ea80}, m_hint = "", m_description = "Show version"}, m_optNames = std::vector of length 2, capacity 2 = {"-v", "--version"}}, {<clara::detail::ParserRefImpl<clara::detail::Opt>> = {<clara::detail::ComposableParserImpl<clara::detail::Opt>> = {<clara::detail::ParserBase> = {_vptr.ParserBase = 0x5e43906b21f8 <vtable for clara::detail::Opt+16>}, <No data fields>}, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr<clara::detail::BoundRef> (use count 1, weak count 0) = {get() = 0x5e439073ea00}, m_hint = "config", m_description = "Config path"}, m_optNames = std::vector of length 2, capacity 2 = {"-c", "--config"}}, {<clara::detail::ParserRefImpl<clara::detail::Opt>> = {<clara::detail::ComposableParserImpl<clara::detail::Opt>> = {<clara::detail::ParserBase> = {_vptr.ParserBase = 0x5e43906b21f8 <vtable for clara::detail::Opt+16>}, <No data fields>}, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr<clara::detail::BoundRef> (use count 1, weak count 0) = {get() = 0x5e439073e980}, m_hint = "style", m_description = "Style path"}, m_optNames = std::vector of length 2, capacity 2 = {"-s", "--style"}}, {<clara::detail::ParserRefImpl<clara::detail::Opt>> = {<clara::detail::ComposableParserImpl<clara::detail::Opt>> = {<clara::detail::ParserBase> = {_vptr.ParserBase = 0x5e43906b21f8 <vtable for clara::detail::Opt+16>}, <No data fields>}, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr<clara::detail::BoundRef> (use count 1, weak count 0) = {get() = 0x5e439073e950}, m_hint = "trace|debug|info|warning|error|critical|off", m_description = "Log level"}, m_optNames = std::vector of length 2, capacity 2 = {"-l", "--log-level"}}, {<clara::detail::ParserRefImpl<clara::detail::Opt>> = {<clara::detail::ComposableParserImpl<clara::detail::Opt>> = {<clara::detail::ParserBase> = {_vptr.ParserBase = 0x5e43906b21f8 <vtable for clara::detail::Opt+16>}, <No data fields>}, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr<clara::detail::BoundRef> (use count 1, weak count 0) = {get() = 0x5e439073d690}, m_hint = "id", m_description = "Bar id"}, m_optNames = std::vector of length 2, capacity 2 = {"-b", "--bar"}}}, m_args = std::vector of length 0, capacity 0}
        res = {<clara::detail::ResultValueBase<clara::detail::ParseState>> = {<clara::detail::ResultBase> = {_vptr.ResultBase = 0x5e43906b22d8 <vtable for clara::detail::BasicResult<clara::detail::ParseState>+16>, m_type = clara::detail::ResultBase::Ok}, {m_value = {m_type = clara::detail::ParseResultType::Matched, m_remainingTokens = {it = <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>, itEnd = <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>, m_tokenBuffer = std::vector of length 0, capacity 0}}}}, m_errorMessage = ""}
        theme = {pCppObject_ = 0x5e4390832af0}
        m_config = {static minLargestInt = -9223372036854775808, static maxLargestInt = 9223372036854775807, static maxLargestUInt = 18446744073709551615, static minInt = -2147483648, static maxInt = 2147483647, static maxUInt = 4294967295, static minInt64 = -9223372036854775808, static maxInt64 = 9223372036854775807, static maxUInt64 = 18446744073709551615, static defaultRealPrecision = 17, static maxUInt64AsDouble = 1.8446744073709552e+19, value_ = {int_ = 103644281308640, uint_ = 103644281308640, real_ = 5.1207078782505059e-310, bool_ = 224, string_ = 0x5e43909205e0 "\260K\276tF^", map_ = 0x5e43909205e0}, bits_ = {value_type_ = 7, allocated_ = 0}, comments_ = {ptr_ = std::unique_ptr<std::array<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, 3>> = {get() = 0x5e43909062d0}}, start_ = 23, limit_ = 7116}
#34 0x00005e43903b08aa in main (argc=3, argv=0x7fffd3626c68) at ../src/main.cpp:106
        client = 0x5e4390731cf0
        ret = 0
hrdl-github commented 5 months ago

I've switched to https://github.com/Alexays/Waybar/commit/2ead1bbf84ff0fdb7234b1d9332c3b3a3bb8b799 earlier today. I'll provide more information when/if I encounter any more issues.

zjeffer commented 5 months ago

Does it also happen if you suspend/resume without the dock connected?

hrdl-github commented 5 months ago

This occurred on https://github.com/Alexays/Waybar/commit/2ead1bbf84ff0fdb7234b1d9332c3b3a3bb8b799 just after resuming (suspend was triggered by removing the laptop from the dock while its lid was closed. The one from my previous comment shortly (~30 s) after I connected to the dock earlier today.

```gdb Program terminated with signal SIGSEGV, Segmentation fault. #0 Glib::DispatchNotifier::send_notification (this=0x908e8e8e706f6f6f, dispatcher=) at ../glibmm/glib/glibmm/dispatcher.cc:379 379 n_written = write(fd_sender_, &data, sizeof(data)); [Current thread is 1 (Thread 0x7643adc8a640 (LWP 2887247))] (gdb) bt full #0 Glib::DispatchNotifier::send_notification (this=0x908e8e8e706f6f6f, dispatcher=) at ../glibmm/glib/glibmm/dispatcher.cc:379 data = {dispatcher = 0x5fe0146f7b58, notifier = 0x908e8e8e706f6f6f} n_written = #1 0x00005fe0139ac9e0 in waybar::modules::UPower::deviceNotify_cb (device=0x5fe0147e1860 [UpDevice], pspec=0x5fe0147d2200 [GParamUInt64], data=0x5fe0146f7b50) at ../src/modules/upower.cpp:290 up = 0x5fe0146f7b50 #2 0x00007643b1ac3730 in g_closure_invoke (closure=0x5fe0147e2510, return_value=0x0, n_param_values=2, param_values=0x7fff13164210, invocation_hint=0x7fff13164160) at ../glib/gobject/gclosure.c:834 marshal = 0x7643b1ac92b0 marshal_data = 0x0 in_marshal = 0 real_closure = 0x5fe0147e24f0 __func__ = "g_closure_invoke" #3 0x00007643b1af2896 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7fff13164300, detail=detail@entry=2115, instance=instance@entry=0x5fe0147e1860, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff13164210) at ../glib/gobject/gsignal.c:3888 tmp = handler = 0x5fe0148b5c80 accumulator = emission = {next = 0x7fff131646b0, instance = 0x5fe0147e1860, ihint = {signal_id = 1, detail = 2115, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4} class_closure = hlist = handler_list = 0x5fe0148b5c80 return_accu = 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 = max_sequential_handler_number = return_value_altered = n_params = EMIT_RESTART = __func__ = { } #4 0x00007643b1ae37a2 in signal_emit_valist_unlocked (instance=instance@entry=0x5fe0147e1860, signal_id=signal_id@entry=1, detail=detail@entry=2115, var_args=var_args@entry=0x7fff13164460) at ../glib/gobject/gsignal.c:3520 instance_and_params = 0x7fff13164210 param_values = 0x7fff13164228 node = i = node_copy = {signal_id = 1, itype = 0x50, name = 0x7643b1af46b7 "notify", destroyed = 0, flags = 121, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x5fe0145faf40, return_type = 0x4, class_closure_bsa = 0x5fe0145faf60, accumulator = 0x0, c_marshaller = 0x7643b1ac92b0 , va_marshaller = 0x7643b1aca7c0 , emission_hooks = 0x0, single_va_closure = 0x5fe0145faf10} __func__ = "signal_emit_valist_unlocked" #5 0x00007643b1ae39d7 in g_signal_emit_valist (instance=0x5fe0147e1860, signal_id=1, detail=2115, var_args=var_args@entry=0x7fff13164460) at ../glib/gobject/gsignal.c:3263 #6 0x00007643b1ae3a94 in g_signal_emit (instance=, signal_id=, detail=) at ../glib/gobject/gsignal.c:3583 var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fff13164540, reg_save_area = 0x7fff13164480}} #7 0x00007643b1acf4b6 in g_object_dispatch_properties_changed (object=0x5fe0147e1860 [UpDevice], n_pspecs=, pspecs=) at ../glib/gobject/gobject.c:1816 i = #8 0x00007643b1ad5a5a in g_object_notify_by_spec_internal (pspec=, object=0x5fe0147e1860 [UpDevice]) at ../glib/gobject/gobject.c:1921 object_flags = needs_notify = 1 in_init = object_flags = needs_notify = in_init = _g_boolean_var_58 = #9 g_object_notify (property_name=0x5fe0146810ea "update-time", object=0x5fe0147e1860 [UpDevice]) at ../glib/gobject/gobject.c:1971 pspec = pspec = __func__ = { } --Type for more, q to quit, c to continue without paging-- _g_boolean_var_59 = _g_boolean_var_60 = #10 g_object_notify (object=0x5fe0147e1860 [UpDevice], property_name=0x5fe0146810ea "update-time") at ../glib/gobject/gobject.c:1948 pspec = __func__ = "g_object_notify" #11 0x00007643b1ac3730 in g_closure_invoke (closure=0x5fe0147e2740, return_value=0x0, n_param_values=2, param_values=0x7fff13164770, invocation_hint=0x7fff131646c0) at ../glib/gobject/gclosure.c:834 marshal = 0x7643b1ac92b0 marshal_data = 0x0 in_marshal = 0 real_closure = 0x5fe0147e2720 __func__ = "g_closure_invoke" #12 0x00007643b1af2896 in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7fff13164860, detail=detail@entry=2115, instance=instance@entry=0x5fe0147e0f40, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff13164770) at ../glib/gobject/gsignal.c:3888 tmp = handler = 0x5fe0148b4fb0 accumulator = emission = {next = 0x7fff13164c70, instance = 0x5fe0147e0f40, ihint = {signal_id = 1, detail = 2115, run_type = (G_SIGNAL_RUN_FIRST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x4} class_closure = hlist = handler_list = 0x5fe0148b4fb0 return_accu = 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 = max_sequential_handler_number = return_value_altered = n_params = EMIT_RESTART = __func__ = { } #13 0x00007643b1ae37a2 in signal_emit_valist_unlocked (instance=instance@entry=0x5fe0147e0f40, signal_id=signal_id@entry=1, detail=detail@entry=2115, var_args=var_args@entry=0x7fff131649c0) at ../glib/gobject/gsignal.c:3520 instance_and_params = 0x7fff13164770 param_values = 0x7fff13164788 node = i = node_copy = {signal_id = 1, itype = 0x50, name = 0x7643b1af46b7 "notify", destroyed = 0, flags = 121, n_params = 1, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x5fe0145faf40, return_type = 0x4, class_closure_bsa = 0x5fe0145faf60, accumulator = 0x0, c_marshaller = 0x7643b1ac92b0 , va_marshaller = 0x7643b1aca7c0 , emission_hooks = 0x0, single_va_closure = 0x5fe0145faf10} __func__ = "signal_emit_valist_unlocked" #14 0x00007643b1ae39d7 in g_signal_emit_valist (instance=0x5fe0147e0f40, signal_id=1, detail=2115, var_args=var_args@entry=0x7fff131649c0) at ../glib/gobject/gsignal.c:3263 #15 0x00007643b1ae3a94 in g_signal_emit (instance=, signal_id=, detail=) at ../glib/gobject/gsignal.c:3583 var_args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7fff13164aa0, reg_save_area = 0x7fff131649e0}} #16 0x00007643b1acf4b6 in g_object_dispatch_properties_changed (object=0x5fe0147e0f40 [UpExportedDeviceProxy], n_pspecs=, pspecs=) at ../glib/gobject/gobject.c:1816 i = #17 0x00007643b1ad5a5a in g_object_notify_by_spec_internal (pspec=, object=0x5fe0147e0f40 [UpExportedDeviceProxy]) at ../glib/gobject/gobject.c:1921 object_flags = needs_notify = 1 in_init = object_flags = needs_notify = in_init = _g_boolean_var_58 = #18 g_object_notify (property_name=0x7643b0e82067 "update-time", object=0x5fe0147e0f40 [UpExportedDeviceProxy]) at ../glib/gobject/gobject.c:1971 pspec = pspec = __func__ = { } --Type for more, q to quit, c to continue without paging-- _g_boolean_var_59 = _g_boolean_var_60 = #19 g_object_notify (object=object@entry=0x5fe0147e0f40 [UpExportedDeviceProxy], property_name=0x7643b0e82067 "update-time") at ../glib/gobject/gobject.c:1948 pspec = __func__ = "g_object_notify" #20 0x00007643b0e77bad in up_exported_device_proxy_g_properties_changed (_proxy=0x5fe0147e0f40 [UpExportedDeviceProxy], changed_properties=, invalidated_properties=0x76439000e5b0) at dbus/up-device-generated.c:3125 proxy = 0x5fe0147e0f40 [UpExportedDeviceProxy] n = key = 0x5fe0146f3980 "UpdateTime" iter = 0x76439002a140 info = 0x7643b0e8ab20 <_up_exported_device_property_info_update_time> #21 0x00007643b1ac3730 in g_closure_invoke (closure=0x5fe01460dd40, return_value=0x0, n_param_values=3, param_values=0x7fff13164d30, invocation_hint=0x7fff13164c80) at ../glib/gobject/gclosure.c:834 marshal = 0x7643b1ac8810 marshal_data = 0x88 in_marshal = 0 real_closure = 0x5fe01460dd20 __func__ = "g_closure_invoke" #22 0x00007643b1af2f4a in signal_emit_unlocked_R.isra.0 (node=node@entry=0x7fff13164e30, detail=detail@entry=0, instance=instance@entry=0x5fe0147e0f40, emission_return=emission_return@entry=0x0, instance_and_params=instance_and_params@entry=0x7fff13164d30) at ../glib/gobject/gsignal.c:3928 accumulator = emission = {next = 0x0, instance = 0x5fe0147e0f40, ihint = {signal_id = 40, detail = 0, run_type = (G_SIGNAL_RUN_LAST | G_SIGNAL_ACCUMULATOR_FIRST_RUN)}, state = EMISSION_RUN, chain_type = 0x5fe0147f0c50 [UpExportedDeviceProxy/GDBusProxy]} class_closure = hlist = handler_list = 0x0 return_accu = 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 = max_sequential_handler_number = return_value_altered = n_params = EMIT_RESTART = __func__ = { } #23 0x00007643b1ae37a2 in signal_emit_valist_unlocked (instance=instance@entry=0x5fe0147e0f40, signal_id=signal_id@entry=40, detail=detail@entry=0, var_args=var_args@entry=0x7fff13164f90) at ../glib/gobject/gsignal.c:3520 instance_and_params = 0x7fff13164d30 param_values = 0x7fff13164d48 node = i = node_copy = {signal_id = 40, itype = 0x5fe0145a2cf0 [GDBusProxy], name = 0x7643b12bdf6f "g-properties-changed", destroyed = 0, flags = 130, n_params = 2, single_va_closure_is_valid = 1, single_va_closure_is_after = 0, param_types = 0x5fe01460dba0, return_type = 0x4, class_closure_bsa = 0x5fe01460dde0, accumulator = 0x0, c_marshaller = 0x7643b11ced10 <_g_cclosure_marshal_VOID__VARIANT_BOXED>, va_marshaller = 0x7643b11d0500 <_g_cclosure_marshal_VOID__VARIANT_BOXEDv>, emission_hooks = 0x0, single_va_closure = 0x0} __func__ = "signal_emit_valist_unlocked" #24 0x00007643b1ae39d7 in g_signal_emit_valist (instance=0x5fe0147e0f40, signal_id=40, detail=0, var_args=var_args@entry=0x7fff13164f90) at ../glib/gobject/gsignal.c:3263 #25 0x00007643b1ae3a94 in g_signal_emit (instance=instance@entry=0x5fe0147e0f40, signal_id=, detail=detail@entry=0) at ../glib/gobject/gsignal.c:3583 var_args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fff13165070, reg_save_area = 0x7fff13164fb0}} #26 0x00007643b127030e in on_properties_changed (connection=, sender_name=, object_path=, interface_name=, signal_name=, parameters=, user_data=0x5fe0148b4b50) at ../glib/gio/gdbusproxy.c:1086 proxy_weak = 0x5fe0148b4b50 emit_g_signal = proxy = 0x5fe0147e0f40 [UpExportedDeviceProxy] interface_name_for_signal = 0x5fe0146f3960 "org.freedesktop.UPower.Device" changed_properties = 0x7643900315d0 invalidated_properties = 0x76439000e5b0 --Type for more, q to quit, c to continue without paging-- iter = {x = {130032551007696, 4, 4, 0, 130033106868528, 105416020213920, 105416019209760, 3579507750, 130033106952032, 18446744073709551344, 2, 18446744073709551344, 2, 130032550962688, 140733513617744, 130033086345342}} key = 0x76439000e790 "\376\005Jp\347_" value = 0x76439000ed80 n = #27 0x00007643b1259f08 in emit_signal_instance_in_idle_cb (data=0x7643900273f0) at ../glib/gio/gdbusconnection.c:3798 signal_instance = 0x7643900273f0 parameters = 0x76439003a4a0 has_subscription = 1 #28 0x00007643b1413199 in g_main_dispatch (context=0x5fe01460ee20) at ../glib/glib/gmain.c:3344 dispatch = 0x7643b1410630 prev_source = 0x0 begin_time_nsec = 331247301843355 was_in_call = 0 user_data = 0x7643900273f0 callback = 0x7643b1259e80 cb_funcs = 0x7643b1504380 cb_data = 0x76439003a560 need_destroy = source = 0x76439003a4f0 current = 0x5fe01460f060 i = 16 __func__ = "g_main_dispatch" #29 0x00007643b14723bf in g_main_context_dispatch_unlocked (context=0x5fe01460ee20) at ../glib/glib/gmain.c:4152 #30 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x5fe01460ee20, block=block@entry=1, dispatch=dispatch@entry=1, self=) at ../glib/glib/gmain.c:4217 max_priority = 0 timeout = 0 some_ready = 1 nfds = 4 allocated_nfds = 4 fds = 0x5fe0148cbe10 begin_time_nsec = 331247275661506 #31 0x00007643b1412712 in g_main_context_iteration (context=context@entry=0x5fe01460ee20, may_block=may_block@entry=1) at ../glib/glib/gmain.c:4282 retval = #32 0x00007643b1238ed6 in g_application_run (application=0x5fe0145fd0a0 [gtkmm__GtkApplication], argc=, argv=0x7fff13165e38) at ../glib/gio/gapplication.c:2712 arguments = 0x5fe01471cf30 status = 0 context = 0x5fe01460ee20 acquired_context = __func__ = "g_application_run" #33 0x00005fe013894f54 in waybar::Client::main (this=0x5fe01458ccf0, argc=3, argv=0x7fff13165e38) at ../src/client.cpp:287 show_help = false show_version = false config_opt = "" style_opt = "" log_level = "trace" cli = warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace, std::allocator, (__gnu_cxx::_Lock_policy)2>' warning: RTTI symbol not found for class 'std::_Sp_counted_ptr_inplace, std::allocator, (__gnu_cxx::_Lock_policy)2>' { = {_vptr.ParserBase = 0x5fe013b846e8 }, m_exeName = {> = { = {_vptr.ParserBase = 0x5fe013b84800 }, }, m_name = std::shared_ptr, std::allocator >> (use count 1, weak count 0) = {get() = 0x5fe014598590}, m_ref = std::shared_ptr (empty) = {get() = 0x0}}, m_options = std::vector of length 6, capacity 6 = {{> = {> = { = {_vptr.ParserBase = 0x5fe013b84758 }, }, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr (use count 1, weak count 0) = {get() = 0x5fe014599b00}, m_hint = "", m_description = "display usage information"}, m_optNames = std::vector of length 3, capacity 3 = {"-?", "-h", "--help"}}, {> = {> = { = {_vptr.ParserBase = 0x5fe013b84758 }, }, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr (use count 1, weak count 0) = {get() = 0x5fe014599a80}, m_hint = "", m_description = "Show version"}, m_optNames = std::vector of length 2, capacity 2 = {"-v", "--version"}}, {> = {> = { = {_vptr.ParserBase = 0x5fe013b84758 }, }, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr (use count 1, weak count 0) = {get() = 0x5fe014599a00}, m_hint = "config", m_description = "Config path"}, m_optNames = std::vector of length 2, capacity 2 = {"-c", "--config"}}, {> = {> = { = {_vptr.ParserBase = 0x5fe013b84758 }, }, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr (use count 1, weak --Type for more, q to quit, c to continue without paging-- count 0) = {get() = 0x5fe014599980}, m_hint = "style", m_description = "Style path"}, m_optNames = std::vector of length 2, capacity 2 = {"-s", "--style"}}, {> = {> = { = {_vptr.ParserBase = 0x5fe013b84758 }, }, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr (use count 1, weak count 0) = {get() = 0x5fe014599950}, m_hint = "trace|debug|info|warning|error|critical|off", m_description = "Log level"}, m_optNames = std::vector of length 2, capacity 2 = {"-l", "--log-level"}}, {> = {> = { = {_vptr.ParserBase = 0x5fe013b84758 }, }, m_optionality = clara::detail::Optionality::Optional, m_ref = std::shared_ptr (use count 1, weak count 0) = {get() = 0x5fe014598690}, m_hint = "id", m_description = "Bar id"}, m_optNames = std::vector of length 2, capacity 2 = {"-b", "--bar"}}}, m_args = std::vector of length 0, capacity 0} res = {> = { = {_vptr.ResultBase = 0x5fe013b84838 +16>, m_type = clara::detail::ResultBase::Ok}, {m_value = {m_type = clara::detail::ParseResultType::Matched, m_remainingTokens = {it = , itEnd = , m_tokenBuffer = std::vector of length 0, capacity 0}}}}, m_errorMessage = ""} theme = {pCppObject_ = 0x5fe014692e20} m_config = {static minLargestInt = -9223372036854775808, static maxLargestInt = 9223372036854775807, static maxLargestUInt = 18446744073709551615, static minInt = -2147483648, static maxInt = 2147483647, static maxUInt = 4294967295, static minInt64 = -9223372036854775808, static maxInt64 = 9223372036854775807, static maxUInt64 = 18446744073709551615, static defaultRealPrecision = 17, static maxUInt64AsDouble = 1.8446744073709552e+19, value_ = {int_ = 105416020707008, uint_ = 105416020707008, real_ = 5.2082434352622127e-310, bool_ = 192, string_ = 0x5fe01477c6c0 ",vn\352\345_", map_ = 0x5fe01477c6c0}, bits_ = {value_type_ = 7, allocated_ = 0}, comments_ = {ptr_ = std::unique_ptr, std::allocator >, 3>> = {get() = 0x5fe01477be20}}, start_ = 23, limit_ = 7116} #34 0x00005fe01387f89a in main (argc=3, argv=0x7fff13165e38) at ../src/main.cpp:106 client = 0x5fe01458ccf0 ret = 0 ```
hrdl-github commented 5 months ago

And here's the output:

[2024-05-07 20:19:43.643] [trace] workspace layout splith, tiled count 1, floating count 0
[2024-05-07 20:19:43.643] [trace] Adding app_id class: LibreWolf
[2024-05-07 21:14:52.370] [debug] Cmd exited with code 0
[2024-05-07 21:14:52.370] [debug] Received SIGCHLD in signalThread
[2024-05-07 21:14:52.413] [debug] UPower. getUpDeviceInfo. kind: "2". state: "2". percentage: "100". icon_name: "battery-full-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: ""
[2024-05-07 21:14:52.413] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: ""
[2024-05-07 21:14:52.430] [trace] Set tray item property: :1.5099.AttentionIconName = ''
[2024-05-07 21:14:52.430] [trace] Set tray item property: :1.5099.AttentionIconPixmap = []
[2024-05-07 21:14:52.430] [trace] Set tray item property: :1.5099.AttentionMovieName = ''
[2024-05-07 21:14:52.430] [trace] Set tray item property: :1.5099.Category = 'ApplicationStatus'
[2024-05-07 21:14:52.430] [trace] Set tray item property: :1.5099.IconPixmap = a(iiay)
[2024-05-07 21:14:52.430] [trace] Set tray item property: :1.5099.Id = 'chrome_status_icon_1'
[2024-05-07 21:14:52.430] [trace] Set tray item property: chrome_status_icon_1.ItemIsMenu = false
[2024-05-07 21:14:52.430] [trace] Set tray item property: chrome_status_icon_1.Menu = '/com/canonical/dbusmenu'
[2024-05-07 21:14:52.431] [trace] Set tray item property: chrome_status_icon_1.OverlayIconName = ''
[2024-05-07 21:14:52.431] [trace] Set tray item property: chrome_status_icon_1.OverlayIconPixmap = []
[2024-05-07 21:14:52.431] [trace] Set tray item property: chrome_status_icon_1.Status = 'Active'
[2024-05-07 21:14:52.431] [trace] Set tray item property: chrome_status_icon_1.Title = ''
[2024-05-07 21:14:52.431] [trace] Set tray item property: chrome_status_icon_1.ToolTip = ('', [], 'Signal Desktop', '')
[2024-05-07 21:14:52.431] [trace] Set tray item property: chrome_status_icon_1.WindowId = 0

** (waybar:2887247): WARNING **: 21:14:52.431: Status Notifier Item with bus name ':1.4' and object path '/org/ayatana/NotificationItem/nm_applet' is already registered

** (waybar:2887247): WARNING **: 21:14:52.431: Status Notifier Item with bus name ':1.4' and object path '/org/ayatana/NotificationItem/nm_applet' is already registered
[2024-05-07 21:14:52.432] [trace] Set tray item property: :1.29.AttentionIconName = ''
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.29.AttentionIconPixmap = []
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.29.AttentionMovieName = ''
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.29.Category = 'ApplicationStatus'
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.29.IconName = 'keepassxc-monochrome-light-locked'
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.29.IconPixmap = a(iiay)
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.29.Id = 'KeePassXC'
[2024-05-07 21:14:52.433] [trace] Set tray item property: KeePassXC.ItemIsMenu = false
[2024-05-07 21:14:52.433] [trace] Set tray item property: KeePassXC.Menu = '/MenuBar'
[2024-05-07 21:14:52.433] [trace] Set tray item property: KeePassXC.OverlayIconName = ''
[2024-05-07 21:14:52.433] [trace] Set tray item property: KeePassXC.OverlayIconPixmap = []
[2024-05-07 21:14:52.433] [trace] Set tray item property: KeePassXC.Status = 'Active'
[2024-05-07 21:14:52.433] [trace] Set tray item property: KeePassXC.Title = 'KeePassXC'
[2024-05-07 21:14:52.433] [trace] Set tray item property: KeePassXC.ToolTip = (sa(iiay)ss)
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.4.AttentionAccessibleDesc = ''
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.4.AttentionIconName = ''
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.4.Category = 'SystemServices'
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.4.IconAccessibleDesc = 'Networking disabled\nVPN connection active'
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.4.IconName = 'nm-no-connection-secure'
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.4.IconThemePath = ''
[2024-05-07 21:14:52.433] [trace] Set tray item property: :1.4.Id = 'nm-applet'
[2024-05-07 21:14:52.433] [trace] Set tray item property: nm-applet.Menu = '/org/ayatana/NotificationItem/nm_applet/Menu'
[2024-05-07 21:14:52.434] [trace] Set tray item property: nm-applet.Status = 'Active'
[2024-05-07 21:14:52.434] [trace] Set tray item property: nm-applet.Title = 'Network'
[2024-05-07 21:14:52.434] [trace] Set tray item property: nm-applet.XAyatanaLabel = ''
[2024-05-07 21:14:52.434] [trace] Set tray item property: nm-applet.XAyatanaLabelGuide = ''
[2024-05-07 21:14:52.434] [trace] Set tray item property: nm-applet.XAyatanaOrderingIndex = 0
[2024-05-07 21:14:52.440] [info] Bar configured (width: 1920, height: 24) for output: eDP-1
[2024-05-07 21:14:52.508] [debug] UPower. getUpDeviceInfo. kind: "2". state: "2". percentage: "99". icon_name: "battery-full-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: ""
zsh: segmentation fault (core dumped)  waybar -l trace
zjeffer commented 5 months ago

Can you share your Waybar config? I'll try to reproduce it locally.

hrdl-github commented 5 months ago

Can you share your Waybar config? I'll try to reproduce it locally.

https://paste.debian.net/hidden/5b42a2cb/

zjeffer commented 5 months ago

I can't reproduce it by suspending/resuming with your groups/group-upower config. Can you try reproducing it with a very minimal config?

hrdl-github commented 5 months ago

This time I was running two bars. The main one with everything but the upower module survived, while a more minimal one crashed.

waybar config ``` [1] user@t490> cat .config/waybar/config ~ // -*- mode: jsonc -*- { "height": 24, "spacing": 2, "modules-right": [ "group/group-upower", ], "group/group-upower": { "orientation": "inherit", "drawer": {}, "modules": [ "battery", "upower", ], }, "battery": { "states": { // "good": 95, "warning": 30, "critical": 15 }, "format": "{capacity}% {icon}", "format-full": "{capacity}% {icon}", "format-charging": "{capacity}% ", "format-plugged": "{capacity}% ", "format-alt": "{time} {icon}", // "format-good": "", // An empty format will hide the module // "format-full": "", "format-icons": ["", "", "", "", ""] }, } ```

This time I used another dock.

journal ``` May 08 13:53:07 t490 kernel: usb 1-5: New USB device found, idVendor=0bda, idProduct=5412, bcdDevice= 0.02 May 08 13:53:07 t490 kernel: usb 1-5: New USB device strings: Mfr=1, Product=2, SerialNumber=0 May 08 13:53:07 t490 kernel: usb 1-5: Product: 3-Port USB 2.1 Hub May 08 13:53:07 t490 kernel: usb 1-5: Manufacturer: Generic May 08 13:53:07 t490 kernel: hub 1-5:1.0: USB hub found May 08 13:53:07 t490 kernel: hub 1-5:1.0: 3 ports detected May 08 13:53:08 t490 kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.RP09.PEGP.NVDN], AE_NOT_FOUND (20230628/psargs-330) May 08 13:53:08 t490 kernel: ACPI Error: Aborting method \_SB.PCI0.LPCB.EC._Q26 due to previous error (AE_NOT_FOUND) (20230628/psparse-529) May 08 13:53:08 t490 kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.RP09.PEGP.NVDN], AE_NOT_FOUND (20230628/psargs-330) May 08 13:53:08 t490 kernel: ACPI Error: Aborting method \_SB.PCI0.LPCB.EC._Q27 due to previous error (AE_NOT_FOUND) (20230628/psparse-529) May 08 13:53:08 t490 kernel: ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.RP09.PEGP.NVDN], AE_NOT_FOUND (20230628/psargs-330) May 08 13:53:08 t490 kernel: ACPI Error: Aborting method \_SB.PCI0.LPCB.EC._Q26 due to previous error (AE_NOT_FOUND) (20230628/psparse-529) May 08 13:53:08 t490 kernel: usb 1-5.2: new high-speed USB device number 103 using xhci_hcd May 08 13:53:08 t490 kernel: usb 1-5.2: New USB device found, idVendor=0bda, idProduct=5411, bcdDevice= 1.26 May 08 13:53:08 t490 kernel: usb 1-5.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 May 08 13:53:08 t490 kernel: usb 1-5.2: Product: 4-Port USB 2.1 Hub May 08 13:53:08 t490 kernel: usb 1-5.2: Manufacturer: Generic May 08 13:53:08 t490 kernel: hub 1-5.2:1.0: USB hub found May 08 13:53:08 t490 kernel: hub 1-5.2:1.0: 4 ports detected May 08 13:53:08 t490 sway[1167]: applying profile '[home]' May 08 13:53:08 t490 sway[1167]: applying profile output 'Lenovo Group Limited P27h-20 V907TWG7' on connected head 'DP-1' May 08 13:53:08 t490 sway[1167]: applying profile output 'eDP-1' on connected head 'eDP-1' May 08 13:53:08 t490 kernel: usb 1-5.2.2: new full-speed USB device number 104 using xhci_hcd May 08 13:53:08 t490 sway[1167]: configuration for profile '[home]' applied May 08 13:53:08 t490 sway[3012385]: 2024-05-08 13:53:08 - [swaybg-1.2.1/main.c:282] Found config * for output DP-1 (Lenovo Group Limited P27h-20 V907TWG7) May 08 13:53:08 t490 sway[2026245]: [Parent 2026245, Main Thread] WARNING: Couldn't map window 0x73b41dd385c0 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/librewolf-125.0.3-1/toolkit/xre/nsSigHandlers.cpp:187 May 08 13:53:08 t490 librewolf[2026245]: Couldn't map window 0x73b41dd385c0 as subsurface because its parent is not mapped. May 08 13:53:08 t490 sway[2026245]: [Parent 2026245, Main Thread] WARNING: Couldn't map window 0x73b41dd385c0 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/librewolf-125.0.3-1/toolkit/xre/nsSigHandlers.cpp:187 May 08 13:53:08 t490 librewolf[2026245]: Couldn't map window 0x73b41dd385c0 as subsurface because its parent is not mapped. May 08 13:53:08 t490 kernel: usb 1-5.2.2: New USB device found, idVendor=24f0, idProduct=0105, bcdDevice= 1.15 May 08 13:53:08 t490 kernel: usb 1-5.2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 May 08 13:53:08 t490 kernel: usb 1-5.2.2: Product: Das Keyboard P13 May 08 13:53:08 t490 kernel: usb 1-5.2.2: Manufacturer: Das Keyboard May 08 13:53:08 t490 kernel: input: Das Keyboard Das Keyboard P13 as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.2/1-5.2.2:1.0/0003:24F0:0105.0074/input/input210 May 08 13:53:08 t490 kernel: hid-generic 0003:24F0:0105.0074: input,hidraw0: USB HID v1.10 Keyboard [Das Keyboard Das Keyboard P13] on usb-0000:00:14.0-5.2.2/input0 May 08 13:53:08 t490 kernel: input: Das Keyboard Das Keyboard P13 Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.2/1-5.2.2:1.1/0003:24F0:0105.0075/input/input211 May 08 13:53:08 t490 kernel: input: Das Keyboard Das Keyboard P13 System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.2/1-5.2.2:1.1/0003:24F0:0105.0075/input/input212 May 08 13:53:08 t490 kernel: input: Das Keyboard Das Keyboard P13 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.2/1-5.2.2:1.1/0003:24F0:0105.0075/input/input213 May 08 13:53:08 t490 kernel: input: Das Keyboard Das Keyboard P13 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.2/1-5.2.2:1.1/0003:24F0:0105.0075/input/input215 May 08 13:53:08 t490 kernel: hid-generic 0003:24F0:0105.0075: input,hiddev96,hidraw1: USB HID v1.10 Mouse [Das Keyboard Das Keyboard P13] on usb-0000:00:14.0-5.2.2/input1 May 08 13:53:08 t490 kernel: hid-generic 0003:24F0:0105.0076: hiddev97,hidraw2: USB HID v1.10 Device [Das Keyboard Das Keyboard P13] on usb-0000:00:14.0-5.2.2/input2 May 08 13:53:08 t490 kernel: usb 1-5.2.4: new full-speed USB device number 105 using xhci_hcd May 08 13:53:09 t490 kernel: usb 1-5.2.4: New USB device found, idVendor=046d, idProduct=c548, bcdDevice= 5.01 May 08 13:53:09 t490 kernel: usb 1-5.2.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 May 08 13:53:09 t490 kernel: usb 1-5.2.4: Product: USB Receiver May 08 13:53:09 t490 kernel: usb 1-5.2.4: Manufacturer: Logitech May 08 13:53:09 t490 kernel: input: Logitech USB Receiver as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/input/input216 May 08 13:53:09 t490 kernel: hid-generic 0003:046D:C548.0077: input,hidraw3: USB HID v1.11 Keyboard [Logitech USB Receiver] on usb-0000:00:14.0-5.2.4/input0 May 08 13:53:09 t490 kernel: input: Logitech USB Receiver Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input217 May 08 13:53:09 t490 kernel: input: Logitech USB Receiver Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input218 May 08 13:53:09 t490 kernel: input: Logitech USB Receiver System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input219 May 08 13:53:09 t490 kernel: hid-generic 0003:046D:C548.0078: input,hidraw4: USB HID v1.11 Mouse [Logitech USB Receiver] on usb-0000:00:14.0-5.2.4/input1 May 08 13:53:09 t490 kernel: hid-generic 0003:046D:C548.0079: hiddev98,hidraw5: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-5.2.4/input2 May 08 13:53:09 t490 mtp-probe[3502767]: checking bus 1, device 104: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.2" May 08 13:53:09 t490 mtp-probe[3502768]: checking bus 1, device 105: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4" May 08 13:53:09 t490 mtp-probe[3502768]: bus: 1, device: 105 was not an MTP device May 08 13:53:09 t490 mtp-probe[3502767]: bus: 1, device: 104 was not an MTP device May 08 13:53:09 t490 (udev-worker)[3502816]: wakeup55: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/wakeup/wakeup55/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502815]: 1-5.2.4:1.0: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502817]: 1-5.2.4:1.1: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502818]: 1-5.2.4:1.2: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.2/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502636]: 0003:046D:C548.0077: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502850]: 0003:046D:C548.0078: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502818]: 0003:046D:C548.0079: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.2/0003:046D:C548.0079/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502817]: input216: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/input/input216/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502815]: hiddev2: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.2/usbmisc/hiddev2/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502849]: hidraw3: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/hidraw/hidraw3/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502850]: input218: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input218/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502817]: input216::capslock: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/input/input216/input216::capslock/power/wakeup}, ignoring: No such file> May 08 13:53:09 t490 (udev-worker)[3502861]: input219: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input219/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502815]: input216::numlock: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/input/input216/input216::numlock/power/wakeup}, ignoring: No such file o> May 08 13:53:09 t490 (udev-worker)[3502851]: input216::compose: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/input/input216/input216::compose/power/wakeup}, ignoring: No such file o> May 08 13:53:09 t490 (udev-worker)[3502849]: input216::scrolllock: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/input/input216/input216::scrolllock/power/wakeup}, ignoring: No such > May 08 13:53:09 t490 (udev-worker)[3502814]: input217: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input217/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502864]: input216::kana: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/input/input216/input216::kana/power/wakeup}, ignoring: No such file or dire> May 08 13:53:09 t490 (udev-worker)[3502863]: hidraw5: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.2/0003:046D:C548.0079/hidraw/hidraw5/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502817]: mouse3: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input217/mouse3/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502862]: hidraw4: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/hidraw/hidraw4/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 systemd-logind[674]: Watching system buttons on /dev/input/event13 (Das Keyboard Das Keyboard P13) May 08 13:53:09 t490 systemd-logind[674]: Watching system buttons on /dev/input/event15 (Das Keyboard Das Keyboard P13 System Control) May 08 13:53:09 t490 systemd-logind[674]: Watching system buttons on /dev/input/event16 (Das Keyboard Das Keyboard P13 Consumer Control) May 08 13:53:09 t490 (udev-worker)[3502636]: event21: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input219/event21/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502814]: event19: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input217/event19/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 (udev-worker)[3502861]: event20: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.1/0003:046D:C548.0078/input/input218/event20/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 systemd-logind[674]: Watching system buttons on /dev/input/event21 (Logitech USB Receiver System Control) May 08 13:53:09 t490 systemd-logind[674]: Watching system buttons on /dev/input/event17 (Das Keyboard Das Keyboard P13 Keyboard) May 08 13:53:09 t490 systemd-logind[674]: Watching system buttons on /dev/input/event20 (Logitech USB Receiver Consumer Control) May 08 13:53:09 t490 (udev-worker)[3502865]: event18: /etc/udev/rules.d/99-logi.rules:1 Failed to write ATTR{/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4/1-5.2.4:1.0/0003:046D:C548.0077/input/input216/event18/power/wakeup}, ignoring: No such file or directory May 08 13:53:09 t490 systemd-logind[674]: Watching system buttons on /dev/input/event18 (Logitech USB Receiver) May 08 13:53:09 t490 mtp-probe[3502896]: checking bus 1, device 104: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.2" May 08 13:53:09 t490 mtp-probe[3502896]: bus: 1, device: 104 was not an MTP device May 08 13:53:09 t490 mtp-probe[3502904]: checking bus 1, device 105: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-5/1-5.2/1-5.2.4" May 08 13:53:09 t490 mtp-probe[3502904]: bus: 1, device: 105 was not an MTP device May 08 13:53:09 t490 kernel: usb 4-1: new SuperSpeed USB device number 49 using xhci_hcd May 08 13:53:09 t490 kernel: usb 4-1: New USB device found, idVendor=0bda, idProduct=0412, bcdDevice= 0.02 May 08 13:53:09 t490 kernel: usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 May 08 13:53:09 t490 kernel: usb 4-1: Product: 2-Port USB 3.1 Hub May 08 13:53:09 t490 kernel: usb 4-1: Manufacturer: Generic May 08 13:53:09 t490 kernel: hub 4-1:1.0: USB hub found May 08 13:53:09 t490 kernel: hub 4-1:1.0: 2 ports detected May 08 13:53:10 t490 kernel: usb 4-1.1: new SuperSpeed USB device number 50 using xhci_hcd May 08 13:53:10 t490 kernel: usb 4-1.1: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=31.23 May 08 13:53:10 t490 kernel: usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=6 May 08 13:53:10 t490 kernel: usb 4-1.1: Product: USB 10/100/1000 LAN May 08 13:53:10 t490 kernel: usb 4-1.1: Manufacturer: Realtek May 08 13:53:10 t490 kernel: usb 4-1.1: SerialNumber: 321000001 May 08 13:53:10 t490 kernel: r8152-cfgselector 4-1.1: reset SuperSpeed USB device number 50 using xhci_hcd May 08 13:53:10 t490 kernel: r8152 4-1.1:1.0: load rtl8153b-2 v2 04/27/23 successfully May 08 13:53:10 t490 NetworkManager[712]: [1715169190.1850] manager: (eth0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/76) May 08 13:53:10 t490 kernel: r8152 4-1.1:1.0 eth0: v1.12.13 May 08 13:53:10 t490 kernel: usb 4-1.2: new SuperSpeed USB device number 51 using xhci_hcd May 08 13:53:10 t490 kernel: usb 4-1.2: New USB device found, idVendor=0bda, idProduct=0411, bcdDevice= 1.26 May 08 13:53:10 t490 kernel: usb 4-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 May 08 13:53:10 t490 kernel: usb 4-1.2: Product: 4-Port USB 3.1 Hub May 08 13:53:10 t490 kernel: usb 4-1.2: Manufacturer: Generic May 08 13:53:10 t490 kernel: hub 4-1.2:1.0: USB hub found May 08 13:53:10 t490 kernel: hub 4-1.2:1.0: 4 ports detected May 08 13:53:10 t490 mtp-probe[3502956]: checking bus 4, device 50: "/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:02.0/0000:3a:00.0/usb4/4-1/4-1.1" May 08 13:53:10 t490 mtp-probe[3502956]: bus: 4, device: 50 was not an MTP device May 08 13:53:10 t490 kernel: r8152 4-1.1:1.0 enp58s0u1u1: renamed from eth0 May 08 13:53:10 t490 NetworkManager[712]: [1715169190.4598] device (eth0): interface index 41 renamed iface from 'eth0' to 'enp58s0u1u1' May 08 13:53:10 t490 NetworkManager[712]: [1715169190.4651] device (enp58s0u1u1): state change: unmanaged -> unavailable (reason 'managed', sys-iface-state: 'external') May 08 13:53:10 t490 NetworkManager[712]: [1715169190.4704] settings: (enp58s0u1u1): created default wired connection 'Wired connection 2' May 08 13:53:10 t490 mtp-probe[3503028]: checking bus 4, device 50: "/sys/devices/pci0000:00/0000:00:1c.4/0000:02:00.0/0000:03:02.0/0000:3a:00.0/usb4/4-1/4-1.1" May 08 13:53:10 t490 mtp-probe[3503028]: bus: 4, device: 50 was not an MTP device May 08 13:53:14 t490 systemd-logind[674]: Lid closed. May 08 13:53:15 t490 sway[3012385]: 2024-05-08 13:53:15 - [swaybg-1.2.1/main.c:226] Destroying output eDP-1 (BOE 0x07C9) May 08 13:53:15 t490 sway[2026245]: [Parent 2026245, Main Thread] WARNING: Couldn't map window 0x73b41dd385c0 as subsurface because its parent is not mapped.: 'glib warning', file /root/.local/share/bsys6/work/librewolf-125.0.3-1/toolkit/xre/nsSigHandlers.cpp:187 May 08 13:53:15 t490 librewolf[2026245]: Couldn't map window 0x73b41dd385c0 as subsurface because its parent is not mapped. May 08 13:53:15 t490 sway[1078]: 98:41:08.428 [ERROR] [sway/ipc-server.c:206] IPC Client socket error, removing client May 08 13:53:15 t490 sway[1078]: 98:41:08.433 [ERROR] [sway/ipc-server.c:206] IPC Client socket error, removing client May 08 13:53:19 t490 kernel: waybar[3311149]: segfault at 4c ip 000074d93f72df69 sp 00007ffd46a3d3b0 error 4 in libglibmm-2.4.so.1.3.0[74d93f717000+2f000] likely on CPU 0 (core 0, socket 0) May 08 13:53:19 t490 kernel: Code: 00 f3 0f 1e fa 55 53 48 89 fb 48 83 ec 28 64 48 8b 04 25 28 00 00 00 48 89 44 24 18 31 c0 48 89 34 24 48 89 e5 48 89 7c 24 08 <8b> 7b 4c ba 10 00 00 00 48 89 ee ff 15 de 5c 03 00 48 85 c0 78 51 May 08 13:53:19 t490 systemd[1]: Started Process Core Dump (PID 3503201/UID 0). May 08 13:53:19 t490 systemd-coredump[3503202]: [🡕] Process 3311149 (waybar) of user 1000 dumped core. ```

I first connected my running laptop to the dock. I then closed the lid, which for some reason triggered swaylock. Note the two IPC Client socket error, removing client lines, which are reminiscent of https://github.com/Alexays/Waybar/issues/3144, but in this case possibly not what causes the crash.

Output of waybar:

waybar output ``` [2024-05-08 13:53:08.691] [debug] Output detection done: DP-1 (Lenovo Group Limited P27h-20 V907TWG7) [2024-05-08 13:53:08.752] [debug] UPower. getUpDeviceInfo. kind: "2". state: "5". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:08.753] [debug] GTK widget tree: window#waybar.background.top..mode-default.DP-1:dir(ltr) decoration:dir(ltr) box.horizontal:dir(ltr) box.horizontal.modules-left:dir(ltr) box.horizontal.modules-center:dir(ltr) box.horizontal.modules-right:dir(ltr) widget:dir(ltr) box#group-upower.horizontal:dir(ltr) widget:dir(ltr) label#battery.module:dir(ltr) revealer.drawer:dir(ltr) box.horizontal:dir(ltr) widget.drawer-child:dir(ltr) box#upower.horizontal.module:dir(ltr) image:dir(ltr) label:dir(ltr) [2024-05-08 13:53:08.758] [debug] UPower. getUpDeviceInfo. kind: "2". state: "5". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:08.758] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:08.760] [info] Bar configured (width: 2560, height: 24) for output: DP-1 [2024-05-08 13:53:08.872] [debug] UPower. getUpDeviceInfo. kind: "2". state: "5". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:08.872] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:08.872] [debug] UPower. getUpDeviceInfo. kind: "2". state: "5". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:08.872] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:08.872] [debug] UPower. getUpDeviceInfo. kind: "2". state: "5". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:08.872] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:08.873] [debug] UPower. getUpDeviceInfo. kind: "2". state: "5". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:08.873] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.259] [debug] UPower. getUpDeviceInfo. kind: "2". state: "5". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.259] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.259] [debug] UPower. getUpDeviceInfo. kind: "2". state: "5". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.259] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:09.260] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:09.260] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:10.265] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:10.265] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:10.265] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:10.265] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:10.265] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:10.265] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:10.265] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:10.265] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.276] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.277] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.277] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.277] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.598] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.598] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.599] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.599] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.599] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.599] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.600] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.600] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.600] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.600] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.600] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.600] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.600] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.600] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.600] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.600] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.600] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.600] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.601] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.601] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.601] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.601] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:11.601] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:11.601] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.607] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.607] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.608] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.608] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.608] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.608] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.608] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.608] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.608] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.608] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.608] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.608] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.608] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.608] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.608] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.608] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.609] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.609] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.609] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.609] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.609] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.609] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.609] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.609] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.609] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.609] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:12.609] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:12.609] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:13.615] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:13.615] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:13.615] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:13.615] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.626] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.626] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.626] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.626] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.626] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.626] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.626] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.627] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.627] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.627] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.627] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.627] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.627] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.627] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.627] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.627] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.627] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.627] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.627] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.627] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.628] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.628] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.628] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.628] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.628] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.628] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:14.628] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:14.628] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" [2024-05-08 13:53:15.225] [debug] Output removed: BOE 0x07C9 [2024-05-08 13:53:15.230] [info] Bar removed from output: eDP-1 [2024-05-08 13:53:19.639] [debug] UPower. getUpDeviceInfo. kind: "2". state: "1". percentage: "19". icon_name: "battery-caution-charging-symbolic". time-to-empty: "0". time-to-full: "0". temperature: "0". native_path: "". model: "" [2024-05-08 13:53:19.639] [debug] UPower::secondsToString(). seconds: "0", minutes: "0", hours: "0", days: "0", strRet: "" ```

GDB:

#0  Glib::DispatchNotifier::send_notification (this=0x0, dispatcher=<optimized out>) at ../glibmm/glib/glibmm/dispatcher.cc:379
        data = {dispatcher = 0x5d46f59e1bb8, notifier = 0x0}
        n_written = <optimized out>
#1  0x00005d46f3e139e0 in waybar::modules::UPower::deviceNotify_cb (device=0x5d46f593f220 [UpDevice], pspec=0x5d46f5953a30 [GParamUInt64], data=0x5d46f59e1bb0) at ../src/modules/upower.cpp:290
        up = 0x5d46f59e1bb0
#2  0x000074d93fe7b730 in g_closure_invoke (closure=0x5d46f595eac0, return_value=0x0, n_param_values=2, param_values=0x7ffd46a3d600, invocation_hint=0x7ffd46a3d550) at ../glib/gobject/gclosure.c:834
        marshal = 0x74d93fe812b0 <g_cclosure_marshal_VOID__PARAM>
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x5d46f595eaa0
        __func__ = "g_closure_invoke"

(gdb) frame 0
#0  Glib::DispatchNotifier::send_notification (this=0x0, dispatcher=<optimized out>)
    at ../glibmm/glib/glibmm/dispatcher.cc:379
379     n_written = write(fd_sender_, &data, sizeof(data));
(gdb) list
374 
375   DispatchNotifyData data(dispatcher, this);
376   gssize n_written;
377 
378   do
379     n_written = write(fd_sender_, &data, sizeof(data));
380   while (G_UNLIKELY(n_written < 0) && errno == EINTR);
381 
382   // All data must be written in a single call to write(), otherwise we cannot
383   // guarantee reentrancy since another thread might be scheduled between two
(gdb) print fd_sender_
Cannot access memory at address 0x4c
(gdb) print data
$6 = {dispatcher = 0x5d46f59e1bb8, notifier = 0x0}
#1  0x00005d46f3e139e0 in waybar::modules::UPower::deviceNotify_cb (
    device=0x5d46f593f220 [UpDevice], pspec=0x5d46f5953a30 [GParamUInt64],
    data=0x5d46f59e1bb0) at ../src/modules/upower.cpp:290
290   up->dp.emit();
(gdb) list
285 }
286 
287 void UPower::deviceNotify_cb(UpDevice *device, GParamSpec *pspec, gpointer data) {
288   UPower *up{static_cast<UPower *>(data)};
289   // Update the widget
290   up->dp.emit();
291 }
292 
293 void UPower::addDevice(UpDevice *device) {
294   std::lock_guard<std::mutex> guard{mutex_};
(gdb) print up->name_
$7 = "upower"

This one is more coherent than my previous coredump:

#0  Glib::DispatchNotifier::send_notification
    (this=0x908e8e8e706f6f6f, dispatcher=<optimized out>)
    at ../glibmm/glib/glibmm/dispatcher.cc:379
        data = {dispatcher = 0x5fe0146f7b58, notifier = 0x908e8e8e706f6f6f}
        n_written = <optimized out>
#1  0x00005fe0139ac9e0 in waybar::modules::UPower::deviceNotify_cb
    (device=0x5fe0147e1860 [UpDevice], pspec=0x5fe0147d2200 [GParamUInt64], data=0x5fe0146f7b50) at ../src/modules/upower.cpp:290
        up = 0x5fe0146f7b50
#2  0x00007643b1ac3730 in g_closure_invoke
    (closure=0x5fe0147e2510, return_value=0x0, n_param_values=2, param_values=0x7fff13164210, invocation_hint=0x7fff13164160) at ../glib/gobject/gclosure.c:834
        marshal = 0x7643b1ac92b0 <g_cclosure_marshal_VOID__PARAM>
        marshal_data = 0x0
        in_marshal = 0
        real_closure = 0x5fe0147e24f0
        __func__ = "g_closure_invoke"
(gdb) frame 0
#0  Glib::DispatchNotifier::send_notification (this=0x908e8e8e706f6f6f,
    dispatcher=<optimized out>) at ../glibmm/glib/glibmm/dispatcher.cc:379
379     n_written = write(fd_sender_, &data, sizeof(data));
(gdb) list
374 
375   DispatchNotifyData data(dispatcher, this);
376   gssize n_written;
377 
378   do
379     n_written = write(fd_sender_, &data, sizeof(data));
380   while (G_UNLIKELY(n_written < 0) && errno == EINTR);
381 
382   // All data must be written in a single call to write(), otherwise we cannot
383   // guarantee reentrancy since another thread might be scheduled between two
(gdb) print fd_sender_
Cannot access memory at address 0x908e8e8e706f6fbb
(gdb) print data
$1 = {dispatcher = 0x5fe0146f7b58, notifier = 0x908e8e8e706f6f6f}
(gdb) frame 1
#1  0x00005fe0139ac9e0 in waybar::modules::UPower::deviceNotify_cb (
    device=0x5fe0147e1860 [UpDevice], pspec=0x5fe0147d2200 [GParamUInt64],
    data=0x5fe0146f7b50) at ../src/modules/upower.cpp:290
290   up->dp.emit();
(gdb) list
285 }
286 
287 void UPower::deviceNotify_cb(UpDevice *device, GParamSpec *pspec, gpointer data) {
288   UPower *up{static_cast<UPower *>(data)};
289   // Update the widget
290   up->dp.emit();
291 }
292 
293 void UPower::addDevice(UpDevice *device) {
294   std::lock_guard<std::mutex> guard{mutex_};
(gdb) print up->name_
$2 = <error: Cannot access memory at address 0x706f6f6f908e8e8e>
zjeffer commented 5 months ago

I still can't reproduce it with your minimal config. I'm on Hyprland, though, I'm not sure if that makes a difference.

@LukashonakV merged a UPower rework into master yesterday, can you try again with the latest master?

hrdl-github commented 5 months ago

I've been using the reworked upower module since https://github.com/Alexays/Waybar/issues/3223#issuecomment-2098546283. Is there any chance that this is due to leftover callbacks to UPower::deviceNotify_cb after UPower::~UPower gets called when an output gets destroyed?

LukashonakV commented 5 months ago

Hi @hrdl-github , let me check I'm not familiar with the dock station. When you connect laptop to it is dock station became as a main battery in the system ? Please provide battery list from the system when dock station is connected Thanks

LukashonakV commented 5 months ago

I've been using the reworked upower module since #3223 (comment). Is there any chance that this is due to leftover callbacks to UPower::deviceNotify_cb after UPower::~UPower gets called when an output gets destroyed?

Impossible. Once destructor is called dispatcher instances with the UPower client, devices are got destructed

LukashonakV commented 5 months ago

@hrdl-github is it possible if I create the patch for you to check, whether it solves an issue ? I'll provide it there in the conversation. Looks I found it. But I cannot reproduce this issue so need a help to check

LukashonakV commented 5 months ago

Hi @hrdl-github , Please apply provided patch into yours master branch, run make and then please test waybar. Due to github limitation I added txt file extension . Remove txt and apply upower.patch Updated patch upower.patch.txt

hrdl-github commented 5 months ago

I'll get back to you by Friday or before in case I encounter another segmentation fault.

hrdl-github commented 5 months ago

@LukashonakV , there's a good chance your patch is working. I've been running three waybar instances, of which one of them crashed out of the blue. This was the one built from master with the simplified configuration containing the upower module listed above. The other two (master without upower module in config and the patched one with the same simplified configuration did not crash.

LukashonakV commented 5 months ago

Hi @hrdl-github , please check master release. This patch is merged, If its Ok, please close this issue. Thanks

hrdl-github commented 5 months ago

Thanks for your effort, @LukashonakV . One last note about the last crash I mentioned: that one occurred 282 seconds after resuming from suspend. I'll reopen this issue when needed.