ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.24k stars 175 forks source link

Powering on Steam Controller crashes Steam #10203

Open AnalogBot opened 12 months ago

AnalogBot commented 12 months ago

Your system information

Please describe your issue in as much detail as possible:

This is an intermittent issue that I have been experiencing for a couple of months on both stable & beta clients. Previously I did not regularly use this controller.

Every day or two I run into a Steam client crash after I power on my Steam Controller. I power on the Steam Controller, the Steam Library UI becomes unresponsive, and after a few minutes Steam client crashes. The UI elements in the library are mostly unresponsive. If I click on a game, or scroll on an already open game page, I'll see the steam logo surrounded by a spinning circle. Clicking the play button, or trying to open a game's configuration page results in nothing happening at all. During this time, I can navigate to other steam pages like the Store, or Community, and they load and appear to function normally. After a few minutes, Steam crashes without displaying any errors or messages.

After the crash, I can start steam, but usually the UI will be in the same state, followed by another crash. Generally I'll have to restart Steam a few times to get past the issue. Sometimes I am able to trigger the issue by powering on the controller before launching the Steam client.

I was able to intentionally reproduce the issue today by power cycling the controller a few times until the crash happened. Pausing for a short time in between powering the controller on or off. During my normal use, this happens over the course of hours.

Steam logs attached, gathered directly after the crash. dmesg during the test: https://pastebin.com/MtTt8ikB One line here sticks out. [Nov 8 00:17] traps: steamwebhelper[88415] trap invalid opcode ip:7ff7730c035b sp:7ffeb352aa90 error:0 in libcef.so[7ff76eeef000+7770000]

My Steam Controller is connected via bluetooth and running the latest firmware. I was unable to reproduce this behavior with a wired USB Xbox 360 controller.

Steps for reproducing this issue:

  1. Steam is already open.
  2. Power cycle the controller a few times. Timing doesn't seem to matter. For the purpose of this report I waited for 30s - 1min in one state before changing (e.g. power on, wait, power off, wait, power on, ect). In typical usage, this process happens over the course of a day or two (Power on, play game, power off, ect).
  3. Library UI becomes unresponsive. Cannot launch games, cannot open game properties (nothing happens). Clicking on a different game displays a Steam logo surrounded by a spinning circle. Other Steam UI pages seem to continue working normally (Store, Community, Profile).
  4. After a few minutes, Steam closes/crashes without displaying any errors or messages.
KvanQuilst commented 7 months ago

I can confirm that this is still happening on Arch, Steam build version 1709846872, connecting a Steam Controller via BLE. Launching Steam via the command line reveals that a thread or two is stalling on a pipe perhaps:

src/clientdll/steamengine.cpp (2646) : Assertion Failed: CSteamEngine::BMainLoop appears to have stalled > 15 seconds without event signalled
src/clientdll/steamengine.cpp (2646) : Assertion Failed: CSteamEngine::BMainLoop appears to have stalled > 15 seconds without event signalled
assert_20240324085228_37.dmp[16492]: Uploading dump (out-of-process)
/tmp/dumps/assert_20240324085228_37.dmp
assert_20240324085228_37.dmp[16492]: Finished uploading minidump (out-of-process): success = yes
assert_20240324085228_37.dmp[16492]: response: CrashID=bp-5049432f-ace5-436e-8e92-618292240324
assert_20240324085228_37.dmp[16492]: file ''/tmp/dumps/assert_20240324085228_37.dmp'', upload yes: ''CrashID=bp-5049432f-ace5-436e-8e92-618292240324''
src/common/pipes.cpp (883) : fatal stalled cross-thread pipe.
src/common/pipes.cpp (883) : fatal stalled cross-thread pipe.
src/common/pipes.cpp (883) : Fatal assert; application exiting
src/common/pipes.cpp (883) : Fatal assert; application exiting
03/24 08:55:07 Init: Installing breakpad exception handler for appid(steam)/version(1709846872)/tid(15092)
assert_20240324085507_40.dmp[17293]: Uploading dump (out-of-process)
/tmp/dumps/assert_20240324085507_40.dmp

My logs: steam_logs.tar.gz Dmesg didn't spout out anything useful related to the controller or Steam.

rommeswi commented 7 months ago

Same here.

aidanhadley commented 4 months ago

Want to confirm that this issue is prevalent across all current Fedora and Fedora-based distros (tested on F39, F40 and Bazzite). Also tested on Arch Linux.

Seil0 commented 4 months ago

I have the same issue with my Steam Deck on SteamOS 3.6.6 Preview. The steam client crashes whenever i try to pair/connect my steam controller.

aidanhadley commented 4 months ago

Just tested this on a friend's SD. It immediately crashed Steam, but then starting working after? It's very strange that it just started working...

Mhynlo commented 4 months ago

I am having the issue on Fedora Silverblue. The Bluez version is 5.76. It is working on my Steam Deck OS version 3.5.19. The Bluez version is 5.66.

Toadlover404Git commented 3 months ago

Still having the issue on my Arch PC (Bluez 5.77) but not on my Deck (Bluez 5.6x). Downgrading Bluez did nothing.

SoTotallyToby commented 3 months ago

Exactly the same issues here as well.

Hugo2607 commented 2 months ago

I'm running into a similar issue, also on Arch. However, I'm using the USB dongle instead of Bluetooth.

For me it seems to be related to the in-game overlay:

Steps to reproduce:

  1. Launch a game in desktop mode (not in Big Picture mode)
  2. After launching the game, power on the Steam Controller
  3. Try to open the in-game overlay
  4. Steam will crash on either step 2 or step 3

This seems to crash Steam roughly half of the time for me. I'm not sure if it happens in Big Picture mode, I need to do more testing to rule that out.

Steam version: 1721173382 Proton version: GE-Proton-9-11

Log snippet:

GameOverlay: started '/home/hugo/.local/share/Steam/ubuntu12_32/gameoverlayui' (pid 27089) for game process 27001
09/03 21:36:24 minidumps folder is set to /tmp/dumps
09/03 21:36:24 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(20240716232148)/tid(27089)
09/03 21:36:24 Init: Installing breakpad exception handler for appid(gameoverlayui)/version(1.0)/tid(27089)
wine: setpriority -10 for pid -1 failed: 3
wine: setpriority -10 for pid -1 failed: 3
crash_20240903213647_68.dmp[27198]: Uploading dump (out-of-process)
/tmp/dumps/crash_20240903213647_68.dmp
crash_20240903213647_68.dmp[27198]: Finished uploading minidump (out-of-process): success = yes
crash_20240903213647_68.dmp[27198]: response: CrashID=bp-c9141d2c-827a-4fc6-a771-2dbcc2240903
crash_20240903213647_68.dmp[27198]: file ''/tmp/dumps/crash_20240903213647_68.dmp'', upload yes: ''CrashID=bp-c9141d2c-827a-4fc6-a771-2dbcc2240903''
/home/hugo/.local/share/Steam/steam.sh: line 868: 21436 Segmentation fault      (core dumped) "$STEAMROOT/$STEAMEXEPATH" "$@"
src/common/pipes.cpp (883) : fatal stalled cross-thread pipe (pipe is disconnected).
src/common/pipes.cpp (883) : Fatal assert; application exiting