ValveSoftware / steam-for-linux

Issue tracking for the Steam for Linux beta client
4.16k stars 173 forks source link

steam client crashing in host libopenal.so.1 on gentoo when starting voice capture #11014

Open Darkbloodking00 opened 1 week ago

Darkbloodking00 commented 1 week ago

Your system information

Please describe your issue in as much detail as possible:

The issue is mainly caused by Steam Voice API's incompatibility with newer versions of OpenAL. Since Steam client mixes its runtime libraries with system libraries for better compatibility and performance this can cause issues for rolling release distros like Gentoo Linux and Arch Linux. I used gdb on Steam for debugging. Since required libopenal.so.1.19.1 library is so old for current toolchains and libraries I couldn't compile it by myself, I copied it to my system from Steam Runtimes to resolve the crash instead. I want to report this as a bug, I know some libraries aren't mixed intentionally while launching the Steam Client, either libopenal.so.1.19.1 too should be included as one or please update your proprietary libraries to comply with newer versions of OpenAL that are already shipped with the new LTS version of Ubuntu you officially support.

Steps for reproducing this issue:

  1. Open up Steam by any means.
  2. Launch a game that supports Steam Voice API like Team Fortress 2 and The Forest.
  3. Join a game or create a server.
  4. Pressing the voice chat button crashes the game and steam at the same time.

GDB output at the end: https://gist.github.com/Darkbloodking00/536d0f855fa74a9d2a19f23bc9a1a93b

Video:

https://github.com/ValveSoftware/steam-for-linux/assets/71722525/cf73f4ea-065d-481f-a968-f9bdea2e35f4

kisak-valve commented 1 week ago

Hello @Darkbloodking00, how is libunwind getting involved here? In a quick check, that doesn't look like a normal dependency of OpenAL or Gentoo's packaging of the library.

TTimo commented 1 week ago

I suspect this problem was seen in https://github.com/ValveSoftware/steam-for-linux/issues/8930 already. We fixed a few things on the Steam client side back then.

Which version of OpenAL did Gentoo update to? I'd assume the crashes started with that update, it should probably be debugged from that angle.

@Darkbloodking00 please provide the following:

Darkbloodking00 commented 1 week ago

Hello @Darkbloodking00, how is libunwind getting involved here? In a quick check, that doesn't look like a normal dependency of OpenAL or Gentoo's packaging of the library.

Hi, I don't know why did GDB picked up libunwind, also checked it in my tests too but it's not contributing to the crash. I just followed Gentoo devs suggestions to debug the issue, had no prior experience on using gdb, strace or ftrace.

chewi commented 1 week ago

It's a bit strange for this to come up now. 1.23.1 has been the latest on Gentoo since May 2023, even on stable. Perhaps they just didn't have it installed before?

Darkbloodking00 commented 1 week ago

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/11014#issuecomment-2187272283

It's the libopenal.so.1.23.1 library that's on latest right now. Let me prepare the reports too.

chewi commented 1 week ago

/var/log/emerge.log should tell you when this was installed and whether it was upgraded from an earlier version.

Darkbloodking00 commented 1 week ago

/var/log/emerge.log should tell you when this was installed and whether it was upgraded from an earlier version.

I don't think we need that information since I'm experiencing this issue for months from my old laptop to my current desktop PC. So even If I provide my emerge logs I had this issue from the start and it wouldn't give us useful informations.

Darkbloodking00 commented 1 week ago

Replying to https://github.com/ValveSoftware/steam-for-linux/issues/11014#issuecomment-2187272283

@TTimo Here are the reports: 1- CrashID=bp-1ed35ccd-0d0a-4e3a-88ca-a8954224062 2-Steam Runtime Diagnostic - https://gist.github.com/Darkbloodking00/5e7fd469e65cd9a0445b2111c56dda4f

TTimo commented 1 week ago

1- CrashID=bp-1ed35ccd-0d0a-4e3a-88ca-a8954224062

I can't find this on our servers. What is uploaded recently? (less than a week?) Can you provide the .dmp directly instead? (You should be able to attach it)

Darkbloodking00 commented 1 week ago

1- CrashID=bp-1ed35ccd-0d0a-4e3a-88ca-a8954224062

I can't find this on our servers. What is uploaded recently? (less than a week?) Can you provide the .dmp directly instead? (You should be able to attach it) image

1-Yes, it's recently uploaded.

2-Here: GitHub actually doesn't allow me to attach dmp file type and as you can see in the screenshot several dmp files are generated during the crash, I uploaded all of them to a temporary repo: https://github.com/Darkbloodking00/dumps

CrashID if you ever need it: CrashID=bp-e9f55225-0402-427e-a114-d55112240626

TTimo commented 1 week ago

Thanks. The other two asserts are unrelated to the crash, and the crash itself doesn't really bring up anything we didn't already know.

Our QA attempted to reproduce this on a Gentoo system, we have the same libopenal 1.23.1 and pipewire but no crash. So unfortunately I don't expect quick progress on this until new information is available.

chewi commented 1 week ago

It may be unrelated, but I just had another Gentoo user file a bug to say that ye olde UT2004 crashes with sound enabled. It also uses OpenAL. It works fine for me though.

Darkbloodking00 commented 1 week ago

Thanks. The other two asserts are unrelated to the crash, and the crash itself doesn't really bring up anything we didn't already know.

Our QA attempted to reproduce this on a Gentoo system, we have the same libopenal 1.23.1 and pipewire but no crash. So unfortunately I don't expect quick progress on this until new information is available.

Ah I see, that's unfortunate, thanks for your help. I'll try to pinpoint the issue.

Darkbloodking00 commented 1 week ago

It may be unrelated, but I just had another Gentoo user file a bug to say that ye olde UT2004 crashes with sound enabled. It also uses OpenAL. It works fine for me though.

Hmm, let me check the bug, I hope the issue is only related to library.