Skip to content

crash (sometimes) when opening LID  #3530

@yangyingchao

Description

@yangyingchao

Steps to reproduce:

I have a notebook connected to an external monitor. With hyprland-0.42.0, sometimes when the LID is open, waybar crashes. I analyzed the crash log and suspect it is caused by accessing bar instances that have already been destroyed. Therefore, I added some logs, which confirmed my suspicion:

[2024-08-19 11:40:18.805] [info] Reloading...
240819 11:40:18 : [7FBB4BAD1A00] - ../src/bar.cpp:0357 -- ~Bar: DESTROY: 0x55e556f19740
:
[00]: waybar(+0x8acf4) [0x55e53784dcf4]
[01]: waybar(+0x93562) [0x55e537856562]
[02]: waybar(main+0xb4) [0x55e53784a314]
[03]: /usr/lib64/libc.so.6(+0x262e0) [0x7fbb4ce5f2e0]
[04]: /usr/lib64/libc.so.6(__libc_start_main+0x89) [0x7fbb4ce5f399]
[05]: waybar(+0x3ad25) [0x55e5377fdd25]

(nm-applet:30959): Gtk-CRITICAL **: 11:40:18.912: gtk_widget_get_scale_factor: assertion 'GTK_IS_WIDGET (widget)' failed

240819 11:40:23 : [7FBB4BAD1A00] - ../src/bar.cpp:0687 -- onOutputGeometryChanged: CHANGED: 0x55e556f19740
:
[00]: waybar(+0x89d94) [0x55e53784cd94]
[01]: /usr/lib64/libgobject-2.0.so.0(g_closure_invoke+0x140) [0x7fbb4e435e00]
[02]: /usr/lib64/libgobject-2.0.so.0(+0x26a5c) [0x7fbb4e449a5c]
[03]: /usr/lib64/libgobject-2.0.so.0(+0x28121) [0x7fbb4e44b121]
[04]: /usr/lib64/libgobject-2.0.so.0(g_signal_emit_valist+0x36) [0x7fbb4e450dc6]
[05]: /usr/lib64/libgobject-2.0.so.0(g_signal_emit+0x9b) [0x7fbb4e450e8b]
[06]: /usr/lib64/libgobject-2.0.so.0(+0x17004) [0x7fbb4e43a004]
[07]: /usr/lib64/libgobject-2.0.so.0(+0x179ef) [0x7fbb4e43a9ef]
[08]: /usr/lib64/libgobject-2.0.so.0(g_object_thaw_notify+0x4d) [0x7fbb4e43d19d]
[09]: /usr/lib64/libgdk-3.so.0(+0x5eb03) [0x7fbb4e576b03]
[10]: /usr/lib64/libffi.so.8(+0x775e) [0x7fbb4d34775e]
[11]: /usr/lib64/libffi.so.8(+0x6a62) [0x7fbb4d346a62]
[12]: /usr/lib64/libffi.so.8(ffi_call+0x123) [0x7fbb4d347243]
[13]: /usr/lib64/libwayland-client.so.0(+0x7c81) [0x7fbb4ee43c81]
[14]: /usr/lib64/libwayland-client.so.0(+0x4098) [0x7fbb4ee40098]
[15]: /usr/lib64/libwayland-client.so.0(wl_display_dispatch_queue_pending+0x7c) [0x7fbb4ee41a9c]
[16]: /usr/lib64/libgdk-3.so.0(+0x5b6c8) [0x7fbb4e5736c8]
[17]: /usr/lib64/libgdk-3.so.0(gdk_display_get_event+0x44) [0x7fbb4e542fb4]
[18]: /usr/lib64/libgdk-3.so.0(+0x5b3d6) [0x7fbb4e5733d6]
[19]: /usr/lib64/libglib-2.0.so.0(+0x57834) [0x7fbb4d727834]
[20]: /usr/lib64/libglib-2.0.so.0(+0x5a977) [0x7fbb4d72a977]
[21]: /usr/lib64/libglib-2.0.so.0(g_main_context_iteration+0x30) [0x7fbb4d72afa0]
[22]: /usr/lib64/libgio-2.0.so.0(g_application_run+0x16d) [0x7fbb4d8f6b7d]
[23]: waybar(+0x9350d) [0x55e53785650d]
[24]: waybar(main+0xb4) [0x55e53784a314]
[25]: /usr/lib64/libc.so.6(+0x262e0) [0x7fbb4ce5f2e0]
[26]: /usr/lib64/libc.so.6(__libc_start_main+0x89) [0x7fbb4ce5f399]
[27]: waybar(+0x3ad25) [0x55e5377fdd25]

Segmentation fault (core dumped) waybar

But this does not happen everytime...

This might be same issue to #3400, but I'm unsure. I can confirm that this has been resolved in my fork, so I have chosen to create a new issue for it.

Perhaps @K4R7IK can assist in applying my patch and testing it out.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions