-
-
Notifications
You must be signed in to change notification settings - Fork 877
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
Hyprland crashes when the monitor is turned off. #2646
Comments
Same issue.
|
@mabequinho could you attach the crash log? |
I've been having the same issue. I'm on Arch using hyprland-git from the AUR, but I get the same problem when I use the release version. I've attached my crash report. |
bisect? is this a regression? @NotAShelf garbage crash report (nix moment) @mathologist wlroots issue perhaps? doesn't seem to have any hyprland frames. Might be memory faults as well. |
Regression, don't think so. It works for a monitor and doesn't for another |
Can reproduce on -git, let me know if there's anything I can do to help with debugging (warning: I'm retar)ed I think this is a regression but from a super long time ago because this didn't used to happen but I've been experiencing it for a month at least |
Can say that the same happens here on a git version from the chaotic aur. When monitor is turned off Hyprland seems to just log out and the system enters SDDM. Official hyprland version from Arch's repositories works fine though as far as I can tell. |
guys who installed -git package |
I use the package in the Arch archive, and started to see the same issue after updating to 0.27.0-1 earlier today. |
Confirmed that after rolling back to 0.26.0-3 the issue can't be reproduced any more. If you have a monitor connected via DP, besides switching on/off the monitor, you can also reproduce the issue by
|
|
@vaxerski:
Also after reverting this commit from v0.27.0, the issue can no longer be reproduced. |
To add another data point, I'm suffering from the same issue. When I |
patch.txt |
Nope, doesn't work... |
Seems to work for me! Just had to edit the patch to remove the (seemingly) unnecessary diff on the |
git does that |
Yeah, I figured. Still had to remove it for it to work on NixOS, since the wlroots module doesn't exist then, but it's not a big deal. Just thought I'd mention it |
pushed in 3229862, lmk |
Unfortunately, this didn't fix it for me. I compiled it myself from git and ran it with the default config in case it's something else. I'm wondering if I have a different problem. I don't know if it's a memory issue since it's completely consistent and did only start for me since upgrading to 0.27. I've attached my log and crash report, just in case it helps. |
Seems like it was just a red herring for me. I hit the issue again, with the exact same crash report as @mathologist's |
Hi @vaxerski, Both m->output and m->m_bEnable are valid when the issue happens hence the patch doesn't prevent the issue from happening. Since this seems to be happened when the monitor is back, it feels reasonable. Though I also found this in the log:
while
Wondering if there's a race between CHyprXWaylandManager::setXWaylandScale and something else. |
Both |
can someone get that crash report from a debug build? |
Not sure if I did it correctly, Hyprland did start with a message saying that it's using a default config
|
doesn't help that the backtrace is fucked. What does |
|
memory corruption, hm |
can someone build with ASan and reproduce? Looks like some UAF or shit
once it crashes, look for a file called |
Although the build seems to be correct:
I'm unable to find any ASan log after it crashes... |
did you set the envvar? Launch from the tty as well, maybe it doesn't propagate. If it won't, the logs will be printed to stderr. you can do a |
I ran |
odd. try removing the env and watching stderr then. You can also see the coredump stacktrace, if it has no ASan frames, it might indicate asan wasnt built right |
Stacktrace with LLDB |
work on this in #2733 |
seems to still crash similarly, though frame 5 is 0x0 (null pointer?) EDIT: whoops, used the wrong rev.. testing again |
With the correct rev, does not change much #0 0x00007f98654a1a8c in __pthread_kill_implementation () from /nix/store/ayg065nw0xi1zsyi8glfh5pn4sfqd8xg-glibc-2.37-8/lib/libc.so.6
No symbol table info available.
#1 0x00007f9865452c86 in raise () from /nix/store/ayg065nw0xi1zsyi8glfh5pn4sfqd8xg-glibc-2.37-8/lib/libc.so.6
No symbol table info available.
#2 0x00007f986543c8ba in abort () from /nix/store/ayg065nw0xi1zsyi8glfh5pn4sfqd8xg-glibc-2.37-8/lib/libc.so.6
No symbol table info available.
#3 0x00000000004ac12d in handleUnrecoverableSignal (sig=11) at ../src/Compositor.cpp:35
No locals.
#4 <signal handler called>
No symbol table info available.
#5 0x00007f98661864c4 in wl_list_insert () from /nix/store/3y9pj04f7xfwfs6h9rvgd70cqi105g54-wayland-1.22.0/lib/libwayland-server.so.0
No symbol table info available.
#6 0x00007f9866181a13 in wl_signal_emit_mutable () from /nix/store/3y9pj04f7xfwfs6h9rvgd70cqi105g54-wayland-1.22.0/lib/libwayland-server.so.0
No symbol table info available.
#7 0x00007f98660a56b1 in output_bind (wl_client=0x2158600, data=0x24818c0, version=1, id=5) at ../types/output/output.c:128
output = 0x24818c0
resource = 0x21d9890
evt = {output = 0x24818c0, resource = 0x21d9890}
#8 0x00007f98658fda3a in ffi_call_unix64 () from /nix/store/v4gixcxxx0dwy8s8l32i63cbnz16zn5d-libffi-3.4.4/lib/libffi.so.8
No symbol table info available.
#9 0x00007f98658fc935 in ffi_call_int () from /nix/store/v4gixcxxx0dwy8s8l32i63cbnz16zn5d-libffi-3.4.4/lib/libffi.so.8
No symbol table info available.
#10 0x00007f98658fd518 in ffi_call () from /nix/store/v4gixcxxx0dwy8s8l32i63cbnz16zn5d-libffi-3.4.4/lib/libffi.so.8
No symbol table info available.
#11 0x00007f9866185886 in wl_closure_invoke () from /nix/store/3y9pj04f7xfwfs6h9rvgd70cqi105g54-wayland-1.22.0/lib/libwayland-server.so.0
No symbol table info available.
#12 0x00007f9866180c4b in wl_client_connection_data () from /nix/store/3y9pj04f7xfwfs6h9rvgd70cqi105g54-wayland-1.22.0/lib/libwayland-server.so.0
No symbol table info available.
#13 0x00007f98661838f2 in wl_event_loop_dispatch () from /nix/store/3y9pj04f7xfwfs6h9rvgd70cqi105g54-wayland-1.22.0/lib/libwayland-server.so.0
No symbol table info available.
#14 0x00007f9866181455 in wl_display_run () from /nix/store/3y9pj04f7xfwfs6h9rvgd70cqi105g54-wayland-1.22.0/lib/libwayland-server.so.0
No symbol table info available.
#15 0x00000000004b0411 in CCompositor::startCompositor (this=0x17fa650) at ../src/Compositor.cpp:479
No locals.
#16 0x00000000005a8bcb in main (argc=<optimized out>, argv=<optimized out>) at ../src/main.cpp:96
cmd = "/nix/store/dw4s4y799gnqj7zc24zc55s7zl6bjy15-hyprland-debug-0.27.0+date=2023-07-17_24327b7/bin/Hyprland --config /etc/xdg/hyprland.conf"
configPath = "/etc/xdg/hyprland.conf" |
Attached is WAYLAND_DEBUG=1 output |
we have already estabilished it's a memory issue, saying that again won't help much. You should move to #2733 and do tests there. |
gh automatically closed with #2733 but I am still waiting for some1 to report back |
Built one with the main branch (commit Backtrace is different though:
|
brother b156a96 is 2 days old |
Interesting... My main repo is up-to-date while the clone I built against is not... Let me try again. |
The issue appears to be resolved for me, no longer crashes when I turn my monitors off and back on. |
Made a clean build with |
Confirming here as well. Now if it was possible for the clients to survive KVM switch as well, then it would be perfect, should I open new issue for this? |
Building master fixes the crash back to TTY for me but then I get back a desktop with the default wallpaper, no waybar, and no response (except for the Super+m to quit). |
Same experience, once the last monitor turns of it wishes me good luck with the unsupported state and soft locks as outlined by @trougnouf. On sway I used turning off the last monitor as a trigger to go to suspend, as loginctl config would take over under the Lid-Closed-While-Undocked case (dunno the name right now). I think that's sensible behaviour. For now I'll trigger the suspend manually, just have to figure out how to prevent instant wake-up (that's on my config tho). |
https://pastebin.com/D4V1nERY seemingly same issue, whenver monitor is off in anyway, pc suspend, monitor standby or straight turned off. All i get is hyprchan, none of the previous opened programs, seemingly only default config. |
please stop necrobumping this issue. if it's still a problem, open a new issue after making sure you are on the latest possible version. |
Hyprland crashes whenever I turn off my monitor, or from what I understand it crashes exactly when it's powered back on.
The monitor is properly configured in config, plugged via HDMI. Other HDMI monitor works fine.
Crash Log
$ hyprctl monitors Monitor HDMI-A-1 (ID 0): 1920x1080@60.000000 at 0x0 description: ASUSTek COMPUTER INC ASUS VP249 R1LMTF049118 (HDMI-A-1) make: ASUSTek COMPUTER INC model: ASUS VP249 serial: R1LMTF049118 active workspace: 1 (1) special workspace: 0 () reserved: 64 0 0 0 scale: 1.00 transform: 0 focused: yes dpmsStatus: 1 vrr: 0
According to the crashlog, the monitor is removed once it's powered off.
[LOG] Monitor HDMI-A-1 layers arranged: reserved: 0.000000 0.000000 0.000000 0.000000 [LOG] Removed monitor HDMI-A-1!
The text was updated successfully, but these errors were encountered: