-
Notifications
You must be signed in to change notification settings - Fork 342
sway 1.2 freezing (but not crashing) after monitors power back on #1857
Comments
Which graphics card are you using? The debug log is truncated and does not contain the full information. Are the last lines truly the last log entries? This could indicate an infinite loop inside the DRM connector scanning code. |
I'm experiencing this too, in 1.2-rc1. I have an intel hd graphics 620. I also have an AMD card if that helps (amdgpu driver). |
Me too, sometimes i can fix that unplugging a usb device and replugging it, idk whether it is related. |
@Emantor Yes, that is the very last log entry. Sway becomes totally unresponsive. I have an intel and nvidia card. Here's the output of drm_info: https://gist.github.com/jpeeler/fd4249f443618f0df168966f9a8d20c2. This will be quite an interesting bug if a USB removal is a workaround. Will try it the next time the error occurs. |
Which kernel versions are these? The log indicates a legacy backend which I do not expect for modern intel or amdgpu cards. |
Kernel version: 5.2.16-200.fc30.x86_64. Can you elaborate on what backend you are referring to? Just to clarify, there is no AMD in use here (I assume you meant nouveau). |
Inside wlroots the drm backend implements the |
Any progress on this? Sway is essentially unusable, i have to reboot every time i close my laptop lid. Can't even switch ttys. |
A stacktrace of the sway process would be helpful. Being stuck on a futex call seems very odd. |
Ok, apparently this issue doesn't occur as often as I thought, more like every 2-3 weeks. Anyway, here's the gdb output that's hopefully sufficient. I'm using the package in Fedora.
As far as reproducing on master, I will try to eventually do that. |
Turns out the issue for me is quite the opposite of what @jpeeler describes. If i set up swayidle to set dpms to off before going to sleep the issue dissapears. |
Transferred to wlroots, because I figured it's not directly a sway issue. Apparently we're calling |
Can probably fix this by checking if EGL is already current to prevent the infinite loop. |
Probably. I might run it by #dri-devel at some point and see if they think it's a Mesa issue by somewhat leaking their internal state without documenting it. |
Probably fixed by 6bb7639 |
I'm sorry to say that after running with the above mentioned patch the problem is still present.
|
I did not know lock details could be extracted from gdb: It was not obvious to me from previous comments that this is the case of a lock within the same thread attempting to lock again. Perhaps this is a mesa issue, mtx_init supports both normal and recursive initialization: https://github.com/mesa3d/mesa/blob/e101af8671a13a8eb8ce714e07294b73a99821cd/include/c11/threads_posix.h#L196 And I kid you not, while typing this report I've now seen kitty lock up and the backtrace is showing egl related calls...
Apparently the gdb commands aren't captured here and I already rebooted after the last deadlock, but I think everyone gets the idea. |
Is it possible that wlroots actually is an issue here? This is some backtrace output from a stuck kitty:
|
This problem is not easily reproducible, happens about twice a week or so. After the monitors are put to sleep (either directly
swaymsg "output * dpms off"
or in this case indirectly via swayidle) occasionally after trying to resume sway freezes. I've checked and sway has not crashed, but has simply become unresponsive:$ strace -p 3405
trace: Process 3405 attached
futex(0x55a29053b598, FUTEX_WAIT_PRIVATE, 2, NULL
Debug log gist: https://gist.github.com/jpeeler/d0c5a573b611a292bbaf8fb83c490bf5
The screens just remain powered on, but are just black.
wlroots has migrated to gitlab.freedesktop.org. This issue has been moved to:
https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1857
The text was updated successfully, but these errors were encountered: