ValveSoftware / Source-1-Games

Source 1 based games such as TF2 and Counter-Strike: Source
643 stars 74 forks source link

Crash when use microphone #3740

Open SGmuwa opened 2 years ago

SGmuwa commented 2 years ago

On Kubuntu 21.10 (Ubuntu 21.10) Counter-Strike: Source when I activate a microphone on a server with players then game crash. The game works fine if a microphone is not turne on (do not press a microphone activation button). I can hear other players and all sounds, but I cannot speak. TF2 works fine.

logs from steam process:

src/tcmalloc.cc:278] Attempt to free invalid pointer 0x25e62230 
ERROR: ld.so: object '/home/pavel/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
crash_20211206210746_3.dmp[4522]: Uploading dump (out-of-process)
/tmp/dumps/crash_20211206210746_3.dmp
/home/pavel/.steam/debian-installation/steamapps/common/Counter-Strike Source/hl2.sh: line 72:  4423 Aborted                 (core dumped) ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"
crash_20211206210746_3.dmp[4522]: Finished uploading minidump (out-of-process): success = yes
crash_20211206210746_3.dmp[4522]: response: Discarded=1
crash_20211206210746_3.dmp[4522]: file ''/tmp/dumps/crash_20211206210746_3.dmp'', upload yes: ''Discarded=1''
pid 4522 != 4521, skipping destruction (fork without exec?)
(process:4436): GLib-GObject-CRITICAL **: 21:07:48.121: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

crash_20211206210746_3.dmp: crash_20211206210746_3.zip

libc:

$ LC_ALL=C apt list --installed 2>/dev/null | grep -E libc\\W
klibc-utils/impish,now 2.0.8-6.1ubuntu2 amd64 [installed,automatic]
libc-bin/impish,now 2.34-0ubuntu3 amd64 [installed,automatic]
libklibc/impish,now 2.0.8-6.1ubuntu2 amd64 [installed,automatic]

Operating System: Kubuntu 21.10 KDE Plasma Version: 5.22.5 KDE Frameworks Version: 5.86.0 Qt Version: 5.15.2 Kernel Version: 5.13.0-22-generic (64-bit) Graphics Platform: X11 Processors: 4 × Intel® Core™ i3-9100F CPU @ 3.60GHz Memory: 15.5 GiB of RAM Graphics Processor: AMD RV635

gg-eorge commented 2 years ago

I was having the same issue while running Day of Defeat: Source. Game runs perfectly fine but activating my microphone caused an immediate crash. I really don't know much about linux or anything but after pulling my hair out for a few hours I figured out how to fix it for me at least. It worked great before I installed lutris, so I purged lutris and all the packages it installed and my microphone started working again.

Really would like for this to be fixed, not sure what package that comes from Lutris ppa causes this.

pawel66031 commented 2 years ago

The same issue I have with Team Fortress 2. Before upgrading Ubuntu to 21.10, I could use microphone input during game without any problems. But after some software updates, running +voicerecord in console or by binding to some key causes TF2 to instantly crash. Even in voice options clicking on Test microphone crashes instantly. I can hear some voices in voice-chat, but I can't trigger my microphone input. In order to fix that I tried to reinstall game with no success, still crashes.

I tried to find solutions in this mentioned issue, but I didn't find any solutions.

My PC specs:

OS: Ubuntu Jammy Jellyfish (development branch) x86_64
Kernel: Linux 5.15.0-25-generic
CPU: Intel i5-3450 (4) @ 3.500GHz
GPU: NVIDIA GeForce GTX 570 Rev. 2
Sound card: Realtek ALC892

Steam version: 1647446817
Pulseaudio version: 15.99

Any helps? I tried to search whole Internet in order to fix that small issue... But to my mind the problem is with sound drivers.

P.S. Testing input microphone in other source games like: Counter-Strike: Source, Garry's Mod or Left 4 Dead 2 works very well.

robobenklein commented 2 years ago

Also having this issue in TF2

src/tcmalloc.cc:278] Attempt to free invalid pointer 0x5422c1e0 
ERROR: ld.so: object '/home/robo/.steam/debian-installation/ubuntu12_64/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
crash_20220409104552_3.dmp[1173952]: Uploading dump (out-of-process)
/tmp/dumps/crash_20220409104552_3.dmp
/mnt/stor/s/SteamLibrary/steamapps/common/Team Fortress 2/hl2.sh: line 72: 1172561 Aborted                 (core dumped) ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

Appears to happen 100% of the time in servers that have the convar set: sv_voicecodec vaudio_celt_high, on those where it's "steam" I do not have this issue.

pawel66031 commented 2 years ago

I tried to change value in convar sv_voicecodec in my own server, where default I have is vaudio_celt. Setting that convar to steam actually works. It's a very strange problem that "vaudio_celt" codec can cause game crash.

davidstaudt commented 2 years ago

Anectodally, workaround for me (Ubuntu 21.x/22.04) was to disable 'Boost Microphone Gain' under Options/Voice (voice_maxgain "1")

PhilArmstrong commented 2 years ago

Same crash observed with TF2 for me, CrashID=bp-f5f8ac07-03d7-48aa-a795-eeb282220822 is a typical example.

Turning off “Boost Microphone Gain” doesn’t seem to make any difference.

PhilArmstrong commented 2 years ago

Here’s a bunch of assert + crash dmp files from today.

crash_assert_dmps.tar.gz

All of these crashed occurred whilst connected to UncleTopia servers in London. I don’t observe crashes when connected to official Valve casual servers.

DanceMore commented 2 years ago

I hit this recently (hello from Uncletopia us-west 🚀 ) and I think I've read everything I can on Github Issues and Reddit posts and hit the limits of my debugging ability.

I upgraded to pipewire because people were blaming pulseaudio bugs, but the issue still exists under pipewire. amusingly, the pipewire upgrade seemed trivial and works out of the box with most everything I've tested so far (Discord, gqrx, VLC, Chrome browser Youtube).

I am still suspicious of libc6, I upgraded to 2.34 in Debian Unstable and I distrust libc due to the recent EAC / DT_HASH issues and history of breaking applications in subtle ways.

honestly, since pipewire is giving me the smoothest Linux sound experience of my life, my personal workaround might just be to unbind my TF2 microphone key and wait patiently for a fix.

[edit 2022-10-18] I recently upgraded from kernel 5.18 / nvidia 470 to kernel 6.0 / nvidia 510. issue not resolved :(

surf51 commented 1 year ago

This issue is present on Steam Deck running SteamOS. Tested and it crashes on Counter-Strike: Source using the sv_voicecodec "vaudio_celt"

yllekz commented 1 year ago

This is happening to me on Linux Mint when playing Counter-Strike Source.

The above workaround to toggle "Boost microphone gain" did not work either.

DanceMore commented 1 year ago

it never occurred to me in the past to check cvarlist and actually verify what the settings were server-side while I was experiencing the problem 🤦‍♂️

my experience with the bug has ended ""recently"", but I think it's due to Uncletopia setting to sv_voicecodec 0 which I think is the classic Speex codec.

I will report back in if the bug returns. also you will want to run cvarlist filtered, it spits out 3500 lines but you can only scroll back a small portion of it. cvarlist sv_voice will spit out the 2 settings matching sv_voice*.

cynidecia commented 1 year ago

Can confirm this still happens on Linux Mint when vaudio_celt_high is set.

Brokio commented 9 months ago

This is happening on Steam Deck with some servers that use newer voice codec in Source games

PhilArmstrong commented 8 months ago

I am holding out hope that the forthcoming new release of TF2 built on the latest Linux runtime will fix this issue!

XeemPad commented 7 months ago

I am holding out hope that the forthcoming new release of TF2 built on the latest Linux runtime will fix this issue!

Meanwhile CSS: 💀