protonscr

Opening URLs in games is delayed, can cause IPC instability

steamopen 3rd party gameDistro Family: Arch
ValveSoftware/steam-for-linux#9005 · opened 2022-12-16 by crumblingstatue · updated 2022-12-16 · 0 comments · github
Ccrumblingstatue 2022-12-16 github

Your system information

  • Steam client version (build number or date): Dec 15 2022 at 02:03:59
  • Arch steam package version: 1.0.0.75-1
  • Don't have steam-native-runtime package installed
  • Distribution: Arch Linux
  • Opted into Steam client beta?: Yes (but it's a long standing issue I had for years)
  • Have you checked for system updates?: Yes

Please describe your issue in as much detail as possible:

When opening an URL inside a game, there can be significant delays, sometimes more than 20 seconds.
Furthermore it can cause instability within Steam itself, causing it to hang.
The more URLs the user tries to open during the delay, the more chance for instability.

Example of unstable behavior:

  1. Open Bits & Bops demo (https://store.steampowered.com/app/1929290)
  2. Pick play
  3. Pick the last item on the shelf (which is opens a URL to the game's website)
  4. There will likely be a significant delay, but it can wildly vary
  5. During the delay, try to open it multiple times (like a confused user would)
  6. This chains up multiple URL opens, likely messing with Steam IPC
  7. Try to exit Steam. You can't, because it's hanging.
    Here is a log of Steam console output trying these steps:
    https://gist.github.com/crumblingstatue/1fcac4a7be5b2b58ede6f665fab3b3b8

Notable is the many instances of IPC error: LockMgrMutex failed to acquire SysMgrMutex after trying to shut down steam.

Steps for reproducing this issue:

  1. Open an URL inside a game (presumably one where Steam handles/intercepts the URL open request)
  2. There should be significant delay (I'm not sure what exact system configuration is necessary to reproduce)
  3. If you try to queue up multiple URL opens, it can cause IPC instabiity within Steam.

Nothing extracted yet.