Hello,
I'm reporting a wayneko crash that occurs at the moment that a display
output (my laptop screen) is turned on after being turned off (via
wlr-randr --toggle) in a wayland session. I can't confirm yet if the
crash also occurs when waking up from sleep or hibernation. To note,
swaybg also reacts to this off-to-on event with a flicker but manages
to survive without crashing.
Here is the backtrace thingy that wayneko outputted upon crash:
```
Attempting to get backtrace:
wayneko(+0x3e3d)[0x55fa4d4ece3d]
/usr/lib/libc.so.6(+0x3e710)[0x7fa6f8241710]
/usr/lib/libwayland-client.so.0(wl_proxy_marshal_flags+0xa3)[0x7fa6f849cb93]
wayneko(+0x39f7)[0x55fa4d4ec9f7]
wayneko(+0x564c)[0x55fa4d4ee64c]
wayneko(+0x6543)[0x55fa4d4ef543]
/usr/lib/libc.so.6(+0x27cd0)[0x7fa6f822acd0]
/usr/lib/libc.so.6(__libc_start_main+0x8a)[0x7fa6f822ad8a]
wayneko(+0x33b5)[0x55fa4d4ec3b5]
Segmentation fault (core dumped)
```
P.S. i'm new to this mailing list stuff; hope i'm doing it right
Regards,
Ralph Torres
Hi,
thanks for the report, I'll look into it sometime this week.
On Wed Nov 1, 2023 at 12:17 PM CET, Ralph Torres wrote:
> P.S. i'm new to this mailing list stuff; hope i'm doing it right
You did! :)
Just remember to always Use "reply-all" and you'll be fine. But don't
worry too much about it.
Friendly greetings,
Leon Henrik Plickat
Hey,
took me some time, but this should be fixed now. Wayneko should now
correctly (and without crashing) exit should be the output the cat is
on be disconnected. Use the --survive-close flag if you want the cat
to migrate to another output.
--
Friendly greetings,
Leon Henrik Plickat
On Fri Nov 17, 2023 at 2:29 PM UTC, Leon Henrik Plickat wrote:
> Hey,>> took me some time, but this should be fixed now. Wayneko should now> correctly (and without crashing) exit should be the output the cat is> on be disconnected. Use the --survive-close flag if you want the cat> to migrate to another output.
Thank you for the fix! The flag seems to work as intended. However, artifacts
from the previously rendered surface(s) remain on the display below the
newly created surface (at least in my case of just one laptop display). These
pixels are cleared when the current surface updates them. Here is an example
of what I mean:
https://0x0.st/Hvgk.pnghttps://0x0.st/Hvgd.png
Perhaps some cleanup mechanism is necessary in recreate_surface_on_close()?
Cheers