wayfire icon indicating copy to clipboard operation
wayfire copied to clipboard

Crash: Segfault in wayfire_xdg_view::resize

Open AdrianVovk opened this issue 3 years ago • 3 comments

To Reproduce Steps to reproduce the behavior:

  1. (Install and) open GNOME Boxes (and set up a VM if necessary)
  2. Right click on a VM, and click on "Properties"
  3. Close the properties window
  4. Observe Wayfire crashing

Screenshots or stacktrace

Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.413 - [src/main.cpp:141] Fatal error: Segmentation fault
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.430 - #1  wf::print_trace(bool) ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.459 - #2  __sigaction ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.476 - #3  wayfire_xdg_view::resize(int, int) ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.492 - #4  std::_Function_handler<void (wf::signal_data_t*), JoinViewsSingleton::on_geometry_changed::{lambda(wf::signal_data_t*)>
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.509 - #5  std::_Function_handler<void (), wf::base_option_wrapper_t<std::__cxx11::basic_string<char, std::char_traits<char>, std>
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.526 - #6  wf::signal_provider_t::emit_signal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wf>
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.542 - #7  wf::wlr_view_t::set_position(int, int, wlr_box, bool) ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.560 - #8  wf::view_interface_t::set_geometry(wlr_box) ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.577 - #9  std::_Function_handler<void (), wf::base_option_wrapper_t<std::__cxx11::basic_string<char, std::char_traits<char>, std>
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.593 - #10 wf::signal_provider_t::emit_signal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wf>
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.610 - #11 wf::view_interface_t::fullscreen_request(wf::output_t*, bool, wf::point_t) ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.627 - #12 wf::_safe_list_detail::idle_cleanup_func(void*) ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.643 - #13 wlr_signal_emit_safe ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.660 - #14 wlr_xdg_toplevel_set_parent ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.676 - #15 ffi_prep_go_closure ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.691 - #16 ffi_closure_free ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.707 - #17 ?? ??:0
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.723 - #18 wl_array_add ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.739 - #19 wl_event_loop_dispatch ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.755 - #20 getWayfireVersion ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.772 - #21 g_main_context_dispatch ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.789 - #22 g_io_channel_new_file ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.805 - #23 g_main_loop_run ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.822 - #24 std::_Function_handler<void (), wf::base_option_wrapper_t<std::__cxx11::basic_string<char, std::char_traits<char>, std>
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.839 - #25 wf::signal_provider_t::emit_signal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wf>
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.855 - #26 wf::compositor_core_impl_t::post_init() ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.872 - #27 main ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.901 - #28 __libc_init_first ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.930 - #29 __libc_start_main ??:?
Feb 12 17:03:15 adrians-macbook wayfire[11051]: EE 12-02-22 17:03:15.947 - #30 _start ??:?

Wayfire version 0.7.2, carbonOS

AdrianVovk avatar Feb 12 '22 22:02 AdrianVovk

Seems like I'm getting another crash in the same function through a different method:

  1. Install & open GNOME Builder
  2. Press clone repository
  3. Paste in this repo: https://gitlab.gnome.org/BrainBlasted/loupe
  4. Hit run in Builder once the project opens
  5. Download this image
  6. Press "Open" on the image viewer app that opened, then select the downloaded image
  7. Wayfire crashes

Backtrace:

Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.708 - [src/main.cpp:141] Fatal error: Segmentation fault
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.749 - #1  wf::print_trace(bool) ??:?
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.787 - #2  __sigaction ??:?
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.814 - #3  wayfire_xdg_view::resize(int, int) ??:?
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.836 - #4  std::_Function_handler<void (wf::signal_data_t*), JoinViewsSingleton::on_geometry_changed::{lambda(wf::signal_data_t*)>
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.863 - #5  std::_Function_handler<void (), wf::base_option_wrapper_t<std::__cxx11::basic_string<char, std::char_traits<char>, std>
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.890 - #6  wf::signal_provider_t::emit_signal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wf>
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.917 - #7  wf::wlr_view_t::update_size() ??:?
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.945 - #8  wf::wlr_view_t::commit() ??:?
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.973 - #9  wayfire_xdg_view::commit() ??:?
Feb 12 17:08:30 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:30.998 - #10 wf::_safe_list_detail::idle_cleanup_func(void*) ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.025 - #11 wlr_signal_emit_safe ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.051 - #12 wlr_surface_get_root_surface ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.075 - #13 ffi_prep_go_closure ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.101 - #14 ffi_closure_free ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.126 - #15 ?? ??:0
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.152 - #16 wl_array_add ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.179 - #17 wl_event_loop_dispatch ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.205 - #18 getWayfireVersion ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.234 - #19 g_main_context_dispatch ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.261 - #20 g_io_channel_new_file ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.290 - #21 g_main_loop_run ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.315 - #22 std::_Function_handler<void (), wf::base_option_wrapper_t<std::__cxx11::basic_string<char, std::char_traits<char>, std>
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.343 - #23 wf::signal_provider_t::emit_signal(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, wf>
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.370 - #24 wf::compositor_core_impl_t::post_init() ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.394 - #25 main ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.427 - #26 __libc_init_first ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.459 - #27 __libc_start_main ??:?
Feb 12 17:08:31 adrians-macbook wayfire[12166]: EE 12-02-22 17:08:31.479 - #28 _start ??:?

AdrianVovk avatar Feb 12 '22 22:02 AdrianVovk

This appears to be a crash in the join views plugin. Does it help if you disable it?

soreau avatar Feb 12 '22 22:02 soreau

@soreau Yep! Disabling join-views (even without restarting Wayfire after) prevents the crash

AdrianVovk avatar Feb 12 '22 22:02 AdrianVovk

Much has changed since this issue was opened, so I assume the bug was either fixed or the crash will happen in a completely different place, so closing this particular issue.

ammen99 avatar Aug 22 '23 10:08 ammen99