Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xdg_popup crash #2175

Closed
killown opened this issue Mar 5, 2024 · 3 comments · Fixed by #2188
Closed

xdg_popup crash #2175

killown opened this issue Mar 5, 2024 · 3 comments · Fixed by #2188
Labels
Milestone

Comments

@killown
Copy link
Contributor

killown commented Mar 5, 2024

~ ❯❯❯ wayfire --version
0.9.0-80569f47 (Mar 2 2024) branch makepkg

Don't know to reproduce, but randomly the xdg popup will crash the compositor

EE 04-03-24 22:07:37.522 - [types/xdg_shell/wlr_xdg_surface.c:169] A configure is scheduled for an uninitialized xdg_surface 0x575b2e1bf140
EE 04-03-24 22:07:37.537 - [src/main.cpp:131] Fatal error: Segmentation fault
EE 04-03-24 22:07:37.672 - #1 signal_handler(int) ../src/main.cpp:133
EE 04-03-24 22:07:37.682 - #2 __sigaction ??:?
EE 04-03-24 22:07:37.818 - #3 std::_Function_handler<void (void*), wf::input_method_relay::input_method_relay()::{lambda(void*)#1}>::_M_invoke(std::_Any_data const&, void*&&) :?
EE 04-03-24 22:07:37.953 - #4 wf::handle_wrapped_listener(wl_listener*, void*) ../src/wl-listener-wrapper.tpp:11
EE 04-03-24 22:07:37.962 - #5 wl_signal_emit_mutable ??:?
EE 04-03-24 22:07:37.971 - #6 ffi_prep_go_closure ??:?
EE 04-03-24 22:07:37.981 - #7 ?? ??:0
EE 04-03-24 22:07:37.989 - #8 ffi_call ??:?
EE 04-03-24 22:07:37.998 - #9 ?? ??:0
EE 04-03-24 22:07:38.007 - #10 wl_array_add ??:?
EE 04-03-24 22:07:38.016 - #11 wl_event_loop_dispatch ??:?
EE 04-03-24 22:07:38.025 - #12 wl_display_run ??:?
EE 04-03-24 22:07:38.158 - #13 main ../src/main.cpp:421
EE 04-03-24 22:07:38.168 - #14 __libc_init_first ??:?
EE 04-03-24 22:07:38.177 - #15 __libc_start_main ??:?
EE 04-03-24 22:07:38.312 - #16 _start ??:?
(EE) failed to read Wayland events: Broken pipe

and there is also this one where I am not sure if both is related

EE 04-03-24 22:08:35.144 - [src/main.cpp:131] Fatal error: Segmentation fault
EE 04-03-24 22:08:35.277 - #1 signal_handler(int) ../src/main.cpp:133
EE 04-03-24 22:08:35.287 - #2 __sigaction ??:?
EE 04-03-24 22:08:35.420 - #3 std::_Function_handler<void (void*), wf::input_method_relay::input_method_relay()::{lambda(void*)#1}>::_M_invoke(std::_Any_data const&, void*&&) :?
EE 04-03-24 22:08:35.551 - #4 wf::handle_wrapped_listener(wl_listener*, void*) ../src/wl-listener-wrapper.tpp:11
EE 04-03-24 22:08:35.560 - #5 wl_signal_emit_mutable ??:?
EE 04-03-24 22:08:35.569 - #6 ffi_prep_go_closure ??:?
EE 04-03-24 22:08:35.578 - #7 ?? ??:0
EE 04-03-24 22:08:35.586 - #8 ffi_call ??:?
EE 04-03-24 22:08:35.595 - #9 ?? ??:0
EE 04-03-24 22:08:35.604 - #10 wl_array_add ??:?
EE 04-03-24 22:08:35.612 - #11 wl_event_loop_dispatch ??:?
EE 04-03-24 22:08:35.621 - #12 wl_display_run ??:?
EE 04-03-24 22:08:35.753 - #13 main ../src/main.cpp:421
EE 04-03-24 22:08:35.763 - #14 __libc_init_first ??:?
EE 04-03-24 22:08:35.772 - #15 __libc_start_main ??:?
EE 04-03-24 22:08:35.906 - #16 _start ??:?
(EE) failed to read Wayland events: Broken pipe

@killown killown added the bug label Mar 5, 2024
@ammen99
Copy link
Member

ammen99 commented Mar 5, 2024

Would be nice if you could compile with debugging symbols or even ASAN and then attach a stacktrace.

In any case, in #2172 I'm rewriting the whole IM thing so I'll look at this bug after finishing with the said PR.

@ammen99 ammen99 added this to the 0.8.1 milestone Mar 5, 2024
@killown
Copy link
Contributor Author

killown commented Mar 5, 2024

It's so random; it may take hours. If that happens more frequently and I find a way to reproduce the issue, I will enable the debug symbols as you suggested.

@killown
Copy link
Contributor Author

killown commented Mar 5, 2024

../src/core/seat/input-method-relay.cpp:27:79: runtime error: member access within null pointer of type 'struct view_interface_t'
AddressSanitizer:DEADLYSIGNAL

==30124==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x5c548228b95a bp 0x7ffc48cf8a50 sp 0x7ffc48cf8680 T0)
==30124==The signal is caused by a READ memory access.
==30124==Hint: address points to the zero page.
#0 0x5c548228b95a in operator() ../src/core/seat/input-method-relay.cpp:27
#1 0x5c548228b95a in __invoke_impl<void, wf::input_method_relay::input_method_relay()::<lambda(void*)>&, void*> /usr/include/c++/13.2.1/bits/invoke.h:61
#2 0x5c548228b95a in __invoke_r<void, wf::input_method_relay::input_method_relay()::<lambda(void*)>&, void*> /usr/include/c++/13.2.1/bits/invoke.h:111
#3 0x5c548228b95a in _M_invoke /usr/include/c++/13.2.1/bits/std_function.h:290
#4 0x5c5481f39346 in std::function<void (void*)>::operator()(void*) const /usr/include/c++/13.2.1/bits/std_function.h:591
#5 0x5c5481f39346 in wf::wl_listener_wrapper::emit(void*) ../src/wl-listener-wrapper.tpp:57
#6 0x5c5481f39346 in handle_wrapped_listener ../src/wl-listener-wrapper.tpp:10
#7 0x7350ad1dc01d in wl_signal_emit_mutable (/usr/lib/libwayland-server.so.0+0xa01d) (BuildId: d943a6a6069d1b5293dad7c842d26ce407ebdd19)
#8 0x7350aabca595 (/usr/lib/libffi.so.8+0x7595) (BuildId: eecfa567f01d70c2ca4b60a1f7931e5634e41eea)
#9 0x7350aabc700d (/usr/lib/libffi.so.8+0x400d) (BuildId: eecfa567f01d70c2ca4b60a1f7931e5634e41eea)
#10 0x7350aabc9bd2 in ffi_call (/usr/lib/libffi.so.8+0x6bd2) (BuildId: eecfa567f01d70c2ca4b60a1f7931e5634e41eea)
#11 0x7350ad1daad9 (/usr/lib/libwayland-server.so.0+0x8ad9) (BuildId: d943a6a6069d1b5293dad7c842d26ce407ebdd19)
#12 0x7350ad1df17f (/usr/lib/libwayland-server.so.0+0xd17f) (BuildId: d943a6a6069d1b5293dad7c842d26ce407ebdd19)
#13 0x7350ad1ddae1 in wl_event_loop_dispatch (/usr/lib/libwayland-server.so.0+0xbae1) (BuildId: d943a6a6069d1b5293dad7c842d26ce407ebdd19)
#14 0x7350ad1de2d6 in wl_display_run (/usr/lib/libwayland-server.so.0+0xc2d6) (BuildId: d943a6a6069d1b5293dad7c842d26ce407ebdd19)
#15 0x5c5481efb398 in main ../src/main.cpp:418
#16 0x7350ab243ccf (/usr/lib/libc.so.6+0x25ccf) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
#17 0x7350ab243d89 in __libc_start_main (/usr/lib/libc.so.6+0x25d89) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
#18 0x5c5481f06cb4 in _start (/usr/bin/wayfire+0x12f7cb4) (BuildId: 5fed90c3ce8739e8addb931f65c4b10e81598314)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../src/core/seat/input-method-relay.cpp:27 in operator()
==30124==ABORTING
(EE) failed to read Wayland events: Broken pipe

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants