Closed glyh closed 7 months ago
I just checked it out on hyprland-git v0.36.0-25-g7ce781e8, this issue persists.
I may reproduce this randomly with steam as well. Especially when I set
windowrulev2 = stayfocused, title:^()$,class:^(steam)$
windowrulev2 = minsize 1 1, title:^()$,class:^(steam)$
there's a high chance to trigger with steam.
Also now experiencing this after a update a few days or so ago, with Steam even as a tiled window, and with these window rules which are unfortunately required to make Steam's dropdowns somewhat usable. Simply hovering over the dropdowns at the top here can cause Hyprland to freeze and never recover;
Running Hyprland through SDDM, unable to get any logs as once frozen Hyprland doesn't respond to any quit dispatch and I have to power off my computer with the button clearing /tmp. If there's a way to set the log directory to a persistent location that I'm unaware of, let me know and I'll try again to grab them.
I'm also observing this issue with Steam, and it hangs Hyprland in a way that doesn't appear to be recoverable. I have additionally noticed that as soon as the hang happens, my case fans ramp up significantly, so I can only assume there's some kind of death loop being triggered (I've waited up to a minute or so and nothing seems to change or self-resolve). Running Steam with the -cef-disable-gpu
option seems to help only slightly (reduce the likelihood of a hang). I do have the stayfocused Steam window rule mentioned above in my config.
Things that seem to trigger it:
One other odd behavior I've observed only since this issue began is that on Steam startup, the main app window freaks out and rapidly "teleports" between my two displays before eventually settling down. The friends list also likes to spawn either in the wrong location or with 0 (or close to) width and height on occasion, but this is inconsistent. Usually I just don't see it at all. I do have window rules to position the friends list, so they could be to blame, but I should mention that they were working as expected prior to this issue.
I checked the Steam for Linux issues and based on what's been posted there recently, it does appear that this is a somewhat problematic release for them, and these aren't isolated issues. I think the value of investigating from the Hypr side is that there's an opportunity to increase overall stability if we can find a cause and resolution; ideally, one misbehaving app shouldn't be able to bring down the entire compositor. As far as I know, there is no real way to control when or if Steam self-updates, so time probably isn't on our side if we want to try and catch this happening with logging or instrumentation running.
I'm willing to do experimentation while collecting logs, but I'll need some guidance on what specifically to do that won't suffer destruction on a forced reboot due to /tmp being cleared. I don't use a login manager at the moment, just manually run Hyprland at login, if that matters.
Hyprland, built from branch HEAD at commit 84ab8d11e8951a6551d1e1bf87796a8589da6d47 (props: bump ver to 0.35.0).
Date: Mon Feb 5 01:59:02 2024
Tag: v0.35.0
flags: (if any)
System Information:
System name: Linux
Node name: cube
Release: 6.7.6-arch1-2
Version: #1 SMP PREEMPT_DYNAMIC Thu, 29 Feb 2024 19:08:51 +0000
GPU information:
0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c4) (prog-if 00 [VGA controller])
os-release: NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="38;2;23;147;209"
HOME_URL="https://archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
LOGO=archlinux-logo
plugins:
Guess we agree this is probably not Nvidia related as it's reproduced both on AMD and Nvidia.
Yep, that definitely appears to be the case. On this particular box, I only use the iGPU on a Ryzen 9 7900.
seriously, nobody posted a log?
As I already said, you can't post a log as this freeze everything. The onlything I can do is hold the power button. And once you reboot nothing is in hyprland logs, it seems to think it's just fine.
enable stdout logs in the config and run Hyprland > ~/logs.txt
?
Let me try it.
I just test it again, and I can no longer reproduce the bug. Probably due to updates of some other softwares on my system. I guess you'd have to ask other people for a reproduce.
I managed to replicate while capturing stdout, although interestingly this time it was able to recover after about ~30 seconds or so. After recovering though, it triggered again simply just by clicking on the window, not even with the dropdown stuff. Hyprland-Log.log
Seems to be a LOT of spam relating to getting Steam's window rules.
fwiw all of steam's menus work for me without any windowrules.
can't repro even with the window rules.
Would be helpful to find what is spamming those updates.
You could ssh to a running hyprland, sudo gdb attach $(pidof Hyprland)
, cause the hang, then break ConfigManager::getMatchingRules
and when it breaks, bt -full
can't repro even with the window rules.
Would be helpful to find what is spamming those updates.
You could ssh to a running hyprland,
sudo gdb attach $(pidof Hyprland)
, cause the hang, thenbreak ConfigManager::getMatchingRules
and when it breaks,bt -full
Tried this by running the commands in a seperate TTY, ultimately once attaching Hyprland would do one of two things;
Tried by starting Hyprland in both with SDDM and in a TTY.
In case your interested in the log file of Hyprland when I try to attach; Second-Log.log
you cannot switch tty, you have to use ssh
you cannot switch tty, you have to use ssh
Same Problem - The second I run the attach command from a ssh connection from my laptop, Hyprland on my desktop freezes. If I exit gdb it catches back up and continues. Sorry if I'm being dumb and doing something obviously wrong still - Haven't had to do this stuff before.
well gdb pauses the process for you to debug, lol. do c
to continue and ctrl+c to pause it again when it freezes
I did not know this lmao. Log starts when I paused from the freeze starting.
Thread 1 "Hyprland" received signal SIGINT, Interrupt.
0x00007ca24d5190bf in poll () from /usr/lib/libc.so.6
(gdb) break ConfigManager::getMatchingRules
Function "ConfigManager::getMatchingRules" not defined.
Make breakpoint pending on future shared library load? (y or [n]) y
Breakpoint 1 (ConfigManager::getMatchingRules) pending.
(gdb) c
Continuing.
Thread 1 "Hyprland" received signal SIGUSR1, User defined signal 1.
0x00007ca24d4954c4 in fwrite () from /usr/lib/libc.so.6
(gdb) bt -full
#0 0x00007ca24d4954c4 in fwrite () at /usr/lib/libc.so.6
#1 0x00007ca24d7489e5 in std::basic_streambuf<char, std::char_traits<char> >::sputn
(__n=59, __s=0x5ec009d4b5f0 "[LOG] Searching for matching rules for steam (title: Steam)", this=<optimized out>)
at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/streambuf:457
#2 std::__ostream_write<char, std::char_traits<char> >
(__n=59, __s=0x5ec009d4b5f0 "[LOG] Searching for matching rules for steam (title: Steam)", __out=...)
at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/ostream_insert.h:53
__put = <optimized out>
#3 std::__ostream_insert<char, std::char_traits<char> >
(__out=..., __s=0x5ec009d4b5f0 "[LOG] Searching for matching rules for steam (title: Steam)", __n=59)
at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/ostream_insert.h:104
__w = 0
__cerb = {_M_ok = true, _M_os = @0x7ca24d8774c0}
#4 0x00005ec007d1397e in CConfigManager::getMatchingRules(CWindow*) ()
#5 0x00005ec007cee40d in CWindow::updateDynamicRules() ()
#6 0x00005ec007caefb9 in CCompositor::focusWindow(CWindow*, wlr_surface*) ()
#7 0x00005ec007da59a0 in CInputManager::mouseMoveUnified(unsigned int, bool) ()
#8 0x00005ec007d56912 in Events::listener_configureX11(void*, void*) ()
#9 0x00005ec007d6e952 in handleWrapped(wl_listener*, void*) ()
#10 0x00007ca24ddab01e in wl_signal_emit_mutable () at /usr/lib/libwayland-server.so.0
#11 0x00007ca24de92aaf in ??? () at /usr/lib/libwlroots.so.13032
#12 0x00007ca24ddacae2 in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0
#13 0x00007ca24ddad2d7 in wl_display_run () at /usr/lib/libwayland-server.so.0
#14 0x00005ec007cacd38 in CCompositor::startCompositor() ()
#15 0x00005ec007c94437 in main ()
And naturally this time it was a lot harder to replicate, having to really force it, and would only freeze for a few seconds as well... bugs like this suck.
Also noticing a ton of logs while frozen showing threads constantly opening and closing.
[New Thread 0x7ca20f8006c0 (LWP 401030)]
[Thread 0x7ca20f8006c0 (LWP 401030) exited]
[New Thread 0x7ca20f8006c0 (LWP 401031)]
[Thread 0x7ca20f8006c0 (LWP 401031) exited]
[New Thread 0x7ca218e006c0 (LWP 401032)]
[Thread 0x7ca218e006c0 (LWP 401032) exited]
[New Thread 0x7ca218e006c0 (LWP 401033)]
[Thread 0x7ca218e006c0 (LWP 401033) exited]
[New Thread 0x7ca20f8006c0 (LWP 401034)]
[Thread 0x7ca20f8006c0 (LWP 401034) exited]
[New Thread 0x7ca20f8006c0 (LWP 401035)]
[Thread 0x7ca20f8006c0 (LWP 401035) exited]
[New Thread 0x7ca218e006c0 (LWP 401036)]
[Thread 0x7ca218e006c0 (LWP 401036) exited]
[New Thread 0x7ca218e006c0 (LWP 401037)]
[Thread 0x7ca218e006c0 (LWP 401037) exited]
[New Thread 0x7ca218e006c0 (LWP 401038)]
[Thread 0x7ca218e006c0 (LWP 401038) exited]
These were spamming my terminal while unpaused but frozen. Once the freeze was over it would stop.
Will give it a shot tomorrow, just remembered I need to be up in 4 hours :) Thanks for all the help so far.
As I already said, you can't post a log as this freeze everything. The onlything I can do is hold the power button. And once you reboot nothing is in hyprland logs, it seems to think it's just fine.
Of course you can. This Hyprland freeze doesn't freeze the PC itself, I can SSH into it and run systemctl reboot
.
I can share a log, only need to see how to generate one :D
hyprland | tee
or something?
This issue freezes the GUI only. I reproduced this via Steam and my UI was stuck, however for example an audio stream from Youtube video continued to play.
To share the log, you need add this block to your hyprland.conf
:
debug {
disable_time = false
enable_stdout_logs = true
}
and then restart the Hyprland session:
$ Hyprland > ~/hyprland_session.log
Output: hypr.log
As I already said, you can't post a log as this freeze everything. The onlything I can do is hold the power button. And once you reboot nothing is in hyprland logs, it seems to think it's just fine.
Of course you can. This Hyprland freeze doesn't freeze the PC itself, I can SSH into it and run
systemctl reboot
.I can share a log, only need to see how to generate one :D
hyprland | tee
or something?
I don't know at this point as I can't reproduce it. Someone else could so I still leave this open.
I have this issue on my laptop, literally just happened right now. Here are logs of my previous session:
[LOG] Searching for matching rules for steam (title: Steam)
[LOG] Window rule minsize 1 1 -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> title:(Steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> title:(Steam) matched [Window 5f809d362b70: title: "Steam"]
[wlr] [xwayland/xwm.c:1653] unhandled X11 event: FocusOut (10)
[wlr] [xwayland/xwm.c:866] unhandled X11 property 268 (WM_STATE) for window 29360185
[LOG] Searching for matching rules for steam (title: Steam)
[LOG] Window rule minsize 1 1 -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> title:(Steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> title:(Steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Searching for matching rules for steam (title: Steam)
[LOG] Window rule minsize 1 1 -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> title:(Steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> title:(Steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Searching for matching rules for steam (title: Steam)
[LOG] Window rule minsize 1 1 -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> title:(Steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> title:(Steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Searching for matching rules for steam (title: Steam)
[LOG] Window rule minsize 1 1 -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> initialClass:(steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule nodim -> title:(Steam) matched [Window 5f809d362b70: title: "Steam"]
[LOG] Window rule noblur -> title:(Steam) matched [Window 5f809d36%
Nothing of use, just window rule stuff. I can't get into TTY, I can't do anything. I have to press and hold power button to shutdown and reboot manually.
thanks, try this: patch.txt
For me this segfaults as soon as I try to open a new window with rofi (eg. i open rofi, type in an app like wezterm, press enter -> freezes)
Also, I can reproduce the issue on Arch's extra/hyprland
(with the windowrule spam in logs and freezing) but not aur/hyprland-git
.
I can't post my logs rn, but I am also running into this issue on Arch's extra/hyprland
0.35.
Wayland session freezes, cannot switch to TTY--but I still get audio and mic works to talk in discord or whatever. Key presses don't seem to send though (tried launching a terminal blindly to reboot, didn't work). But I can SSH in from another system and mess around... pkilling TTY1 sends my desktop back to my display manager without the need to reboot.
When I ssh'd in, I noticed that htop was showing my CPU utilization acting weird... single threads bouncing from 10% util to 98-100% randomly.
I have steam installed directly from the multilib repo (haven't tested the flatpak), I am still using the windowrules, and I am running two monitors (main monitor is 1440p 165hz, secondary is 1080p 60hz) with a RX 6800XT. This issue has been extremely reproducible when hovering over steam drop down menus. Trying to go to game library instantly locks up hyprland. I think I am able to avoid the freeze by starting steam and opening a game with nothing open on my other monitor.
I was away for over a week, returned on Monday and ran a system update and this issue has been making it almost impossible to use steam ever since.
I wasn't going to post an issue because I didn't have time to test AUR hyprland-git
and I knew Arch's extra/hyprland
was running behind--but since I saw this open issue I thought I'd chime in.
I will ignore your post as it starts with "0.35" which is very old.
my bad, that was an oops.
Try this patch: patch.txt
This solved my problem with Steam freezing, but now when I open Rofi I need to “click” to get its focus.
edit: it fixed itself sorry
I don't care about the latter, stop using x11 launchers. :)
Hyprland Version
System/Version info
```sh Hyprland, built from branch HEAD at commit 84ab8d11e8951a6551d1e1bf87796a8589da6d47 (props: bump ver to 0.35.0). Date: Mon Feb 5 01:59:02 2024 Tag: v0.35.0 flags: (if any) System Information: System name: Linux Node name: mechrevo Release: 6.7.6-arch1-2 Version: #1 SMP PREEMPT_DYNAMIC Thu, 29 Feb 2024 19:08:51 +0000 GPU information: 00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P GT1 [UHD Graphics] [8086:46a3] (rev 0c) (prog-if 00 [VGA controller]) 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation AD107M [GeForce RTX 4060 Max-Q / Mobile] [10de:28a0] (rev a1) (prog-if 00 [VGA controller]) os-release: NAME="Arch Linux" PRETTY_NAME="Arch Linux" ID=arch BUILD_ID=rolling ANSI_COLOR="38;2;23;147;209" HOME_URL="https://archlinux.org/" DOCUMENTATION_URL="https://wiki.archlinux.org/" SUPPORT_URL="https://bbs.archlinux.org/" BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues" PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/" LOGO=archlinux-logo plugins: ```Bug or Regression?
Bug
Description
When clicking sync data button on thorium browser everything freezes, no crash log as hyprland loops in some error, this is some parts I copied from stdout running hyprland inside xfce.
Note this has to be done after setting thorium into floating mode as o.w. I can't even click the sync button as the window shakes a lot.
How to reproduce
Described above
Crash reports, logs, images, videos