ValveSoftware / gamescope

SteamOS session compositing window manager
Other
3.04k stars 198 forks source link

Segfault in gamescope causing UI crash #625

Open randombk opened 2 years ago

randombk commented 2 years ago

Forwarded from https://github.com/ValveSoftware/SteamOS/issues/853.

I'm encountering a rare and intermittent crash on Steam Deck related to gamescope. It's also possible this is related to bluetooth somehow - the crash has only occurred when I had a bluetooth keyboard connected. Hopefully the stack trace can be more informative.

Your system information

Please describe your issue in as much detail as possible:

The Steam interface sometimes crashes, causing the screen to blank for a second before displaying a "verifying installation" screen. The device then returns to the normal Steam UI. The experience looks like a reboot, but isn't actually - the OS itself continues to run, and produces the following error in journalctl:

https://gist.github.com/randombk/57ec55a2611e81f73c032014222e8d63

Steps for reproducing this issue:

Unknown repro steps. The issue appears random and has happened twice:

misyltoad commented 2 years ago

I feel I need to ask this because it's come up before, but have you installed any third-party plugin injectors to Steam?

My immediate hunch is that it's potentially a duplicate of https://github.com/Plagman/gamescope/issues/613

Are you able to install the gamescope-debug package and get a full backtrace? Thanks

Loun-Raccoon commented 2 years ago

I have a similar issue with my Steam Deck.

The main difference is that, so far, it only happened while I was playing a game, Elden Ring to be more specific. (EDIT : that's actually not completely accurate, it happened months and months ago on Hades but hasn't happened again since then, so I kind of forgot about this incident.)

Basically, the game would suddenly either straight-up crash my Steam Deck, causing it to display the "Verifying installation" screen (which very much looks like a reboot), or abruptly closes and send me back to my Steam library, only for it to crash when I press the Steam button.

I'm not using any Bluetooth devices, nor am I using any plugins. My Steam Deck is as "vanilla" as it can be.

I was initially suspecting a RAM defect, or maybe a battery one even (considering I sometimes have to press the Power button multiple times to power it on), but this issue makes me think that it might be something else.

ruineka commented 2 years ago

This also happens on non-deck hardware as well. Gamescope/Steam will seemingly crash at random which the DM will restart the session.

I don't have any logs currently because its rather rare for this to happen, but IIRC I got a log once and it didn't show anything particularly interesting other than wayland/x11 closed following some bad file descriptor errors.

misyltoad commented 2 years ago

If it happens again, please get a backtrace from coredumpctl with symbols from the gamescope-debug package.

BoukeHaarsma23 commented 2 years ago

This could be related: https://github.com/ChimeraOS/chimeraos/issues/418

jpdown commented 2 years ago

I am able to consistently reproduce this by running Flatpak mGBA as a non-steam shortcut and cycling between menu bar categories. My deck has no third-party modifications installed.

SteamOS Version: 20220817.1, 3.3.1

Backtrace:

#0  0x00007f0eebca5d22 in raise () at /usr/lib/libc.so.6
#1  0x00007f0eebc8f862 in abort () at /usr/lib/libc.so.6
#2  0x00007f0eebc8f747 in _nl_load_domain.cold () at /usr/lib/libc.so.6
#3  0x00007f0eebc9e616 in  () at /usr/lib/libc.so.6
#4  0x00005568fbbe4ecc in xwayland_surface_role_commit(wlr_surface*) (wlr_surface=0x5568fe5cfac0) at ../src/wlserver.cpp:112
#5  0x00005568fbc0a75a in surface_commit_state(wlr_surface*, wlr_surface_state*) (surface=0x5568fe5cfac0, next=0x5568fe5cfc48)
    at ../subprojects/wlroots/types/wlr_surface.c:457
#6  0x00007f0eebc30d4a in  () at /usr/lib/libffi.so.8
#7  0x00007f0eebc30267 in  () at /usr/lib/libffi.so.8
#8  0x00007f0eec691323 in  () at /usr/lib/libwayland-server.so.0
#9  0x00007f0eec68c5cc in  () at /usr/lib/libwayland-server.so.0
#10 0x00007f0eec68f1ca in wl_event_loop_dispatch () at /usr/lib/libwayland-server.so.0
#11 0x00005568fbbecc61 in wlserver_run() () at ../src/wlserver.cpp:885
#12 0x00005568fbbc7a35 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ../src/main.cpp:554