swaylock
swaylock copied to clipboard
Constant crashing after some unspecified amount of time
After leaving sway running for a while, swaylock will stop working properly. It will instantly crash with SIGBUS, and the backtrace is an indecipherable mess.
(gdb) bt full
#0 0x00007fbcfbdfcf50 in () at /usr/lib/libpixman-1.so.0
#1 0x00007fbcfbe6ee66 in pixman_fill () at /usr/lib/libpixman-1.so.0
#2 0x00007fbcfc610302 in () at /usr/lib/libcairo.so.2
#3 0x00007fbcfc64a38b in () at /usr/lib/libcairo.so.2
#4 0x00007fbcfc64ae1c in () at /usr/lib/libcairo.so.2
#5 0x00007fbcfc604301 in () at /usr/lib/libcairo.so.2
#6 0x00007fbcfc652d78 in () at /usr/lib/libcairo.so.2
#7 0x00007fbcfc609dfc in () at /usr/lib/libcairo.so.2
#8 0x00007fbcfc65fbf5 in cairo_paint () at /usr/lib/libcairo.so.2
#9 0x0000562775a49d58 in ()
#10 0x00007fbcfb9c7acd in () at /usr/lib/libffi.so.7
#11 0x00007fbcfb9c703a in () at /usr/lib/libffi.so.7
#12 0x00007fbcfc4f6fe4 in () at /usr/lib/libwayland-client.so.0
#13 0x00007fbcfc4f3563 in () at /usr/lib/libwayland-client.so.0
#14 0x00007fbcfc4f4cac in wl_display_dispatch_queue_pending () at /usr/lib/libwayland-client.so.0
#15 0x0000562775a48be1 in ()
#16 0x0000562775a4571e in ()
#17 0x00007fbcfc333b25 in __libc_start_main () at /usr/lib/libc.so.6
#18 0x0000562775a4620e in ()
sway version: sway version 1.6-009c58fc (May 9 2021, branch 'master')
wlroots: 0.13.0.r108.g8008d21f-1
swaylock: swaylock version 1.5-13-gbaa1ae9 (May 3 2021, branch 'master')
No idea how to debug this or anything. The backtrace points to an error with pixman and cairo, so I'll attempt to rebuild these with debug symbols.
https://0x0.st/-BGZ.txt
This may be a pixman bug or something, I am not sure.
Weird. SIGBUS typically means a write outside of an mmap'ed region bounds.
FWIW I get the same crash on swaybg as well, so it may be unrelated to either program
https://gitlab.freedesktop.org/pixman/pixman/-/issues/47 upstream bug report