ValveSoftware / steam-for-linux

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

Strange Steam flickering and crash with the new Steam overlay when opening Discussions #9856

Open jackmillward opened 1 year ago

jackmillward commented 1 year ago

Your system information

Please describe your issue in as much detail as possible:

Describe what you expected should happen and what did happen. Please link any large code pastes as a Github Gist I was having some trouble in a game, and decided to check the Steam discussions to find a little hint. I opened the Steam overlay and clicked on Discussions, and Steam goes crazy. It crashes Steam overlay, restarts the client, and flickers up lots of strange messages and broken UI.

Steam eventually crashes after five or six flickering Ui windows, closing the game and Steam itself.

Steam log from opening and crashing: https://gist.github.com/jackmillward/3beb6ffdc94cc4e662eff21321bfc18f A video of the entire experience (it's very odd): https://anonfiles.com/x5Cdr826z8/2023_07_15_08_00_58_mkv

Steps for reproducing this issue:

  1. Launch Steam
  2. Launch almost any game
  3. Open up the Steam overlay using Shift + Tab
  4. This works.
  5. Click on the Discussions in Steam overlay.
kisak-valve commented 1 year ago

Possibly related to #9795.

xrogaan commented 1 year ago

I have experienced something similar too. Clicked the browser button in the overlay while playing a proton game, steam reacted violently then crashed. Though the logs gets filled with a diarrhea or errors which stems from the initial problem.

Would it help if I upload my logs too? I'd rather not if unnecessary.

MerkaST commented 1 year ago

I can confirm this. When not having opened the browser in the in-game overlay, opening guides or discussions has a high chance of leading to random behaviour like described here and in #9795 (I have not tried buying anything so can't confirm that), both for native and Proton games. Some things among the random occurrences I've seen that have not been mentioned in these two issues include setting the games list to tools only (by OPs video I guess this happened there too), broadcast watch request notifications, and dialogue boxes with a Remote Play error src/steamUI/Main.cpp (475) : Assertion Failed: Error: RaiseJSException: Method call failed: RemotePlay.GetPerUserInputSettingsWithGuestID call had invalid argument (arg 1): string_value: "{}". Those last ones particularly spooked me as I thought someone might be trying to access my account.

Lubuntu 22.04 AMD Ryzen R7 1700 AMD Radeon R9 380X mesa stable openbox X11

xrogaan commented 1 year ago

RemotePlay is a service that always runs, and listen to a backend for proper usage. It all happens on your computer, don't worry. If you look more carefully you'll notice a websocket server failure before the RemotePlay error, then the flood or errors before Steam crashes. I would surmise that something broke/crash/stopped working when we invoked the browser, which then triggered the instability and violent behavior.

RayneYoruka commented 11 months ago

I suffer this same issue just by simply having the overlay being open or by the "controller" reminder popup, it makes it impossible to do remoteplay. I will have to stick using my SteamLink.

Ubuntu 20.04, Gnome flashback+compiz, x11, Ryzen 5 4500u

xrogaan commented 9 months ago

I experienced something weird, which made me remember this issue. Steam remote device pairing dialog appeared to me while I was busy playing a game. The window didn't show anything cognizable, asking to pair "object object" device (a JS null error, I believe). Got me spooked, so I took a gander at the logs and found a potential correlation between loss of a websocket connection and the weird UI behavior.

webhelper.txt ``` [2024-02-11 19:35:56] SP Shared JS Context-'SharedJSCo': CreatingPopup name:RemoteDevicePairingDialog browser:65536 pid:3531 type:4 flags:114: (725.00, 355.00) 500.00x360.00: url:about:blank?createflags=18¢erOnBrowserID=29 [2024-02-11 19:35:56] CreateOutputWindow: Creating browser window at: 725,355 size: 500x360 [2024-02-11 19:35:56] RemoteDevicePairingDialog: Created window: size: 500,360 pos: 725,355 mode: System window: 0x8200121 [2024-02-11 19:35:56] RemoteDevicePairingDialog: AfterCreated handle:3538971 type:4: (0, 0) 500x360 [2024-02-11 19:35:56] RemoteDevicePairingDialog-'RemoteDevi': WasHidden 0: (0, 0) 500x360 [2024-02-11 19:36:02] RemoteDevicePairingDialog-'RemoteDevi': Skipping safe browser shutdown workaround: not requested [2024-02-11 19:36:21] overlay_uid17468-'SP Overlay': Skipping safe browser shutdown workaround: not requested [2024-02-11 19:36:21] GameNotes_uid17468-'GameNotes': Skipping safe browser shutdown workaround: not requested [2024-02-11 19:36:21] SP Shared JS Context-'SharedJSCo': WARNING: https://steamloopback.host/chunk~2dcc5aaf7.js?contenthash=80d647453f92372f2d55:1: Failed to report error: ReportError() was called without an error to report. [2024-02-11 19:36:21] SP Shared JS Context-'SharedJSCo': ERROR: https://steamloopback.host/index.html?IN_CLIENT=true&LOCAL_HOSTNAME=CENSORED&USE_POPUPS=true&DEV_MODE=false&LANGUAGE=english&PLATFORM=linux&COUNTRY=BE&LAUNCHER_TYPE=0&IN_STEAMUI_SHARED_CONTEXT=true&ON_DECK=false&ON_STEAMOS=false&IN_GAMESCOPE=false&DECK_DISPLAY_MODE=false&USE_LONGEST_LOC_STRING=false:1: Uncaught SyntaxError: Unexpected token u in JSON at position 0 [2024-02-11 19:36:22] data:text/html,<%2Fbody>-'data:text/': Skipping safe browser shutdown workaround: not requested ```
connection_log.txt ``` [2024-02-11 19:35:36] [Logged Off, 4, 0] [U:1:38773615] ConnectionDisconnected('I/O Operation Failed') : 'OK' (155.133.248.38:27024, WebSocket) [2024-02-11 19:35:36] [Logged Off, 4, 0] [U:1:38773615] StartAutoReconnect() will start in 19.0 seconds (attempt 1) [2024-02-11 19:35:36] [Logged Off, 4, 0] [U:1:38773615] Sending SteamServersDisconnected_t because we were logged on [2024-02-11 19:35:36] IPv6 HTTP connectivity test (ipv6check-http.steamserver.net / [2a01:bc80:8:100::9b85:fc06]:80 ([2a01:bc80:8:100::9b85:fc06]:80)) - SUCCESS [2024-02-11 19:35:36] IPv6 HTTP connectivity test (ipv6check-http.steamserver.net / [2a01:bc80:8:100::9b85:fc06]:80 ([2a01:bc80:8:100::9b85:fc06]:80)) - server indicated we are using ipv6, external address = 'CENSORED:4692' [2024-02-11 19:35:36] IPv6 UDP connectivity test (ipv6check-udp.steamserver.net / [2a01:bc80:c:100::9b85:e203]:27019) - SUCCESS [2024-02-11 19:35:37] Connectivity test: Starting test, fetching 'http://test.steampowered.com/204' [2024-02-11 19:35:37] Connectivity test: OK! [2024-02-11 19:35:37] Connectivity test: result=Connected (since 42101.7s ago), prev=Unknown, in progress=0 [2024-02-11 19:35:55] CCMInterface::YieldingConnect -- calling ISteamDirectory/GetCMListForConnect web api [2024-02-11 19:35:56] GetCMListForConnect -- got 10 Netfilter CMs and 70 WebSocket CMs [2024-02-11 19:35:56] GetCMListForConnect -- DC 'ams1' count: 22 [2024-02-11 19:35:56] GetCMListForConnect -- DC 'par1' count: 21 [2024-02-11 19:35:56] GetCMListForConnect -- DC 'fra2' count: 21 [2024-02-11 19:35:56] GetCMListForConnect -- DC 'fra1' count: 16 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-ams1.steamserver.net:27024) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-ams1.steamserver.net:27020) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-ams1.steamserver.net:443) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext1-par1.steamserver.net:27029) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-ams1.steamserver.net:27024) results: 42.9688ms + load 60.0000 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-ams1.steamserver.net:27020) results: 42.9688ms + load 55.0000 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-ams1.steamserver.net:443) results: 42.9688ms + load 64.0000 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext1-par1.steamserver.net:27029) results: 39.0625ms + load 59.0000 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext1-par1.steamserver.net:443) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext1-par1.steamserver.net:27021) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-fra2.steamserver.net:27022) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext1-fra2.steamserver.net:27019) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext1-fra2.steamserver.net:27019) results: 35.1562ms + load 68.0000 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-fra2.steamserver.net:27022) results: 39.0625ms + load 65.0000 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext1-par1.steamserver.net:27021) results: 39.0625ms + load 58.0000 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-fra2.steamserver.net:443) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-fra1.steamserver.net:27024) starting... [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext1-par1.steamserver.net:443) results: 54.6875ms + load 71.0000 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-fra2.steamserver.net:443) results: 46.8750ms + load 77.0000 [2024-02-11 19:35:56] [Connecting, 4, 0] [U:1:38773615] PingWebSocketCM() (ext2-fra1.steamserver.net:27024) results: 42.9688ms + load 72.0000 [2024-02-11 19:35:56] [Connecting, 4, 23] [U:1:38773615] Connect() starting connection (eNetQOSLevelLow, ext1-par1.steamserver.net:27021, WebSocket) [2024-02-11 19:35:56] [Connecting, 4, 23] [U:1:38773615] ConnectionCompleted() (185.25.182.20:27021, WebSocket) local address (192.168.1.6:55757) [2024-02-11 19:35:56] [Connecting, 4, 23] [U:1:38773615] Client thinks it can connect via: UDP - yes, TCP - yes, WebSocket:443 - yes, WebSocket:Non443 - yes [2024-02-11 19:35:56] [Connected, 4, 23] [U:1:38773615] Logging on [U:1:38773615] [2024-02-11 19:35:56] [Logging On, 4, 23] [U:1:38773615] Using JWT [2024-02-11 19:35:56] [Logging On, 4, 23] [U:1:38773615] RecvMsgClientLogOnResponse() : [U:1:38773615] 'OK' ```

At the same time, steamwebhelper.txt shows some SyntaxErrors and other Uncaught Error: Failure: Type not convertible to Uint8Array.

I don't quite know what to think about this. Could it be some kind of race condition? That does sound silly to me, but we're partially talking about javascript after all.