-
-
Notifications
You must be signed in to change notification settings - Fork 649
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
crash on reconnecting display - hyprland/window #1783
Comments
it is not fixed with #1780 |
now it needs some more cycles disconnecting and reconnecting the monitor 2 until it crashes. [2022-11-10 20:33:17.404] [debug] hyprland window onevent with |
I have this also, but it is not a crash since there is no coredump, and with gdb there is a clean exit. Is there a way to debug this? |
Do you use the |
No, it seems to be in the wlr/workspaces module. I disabled all hyprland modules, and it happens when I add the wlr/workspaces, and does not happen without the wlr/workspaces. |
I am running into this as well when turning a monitor off and back on with multiple monitors. However, it doesn't happen when I set all-outputs to false. It will also show workspaces incorrectly after turning a monitor off and on with all-outputs to true. It will move the workspace on that monitor to another monitor, spawn a new workspace on the monitor that was turned back on. When this happens, the new workspace isn't shown in the wlr/workspaces except for the monitor that was recently turned on. Waybar will crash shortly after that |
Same problem here even having all-outputs setting to false. |
Same here with Waybar 0.9.16-2 under Sway 1.8.
|
i have an issue with the following setup:
2 Monitors - monitor 1: 1920x1200 (integrated display); external display: 5120x1440
Hyprland - latest git release
waybar - latest git release
module "hyprland/window" enabled
disconnect monitor 2 - wait a second that hyprland manages all the workspace-movements and resizes
reconnect monitor 2 - waybar crashes
waybar -l debug-Output: the last message is the first one after reconnecting monitor 2. waybar is visible on monitor 2 for half a second or so - then it crashes.
[2022-11-09 21:57:32.804] [debug] hyprland IPC received monitorremoved>>DP-4
[2022-11-09 21:57:32.804] [debug] Output removed: Dell Inc. Dell U4919DW
[2022-11-09 21:57:32.805] [debug] Workspace 7 created
[2022-11-09 21:57:32.806] [debug] Workspace 8 created
[2022-11-09 21:57:32.806] [debug] Workspace 9 created
[2022-11-09 21:57:32.807] [debug] Workspace 10 created
[2022-11-09 21:57:32.807] [debug] Workspace 6 changed to state 0
[2022-11-09 21:57:32.807] [debug] Workspace 5 changed to state 0
[2022-11-09 21:57:32.807] [debug] Workspace 9 changed to state 1
[2022-11-09 21:57:32.889] [info] Bar removed from output: DP-4
[2022-11-09 21:57:40.855] [debug] hyprland IPC received activewindow>>,
if i disable hyprland/window, it will not crash in my configuration.
i tried to locate the problem in the source-code - while doing it, i detected i'm not a c++-programmer ;)
maybe its an empty activewindow sent by hyprlandwm while moving the workspaces back to monitor 2.
Here is the stack-trace - maybe it helps someone:
the segfault is happen in hyprland/window.cpp in line 86: lastview = windowName;
std::__cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) (Unknown Source:0)
libstdc++.so.6!std::__cxx11::basic_string<char, std::char_traits, std::allocator >::assign( __str, std::__cxx11::basic_string<char, std::char_traits, std::allocator > * const this) (/usr/src/debug/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.h:1571)
libstdc++.so.6!std::__cxx11::basic_string<char, std::char_traits, std::allocator >::operator=(std::__cxx11::basic_string<char, std::char_traits, std::allocator > * const this, __str) (/usr/src/debug/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/basic_string.h:805)
waybar::modules::hyprland::Window::onEvent(waybar::modules::hyprland::Window * const this, const std::string & ev) (/home/erik/.cache/yay/waybar-hyprland-git/src/waybar-hyprland-git/src/modules/hyprland/window.cpp:86)
operator()(const struct {...} * const __closure, const std::string & ev) (/home/erik/.cache/yay/waybar-hyprland-git/src/waybar-hyprland-git/src/modules/hyprland/window.cpp:28)
std::__invoke_impl<void, waybar::modules::hyprland::Window::Window(const std::string&, const waybar::Bar&, const Json::Value&)::<lambda(const std::string&)>&, const std::__cxx11::basic_string<char, std::char_traits, std::allocator >&>(std::__invoke_other, struct {...} &)(struct {...} & __f) (/usr/include/c++/12.2.0/bits/invoke.h:61)
std::__invoke_r<void, waybar::modules::hyprland::Window::Window(const std::string&, const waybar::Bar&, const Json::Value&)::<lambda(const std::string&)>&, const std::__cxx11::basic_string<char, std::char_traits, std::allocator >&>(struct {...} &)(struct {...} & __fn) (/usr/include/c++/12.2.0/bits/invoke.h:111)
std::_Function_handler<void(const std::__cxx11::basic_string<char, std::char_traits, std::allocator >&), waybar::modules::hyprland::Window::Window(const std::string&, const waybar::Bar&, const Json::Value&)::<lambda(const std::string&)> >::_M_invoke(const std::_Any_data &, const std::__cxx11::basic_string<char, std::char_traits, std::allocator > &)(const std::_Any_data & __functor, __args#0) (/usr/include/c++/12.2.0/bits/std_function.h:290)
std::function<void (std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)>::operator()(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&) const(const std::function<void(const std::__cxx11::basic_string<char, std::char_traits, std::allocator >&)> * const this, __args#0) (/usr/include/c++/12.2.0/bits/std_function.h:591)
waybar::modules::hyprland::IPC::parseIPC(waybar::modules::hyprland::IPC * const this, const std::string & ev) (/home/erik/.cache/yay/waybar-hyprland-git/src/waybar-hyprland-git/src/modules/hyprland/backend.cpp:98)
operator()(const struct {...} * const __closure) (/home/erik/.cache/yay/waybar-hyprland-git/src/waybar-hyprland-git/src/modules/hyprland/backend.cpp:83)
std::__invoke_impl<void, waybar::modules::hyprland::IPC::startIPC()::<lambda()> >(std::__invoke_other, struct {...} &&)(struct {...} && __f) (/usr/include/c++/12.2.0/bits/invoke.h:61)
std::__invoke<waybar::modules::hyprland::IPC::startIPC()::<lambda()> >(struct {...} &&)(struct {...} && __fn) (/usr/include/c++/12.2.0/bits/invoke.h:96)
std:thread:_Invoker<std::tuple<waybar::modules::hyprland::IPC::startIPC()::<lambda()> > >::_M_invoke<0>(std::_Index_tuple<0>)(std:thread:_Invoker<std::tuple<waybar::modules::hyprland::IPC::startIPC()::<lambda()> > > * const this) (/usr/include/c++/12.2.0/bits/std_thread.h:252)
std:thread:_Invoker<std::tuple<waybar::modules::hyprland::IPC::startIPC()::<lambda()> > >::operator()(void)(std:thread:_Invoker<std::tuple<waybar::modules::hyprland::IPC::startIPC()::<lambda()> > > * const this) (/usr/include/c++/12.2.0/bits/std_thread.h:259)
std:thread:_State_impl<std:thread:_Invoker<std::tuple<waybar::modules::hyprland::IPC::startIPC()::<lambda()> > > >::_M_run(void)(std:thread:_State_impl<std:thread:_Invoker<std::tuple<waybar::modules::hyprland::IPC::startIPC()::<lambda()> > > > * const this) (/usr/include/c++/12.2.0/bits/std_thread.h:210)
libstdc++.so.6!std::execute_native_thread_routine(void * __p) (/usr/src/debug/gcc/libstdc++-v3/src/c++11/thread.cc:82)
libc.so.6![Unknown/Just-In-Time compiled code] (Unknown Source:0)
The text was updated successfully, but these errors were encountered: