I was able to capture this:With the area of the code identified and the fact it seems to fail after a consistent number of runs (for me 110), it suggests a resource leak.
A file handle that was not being closed in the window destructor was spotted and with that close added I'm now up to 400 iterations.
Assuming this continues running fine, we should be able to push out a fix soon.
Code:
EE 12-04-24 15:25:42.836 - [src/main.cpp:144] Fatal error: Segmentation faultEE 12-04-24 15:25:43.062 - #1 signal_handler(int) ../src/main.cpp:146EE 12-04-24 15:25:43.092 - #3 wl_event_source_remove ??:?EE 12-04-24 15:25:43.270 - #4 wf::decor::decoration_theme_t::~decoration_theme_t() ??:?EE 12-04-24 15:25:43.298 - #5 simple_decoration_surface::~simple_decoration_surface() /usr/include/c++/12/bits/basic_string.h:234EE 12-04-24 15:25:43.328 - #6 simple_decoration_surface::~simple_decoration_surface() ../plugins/pixdecor/deco-subsurface.cpp:112EE 12-04-24 15:25:49.323 - #7 auto wf::surface_interface_t::remove_subsurface(nonstd::observer_ptr<wf::surface_interface_t>)::{lambda(auto:1&)#1}::operator()<std::vector<std::unique_ptr<wf::surface_interface_t, std::default_delete<wf::surface_interface_t> >, std::allocator<std::unique_ptr<wf::surface_interface_t, std::default_delete<wf::surface_interface_t> > > > >(std::vector<std::unique_ptr<wf::surface_interface_t, std::default_delete<wf::surface_interface_t> >, std::allocator<std::unique_ptr<wf::surface_interface_t, std::default_delete<wf::surface_interface_t> > > >&) const /usr/include/c++/12/bits/stl_algobase.h:2139EE 12-04-24 15:25:55.340 - #8 wf::surface_interface_t::remove_subsurface(nonstd::observer_ptr<wf::surface_interface_t>) ../src/view/surface.cpp:61EE 12-04-24 15:26:01.342 - #9 wf::view_interface_t::set_decoration(wf::surface_interface_t*) /usr/include/c++/12/bits/unique_ptr.h:191EE 12-04-24 15:26:07.503 - #10 wf::wlr_view_t::unmap() ../src/view/view-impl.cpp:391EE 12-04-24 15:26:07.752 - #11 handle_wrapped_listener(wl_listener*, void*) ../src/util.cpp:472EE 12-04-24 15:26:07.760 - #12 wl_signal_emit_mutable ??:?EE 12-04-24 15:26:08.414 - #13 xsurface_unpair ../xwayland/xwm.c:391EE 12-04-24 15:26:09.064 - #14 xwm_handle_unmap_notify ../xwayland/xwm.c:1088EE 12-04-24 15:26:09.073 - #15 wl_event_loop_dispatch ??:?EE 12-04-24 15:26:09.081 - #16 wl_display_run ??:?EE 12-04-24 15:26:09.294 - #17 main ../src/main.cpp:371EE 12-04-24 15:26:09.451 - #18 __libc_start_call_main ../sysdeps/unix/sysv/linux/aarch64/libc-start.c:74EE 12-04-24 15:26:09.605 - #19 call_init ../csu/libc-start.c:128EE 12-04-24 15:26:16.706 - #20 _start ??:?
A file handle that was not being closed in the window destructor was spotted and with that close added I'm now up to 400 iterations.
Assuming this continues running fine, we should be able to push out a fix soon.
Statistics: Posted by dom — Fri Apr 12, 2024 3:49 pm