wayfire icon indicating copy to clipboard operation
wayfire copied to clipboard

Random Crash

Open killown opened this issue 1 year ago • 0 comments

steps to reproduce: 1 - two monitors, left monitor with no panels, no widgets, open some windows there the activate then scale plugin and let activated

2 - on the right monitor open a window drag it, move the the left monitor and drag it to the top and it will maximize while the activated scale will stays behind

3 - do not click anywhere, just by using the follow focus, let it focus in the maximized window, then toggle the scale again, this will crash the compositor

AddressSanitizer:DEADLYSIGNAL
=================================================================
==62206==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000080 (pc 0x798749d881cb bp 0x7ffd3ca87fb0 sp 0x7ffd3ca86860 T0)
==62206==The signal is caused by a READ memory access.
==62206==Hint: address points to the zero page.
    #0 0x798749d881cb in wayfire_scale::layout_slots(std::vector<nonstd::observer_ptr<wf::toplevel_view_interface_t>, std::allocator<nonstd::observer_ptr<wf::toplevel_view_interface_t> > >) ../plugins/scale/scale.cpp:969
    #1 0x798749dd219e in wayfire_scale::view_geometry_changed::{lambda(wf::view_geometry_changed_signal*)#1}::operator()(wf::view_geometry_changed_signal*) const ../plugins/scale/scale.cpp:1207
    #2 0x798749dd219e in void std::__invoke_impl<void, wayfire_scale::view_geometry_changed::{lambda(wf::view_geometry_changed_signal*)#1}&, wf::view_geometry_changed_signal*>(std::__invoke_other, wayfire_scale::view_geometry_changed::{lambda(wf::view_geometry_changed_signal*)#1}&, wf::view_geometry_changed_signal*&&) /usr/include/c++/13.2.1/bits/invoke.h:61
    #3 0x798749dd219e in std::enable_if<is_invocable_r_v<void, wayfire_scale::view_geometry_changed::{lambda(wf::view_geometry_changed_signal*)#1}&, wf::view_geometry_changed_signal*>, void>::type std::__invoke_r<void, wayfire_scale::view_geometry_changed::{lambda(wf::view_geometry_changed_signal*)#1}&, wf::view_geometry_changed_signal*>(wayfire_scale::view_geometry_changed::{lambda(wf::view_geometry_changed_signal*)#1}&, wf::view_geometry_changed_signal*&&) /usr/include/c++/13.2.1/bits/invoke.h:111
    #4 0x798749dd219e in std::_Function_handler<void (wf::view_geometry_changed_signal*), wayfire_scale::view_geometry_changed::{lambda(wf::view_geometry_changed_signal*)#1}>::_M_invoke(std::_Any_data const&, wf::view_geometry_changed_signal*&&) /usr/include/c++/13.2.1/bits/std_function.h:290
    #5 0x55631886520e in std::function<void (void*)>::operator()(void*) const /usr/include/c++/13.2.1/bits/std_function.h:591
    #6 0x55631886520e in wf::signal::connection_t<wf::view_geometry_changed_signal>::emit(wf::view_geometry_changed_signal*) ../src/api/wayfire/signal-provider.hpp:107
    #7 0x55631886520e in wf::signal::provider_t::emit<wf::view_geometry_changed_signal>(wf::view_geometry_changed_signal*)::{lambda(wf::signal::connection_base_t*)#1}::operator()(wf::signal::connection_base_t*) const ../src/api/wayfire/signal-provider.hpp:163
    #8 0x55631886520e in void std::__invoke_impl<void, wf::signal::provider_t::emit<wf::view_geometry_changed_signal>(wf::view_geometry_changed_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>(std::__invoke_other, wf::signal::provider_t::emit<wf::view_geometry_changed_signal>(wf::view_geometry_changed_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/invoke.h:61
    #9 0x55631886520e in std::enable_if<is_invocable_r_v<void, wf::signal::provider_t::emit<wf::view_geometry_changed_signal>(wf::view_geometry_changed_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>, void>::type std::__invoke_r<void, wf::signal::provider_t::emit<wf::view_geometry_changed_signal>(wf::view_geometry_changed_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>(wf::signal::provider_t::emit<wf::view_geometry_changed_signal>(wf::view_geometry_changed_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/invoke.h:111
    #10 0x55631886520e in std::_Function_handler<void (wf::signal::connection_base_t*&), wf::signal::provider_t::emit<wf::view_geometry_changed_signal>(wf::view_geometry_changed_signal*)::{lambda(wf::signal::connection_base_t*)#1}>::_M_invoke(std::_Any_data const&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/std_function.h:290
    #11 0x5563186beb77 in std::function<void (wf::signal::connection_base_t*&)>::operator()(wf::signal::connection_base_t*&) const /usr/include/c++/13.2.1/bits/std_function.h:591
    #12 0x5563186beb77 in wf::safe_list_t<wf::signal::connection_base_t*>::for_each(std::function<void (wf::signal::connection_base_t*&)>) ../src/api/wayfire/nonstd/safe-list.hpp:78
    #13 0x55631884c33d in void wf::signal::provider_t::emit<wf::view_geometry_changed_signal>(wf::view_geometry_changed_signal*) ../src/api/wayfire/signal-provider.hpp:159
    #14 0x55631884c33d in wf::view_implementation::emit_geometry_changed_signal(nonstd::observer_ptr<wf::toplevel_view_interface_t>, wlr_box) ../src/view/view-impl.cpp:45
    #15 0x55631884ede3 in wf::view_implementation::emit_toplevel_state_change_signals(nonstd::observer_ptr<wf::toplevel_view_interface_t>, wf::toplevel_state_t const&) ../src/view/view-impl.cpp:112
    #16 0x5563188903f3 in wf::xdg_toplevel_view_t::handle_toplevel_state_changed(wf::toplevel_state_t) ../src/view/xdg-shell/xdg-toplevel-view.cpp:324
    #17 0x5563188909a5 in operator() ../src/view/xdg-shell/xdg-toplevel-view.cpp:173
    #18 0x5563188909a5 in __invoke_impl<void, wf::xdg_toplevel_view_t::xdg_toplevel_view_t(wlr_xdg_toplevel*)::<lambda(wf::xdg_toplevel_applied_state_signal*)>&, wf::xdg_toplevel_applied_state_signal*> /usr/include/c++/13.2.1/bits/invoke.h:61
    #19 0x5563188909a5 in __invoke_r<void, wf::xdg_toplevel_view_t::xdg_toplevel_view_t(wlr_xdg_toplevel*)::<lambda(wf::xdg_toplevel_applied_state_signal*)>&, wf::xdg_toplevel_applied_state_signal*> /usr/include/c++/13.2.1/bits/invoke.h:111
    #20 0x5563188909a5 in _M_invoke /usr/include/c++/13.2.1/bits/std_function.h:290
    #21 0x55631886649e in std::function<void (void*)>::operator()(void*) const /usr/include/c++/13.2.1/bits/std_function.h:591
    #22 0x55631886649e in wf::signal::connection_t<wf::xdg_toplevel_applied_state_signal>::emit(wf::xdg_toplevel_applied_state_signal*) ../src/api/wayfire/signal-provider.hpp:107
    #23 0x55631886649e in wf::signal::provider_t::emit<wf::xdg_toplevel_applied_state_signal>(wf::xdg_toplevel_applied_state_signal*)::{lambda(wf::signal::connection_base_t*)#1}::operator()(wf::signal::connection_base_t*) const ../src/api/wayfire/signal-provider.hpp:163
    #24 0x55631886649e in void std::__invoke_impl<void, wf::signal::provider_t::emit<wf::xdg_toplevel_applied_state_signal>(wf::xdg_toplevel_applied_state_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>(std::__invoke_other, wf::signal::provider_t::emit<wf::xdg_toplevel_applied_state_signal>(wf::xdg_toplevel_applied_state_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/invoke.h:61
    #25 0x55631886649e in std::enable_if<is_invocable_r_v<void, wf::signal::provider_t::emit<wf::xdg_toplevel_applied_state_signal>(wf::xdg_toplevel_applied_state_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>, void>::type std::__invoke_r<void, wf::signal::provider_t::emit<wf::xdg_toplevel_applied_state_signal>(wf::xdg_toplevel_applied_state_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>(wf::signal::provider_t::emit<wf::xdg_toplevel_applied_state_signal>(wf::xdg_toplevel_applied_state_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/invoke.h:111
    #26 0x55631886649e in std::_Function_handler<void (wf::signal::connection_base_t*&), wf::signal::provider_t::emit<wf::xdg_toplevel_applied_state_signal>(wf::xdg_toplevel_applied_state_signal*)::{lambda(wf::signal::connection_base_t*)#1}>::_M_invoke(std::_Any_data const&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/std_function.h:290
    #27 0x5563186beb77 in std::function<void (wf::signal::connection_base_t*&)>::operator()(wf::signal::connection_base_t*&) const /usr/include/c++/13.2.1/bits/std_function.h:591
    #28 0x5563186beb77 in wf::safe_list_t<wf::signal::connection_base_t*>::for_each(std::function<void (wf::signal::connection_base_t*&)>) ../src/api/wayfire/nonstd/safe-list.hpp:78
    #29 0x5563188823d5 in void wf::signal::provider_t::emit<wf::xdg_toplevel_applied_state_signal>(wf::xdg_toplevel_applied_state_signal*) ../src/api/wayfire/signal-provider.hpp:159
    #30 0x5563188823d5 in wf::xdg_toplevel_t::apply() ../src/view/xdg-shell/xdg-toplevel.cpp:137
    #31 0x5563187922a8 in wf::txn::transaction_t::apply(bool) ../src/core/txn/transaction.cpp:71
    #32 0x55631879586e in operator() ../src/core/txn/transaction.cpp:28
    #33 0x55631886628e in std::function<void (void*)>::operator()(void*) const /usr/include/c++/13.2.1/bits/std_function.h:591
    #34 0x55631886628e in wf::signal::connection_t<wf::txn::object_ready_signal>::emit(wf::txn::object_ready_signal*) ../src/api/wayfire/signal-provider.hpp:107
    #35 0x55631886628e in wf::signal::provider_t::emit<wf::txn::object_ready_signal>(wf::txn::object_ready_signal*)::{lambda(wf::signal::connection_base_t*)#1}::operator()(wf::signal::connection_base_t*) const ../src/api/wayfire/signal-provider.hpp:163
    #36 0x55631886628e in void std::__invoke_impl<void, wf::signal::provider_t::emit<wf::txn::object_ready_signal>(wf::txn::object_ready_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>(std::__invoke_other, wf::signal::provider_t::emit<wf::txn::object_ready_signal>(wf::txn::object_ready_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/invoke.h:61
    #37 0x55631886628e in std::enable_if<is_invocable_r_v<void, wf::signal::provider_t::emit<wf::txn::object_ready_signal>(wf::txn::object_ready_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>, void>::type std::__invoke_r<void, wf::signal::provider_t::emit<wf::txn::object_ready_signal>(wf::txn::object_ready_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>(wf::signal::provider_t::emit<wf::txn::object_ready_signal>(wf::txn::object_ready_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/invoke.h:111
    #38 0x55631886628e in std::_Function_handler<void (wf::signal::connection_base_t*&), wf::signal::provider_t::emit<wf::txn::object_ready_signal>(wf::txn::object_ready_signal*)::{lambda(wf::signal::connection_base_t*)#1}>::_M_invoke(std::_Any_data const&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/std_function.h:290
    #39 0x5563186beb77 in std::function<void (wf::signal::connection_base_t*&)>::operator()(wf::signal::connection_base_t*&) const /usr/include/c++/13.2.1/bits/std_function.h:591
    #40 0x5563186beb77 in wf::safe_list_t<wf::signal::connection_base_t*>::for_each(std::function<void (wf::signal::connection_base_t*&)>) ../src/api/wayfire/nonstd/safe-list.hpp:78
    #41 0x5563188698da in void wf::signal::provider_t::emit<wf::txn::object_ready_signal>(wf::txn::object_ready_signal*) ../src/api/wayfire/signal-provider.hpp:159
    #42 0x5563188698da in wf::txn::emit_object_ready(wf::txn::transaction_object_t*) ../src/api/wayfire/txn/transaction-object.hpp:66
    #43 0x5563188698da in wf::xdg_toplevel_t::emit_ready() ../src/view/xdg-shell/xdg-toplevel.cpp:238
    #44 0x5563188741b7 in wf::xdg_toplevel_t::emit_ready() ../src/view/xdg-shell/xdg-toplevel.cpp:89
    #45 0x5563188741b7 in wf::xdg_toplevel_t::commit() ../src/view/xdg-shell/xdg-toplevel.cpp:105
    #46 0x55631878e56e in wf::txn::transaction_t::commit() ../src/core/txn/transaction.cpp:54
    #47 0x556318790589 in wf::txn::transaction_manager_t::impl::do_commit(std::unique_ptr<wf::txn::transaction_t, std::default_delete<wf::txn::transaction_t> >) ../src/core/txn/transaction-manager-impl.hpp:110
    #48 0x556318790589 in wf::txn::transaction_manager_t::impl::consider_commit() ../src/core/txn/transaction-manager-impl.hpp:87
    #49 0x556318791a70 in wf::txn::transaction_manager_t::impl::schedule_transaction(std::unique_ptr<wf::txn::transaction_t, std::default_delete<wf::txn::transaction_t> >) ../src/core/txn/transaction-manager-impl.hpp:38
    #50 0x556318798470 in wf::txn::transaction_manager_t::schedule_transaction(std::unique_ptr<wf::txn::transaction_t, std::default_delete<wf::txn::transaction_t> >) ../src/core/txn/transaction-manager.cpp:19
    #51 0x5563187a31c6 in wf::txn::transaction_manager_t::schedule_object(std::shared_ptr<wf::txn::transaction_object_t>) ../src/core/txn/transaction-manager.cpp:26
    #52 0x556318854c1b in wf::toplevel_view_interface_t::move(int, int) ../src/view/toplevel-view.cpp:193
    #53 0x798749ddd917 in wf::move_drag::adjust_view_on_output(wf::move_drag::drag_done_signal*) ../plugins/common/wayfire/plugins/common/move-drag-interface.hpp:783
    #54 0x798749ddd917 in wayfire_scale::on_drag_done::{lambda(wf::move_drag::drag_done_signal*)#1}::operator()(wf::move_drag::drag_done_signal*) const ../plugins/scale/scale.cpp:1327
    #55 0x798749ddd917 in void std::__invoke_impl<void, wayfire_scale::on_drag_done::{lambda(wf::move_drag::drag_done_signal*)#1}&, wf::move_drag::drag_done_signal*>(std::__invoke_other, wayfire_scale::on_drag_done::{lambda(wf::move_drag::drag_done_signal*)#1}&, wf::move_drag::drag_done_signal*&&) /usr/include/c++/13.2.1/bits/invoke.h:61
    #56 0x798749ddd917 in std::enable_if<is_invocable_r_v<void, wayfire_scale::on_drag_done::{lambda(wf::move_drag::drag_done_signal*)#1}&, wf::move_drag::drag_done_signal*>, void>::type std::__invoke_r<void, wayfire_scale::on_drag_done::{lambda(wf::move_drag::drag_done_signal*)#1}&, wf::move_drag::drag_done_signal*>(wayfire_scale::on_drag_done::{lambda(wf::move_drag::drag_done_signal*)#1}&, wf::move_drag::drag_done_signal*&&) /usr/include/c++/13.2.1/bits/invoke.h:111
    #57 0x798749ddd917 in std::_Function_handler<void (wf::move_drag::drag_done_signal*), wayfire_scale::on_drag_done::{lambda(wf::move_drag::drag_done_signal*)#1}>::_M_invoke(std::_Any_data const&, wf::move_drag::drag_done_signal*&&) /usr/include/c++/13.2.1/bits/std_function.h:290
    #58 0x798749f21b81 in std::function<void (wf::wall_frame_event_t*)>::operator()(wf::wall_frame_event_t*) const /usr/include/c++/13.2.1/bits/std_function.h:591
    #59 0x798749f21b81 in wf::signal::connection_t<wf::move_drag::drag_done_signal>::emit(wf::move_drag::drag_done_signal*) ../src/api/wayfire/signal-provider.hpp:107
    #60 0x798749f21b81 in wf::signal::provider_t::emit<wf::move_drag::drag_done_signal>(wf::move_drag::drag_done_signal*)::{lambda(wf::signal::connection_base_t*)#1}::operator()(wf::signal::connection_base_t*) const ../src/api/wayfire/signal-provider.hpp:163
    #61 0x798749f21b81 in void std::__invoke_impl<void, wf::signal::provider_t::emit<wf::move_drag::drag_done_signal>(wf::move_drag::drag_done_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>(std::__invoke_other, wf::signal::provider_t::emit<wf::move_drag::drag_done_signal>(wf::move_drag::drag_done_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/invoke.h:61
    #62 0x798749f21b81 in std::enable_if<is_invocable_r_v<void, wf::signal::provider_t::emit<wf::move_drag::drag_done_signal>(wf::move_drag::drag_done_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>, void>::type std::__invoke_r<void, wf::signal::provider_t::emit<wf::move_drag::drag_done_signal>(wf::move_drag::drag_done_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&>(wf::signal::provider_t::emit<wf::move_drag::drag_done_signal>(wf::move_drag::drag_done_signal*)::{lambda(wf::signal::connection_base_t*)#1}&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/invoke.h:111
    #63 0x798749f21b81 in std::_Function_handler<void (wf::signal::connection_base_t*&), wf::signal::provider_t::emit<wf::move_drag::drag_done_signal>(wf::move_drag::drag_done_signal*)::{lambda(wf::signal::connection_base_t*)#1}>::_M_invoke(std::_Any_data const&, wf::signal::connection_base_t*&) /usr/include/c++/13.2.1/bits/std_function.h:290
    #64 0x798749da3322 in std::function<void (wf::region_t const&)>::operator()(wf::region_t const&) const /usr/include/c++/13.2.1/bits/std_function.h:591
    #65 0x798749da3322 in wf::safe_list_t<wf::signal::connection_base_t*>::for_each(std::function<void (wf::signal::connection_base_t*&)>) ../src/api/wayfire/nonstd/safe-list.hpp:78
    #66 0x798749d5fd20 in void wf::signal::provider_t::emit<wf::move_drag::drag_done_signal>(wf::move_drag::drag_done_signal*) ../src/api/wayfire/signal-provider.hpp:159
    #67 0x798749d5fd20 in wf::move_drag::core_drag_t::handle_input_released() ../plugins/common/wayfire/plugins/common/move-drag-interface.hpp:645
    #68 0x798749d754af in wayfire_scale::process_input(unsigned int, unsigned int, wf::pointf_t) ../plugins/scale/scale.cpp:486
    #69 0x5563187dc9bb in wf::pointer_t::send_button(wlr_pointer_button_event*, bool) ../src/core/seat/pointer.cpp:279
    #70 0x5563187f763a in wf::pointer_t::handle_pointer_button(wlr_pointer_button_event*, wf::input_event_processing_mode_t) ../src/core/seat/pointer.cpp:231
    #71 0x5563187f8090 in operator() ../src/core/seat/cursor.cpp:70
    #72 0x5563187f8090 in __invoke_impl<void, wf::cursor_t::setup_listeners()::<lambda(void*)>&, void*> /usr/include/c++/13.2.1/bits/invoke.h:61
    #73 0x5563187f8090 in __invoke_r<void, wf::cursor_t::setup_listeners()::<lambda(void*)>&, void*> /usr/include/c++/13.2.1/bits/invoke.h:111
    #74 0x5563187f8090 in _M_invoke /usr/include/c++/13.2.1/bits/std_function.h:290
    #75 0x5563186a2629 in std::function<void (void*)>::operator()(void*) const /usr/include/c++/13.2.1/bits/std_function.h:591
    #76 0x5563186a2629 in wf::wl_listener_wrapper::emit(void*) ../src/wl-listener-wrapper.tpp:57
    #77 0x5563186a2629 in handle_wrapped_listener ../src/wl-listener-wrapper.tpp:10
    #78 0x79876fb2e01d in wl_signal_emit_mutable (/usr/lib/libwayland-server.so.0+0xa01d) (BuildId: d943a6a6069d1b5293dad7c842d26ce407ebdd19)
    #79 0x79876fb2e01d in wl_signal_emit_mutable (/usr/lib/libwayland-server.so.0+0xa01d) (BuildId: d943a6a6069d1b5293dad7c842d26ce407ebdd19)
    #80 0x79876f129635 in handle_pointer_button ../subprojects/wlroots/backend/libinput/pointer.c:84
    #81 0x79876f129635 in handle_libinput_event ../subprojects/wlroots/backend/libinput/events.c:173
    #82 0x79876f129635 in handle_libinput_readable ../subprojects/wlroots/backend/libinput/backend.c:59
    #83 0x79876f129635 in handle_libinput_readable ../subprojects/wlroots/backend/libinput/backend.c:49
    #84 0x79876fb2fae1 in wl_event_loop_dispatch (/usr/lib/libwayland-server.so.0+0xbae1) (BuildId: d943a6a6069d1b5293dad7c842d26ce407ebdd19)
    #85 0x79876fb302d6 in wl_display_run (/usr/lib/libwayland-server.so.0+0xc2d6) (BuildId: d943a6a6069d1b5293dad7c842d26ce407ebdd19)
    #86 0x55631869ce00 in main ../src/main.cpp:418
    #87 0x79876e957ccf  (/usr/lib/libc.so.6+0x25ccf) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
    #88 0x79876e957d89 in __libc_start_main (/usr/lib/libc.so.6+0x25d89) (BuildId: c0caa0b7709d3369ee575fcd7d7d0b0fc48733af)
    #89 0x5563186a1fd4 in _start (/usr/bin/wayfire+0xf3fd4) (BuildId: 367fb9237087e3e229e3b0b156e04c3b154d0c04)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV ../plugins/scale/scale.cpp:969 in wayfire_scale::layout_slots(std::vector<nonstd::observer_ptr<wf::toplevel_view_interface_t>, std::allocator<nonstd::observer_ptr<wf::toplevel_view_interface_t> > >)
==62206==ABORTING
(EE) failed to read Wayland events: Connection reset by peer

killown avatar Feb 16 '24 22:02 killown