Closed Dubanubiel closed 11 years ago
Hmm, well that's the biggest amount I could find in smaps. It was taking up at least a few gigs of my RAM and leaking, I'm positive of that. Disabling shm on PulseAudio stops the crashes but voice still fails, it actually breaks my PulseAudio config.
I was unaware that the Steam runtime overrides PulseAudio, I'm running PulseAudio 4 on my system.
Removing any libraries with the name 'pulse' in them in the Steam Runtime doesn't fix this. That's on the assumption it falls back and uses my PulseAudio 4, as that patch was supposedly included in PulseAudio 3.
One way to verify is to run the game and then dump its maps file. Find the process ID and do 'cat /proc/pid/maps | grep pulse' and see where the PA libs are coming from.
Are you seeing the 'b' assert specifically or just a crash? I don't see a way the patch could not fix the 'b' assert, but there could easily be multiple problems.
I'll load up a game now and try and get some information:
[jookia@jookia-arch 22297]% grep "pulse" maps
cbee7000-cfee8000 rw-s 00000000 00:10 10252441 /dev/shm/pulse-shm-2380860766
d713d000-d71ad000 r-xp 00000000 08:05 526539 /usr/lib32/pulseaudio/libpulsecommon-4.0.so
d71ad000-d71ae000 r--p 0006f000 08:05 526539 /usr/lib32/pulseaudio/libpulsecommon-4.0.so
d71ae000-d71af000 rw-p 00070000 08:05 526539 /usr/lib32/pulseaudio/libpulsecommon-4.0.so
d71af000-d71fd000 r-xp 00000000 08:05 179369 /usr/lib32/libpulse.so.0.16.2
d71fd000-d71fe000 r--p 0004d000 08:05 179369 /usr/lib32/libpulse.so.0.16.2
d71fe000-d71ff000 rw-p 0004e000 08:05 179369 /usr/lib32/libpulse.so.0.16.2
e9961000-e9964000 r-xp 00000000 08:05 179370 /usr/lib32/libpulse-simple.so.0.0.4
e9964000-e9965000 r--p 00002000 08:05 179370 /usr/lib32/libpulse-simple.so.0.0.4
e9965000-e9966000 rw-p 00003000 08:05 179370 /usr/lib32/libpulse-simple.so.0.0.4
Here's the last words of Steam (the game is fine:)
warning: Unknown nb_ctl request: 4
warning: Unknown nb_ctl request: 4
warning: Unknown nb_ctl request: 4
warning: Unknown nb_ctl request: 4
warning: Unknown nb_ctl request: 4
warning: Unknown nb_ctl request: 4
Installing breakpad exception handler for appid(steam)/version(1376347961_client)
Installing breakpad exception handler for appid(steam)/version(1376347961_client)
warning: The VAD has been replaced by a hack pending a complete rewrite
mmap() failed: Cannot allocate memory
mmap() failed: Cannot allocate memory
mmap() failed: Cannot allocate memory
Here's a stack trace of Steam:
#0 0xf743f200 in __memcpy_ssse3_rep () from /usr/lib32/libc.so.6
#1 0xee0d0e1f in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libopenal.so.1
#2 0xee0ef348 in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libopenal.so.1
#3 0xee0c821c in alcGetIntegerv ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libopenal.so.1
#4 0xe753f461 in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steamclient.so
#5 0xe752bf14 in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steamclient.so
#6 0xe752c6de in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steamclient.so
#7 0xe752d271 in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steamclient.so
#8 0xe779c816 in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steamclient.so
#9 0xe74c9749 in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steamclient.so
#10 0xe74ca4ec in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/steamclient.so
#11 0xeebef6da in SteamThreadTools::CThread::ThreadExceptionWrapper(void*) ()
from /home/jookia/.local/share/Steam/ubuntu12_32/libtier0_s.so
#12 0xeebed7cb in ?? ()
from /home/jookia/.local/share/Steam/ubuntu12_32/libtier0_s.so
#13 0xeebee0fd in CatchAndWriteMiniDumpExForVoidPtrFn ()
from /home/jookia/.local/share/Steam/ubuntu12_32/libtier0_s.so
#14 0xeebee14f in CatchAndWriteMiniDumpForVoidPtrFn ()
from /home/jookia/.local/share/Steam/ubuntu12_32/libtier0_s.so
#15 0xeebf1347 in SteamThreadTools::CThread::ThreadProc(void*) ()
from /home/jookia/.local/share/Steam/ubuntu12_32/libtier0_s.so
#16 0xf74bccf0 in start_thread () from /usr/lib32/libpthread.so.0
#17 0xf73f47ae in clone () from /usr/lib32/libc.so.6
Also I don't know if it's normal, but there's a ton of threads that just have this backtrace:
#0 0xf779d430 in __kernel_vsyscall ()
#1 0xf73e9c0b in poll () from /usr/lib32/libc.so.6
#2 0xeafddc9d in ?? () from /usr/lib32/libpulse.so.0
#3 0xeafcc5fe in pa_mainloop_poll () from /usr/lib32/libpulse.so.0
#4 0xeafcce2d in pa_mainloop_iterate () from /usr/lib32/libpulse.so.0
#5 0xeafccf04 in pa_mainloop_run () from /usr/lib32/libpulse.so.0
#6 0xeafddc3c in ?? () from /usr/lib32/libpulse.so.0
#7 0xe9b802fd in ?? () from /usr/lib32/pulseaudio/libpulsecommon-4.0.so
#8 0xf74bccf0 in start_thread () from /usr/lib32/libpthread.so.0
#9 0xf73f47ae in clone () from /usr/lib32/libc.so.6
The stack trace is not from a crash, then, it's just the Steam thread at work? Also, to confirm you say the game is fine even after the mmap failures?
Something triggered GDB so I assume it was a crash. If it's not, then it's odd that it closes afterwards? The game itself is fine after mmap fails, however you can't play due to Steam auth tickets not working.
I wasn't sure on the gdb, thus my question. Did gdb have any other info at the point it became active? Usually it'll indicate the event that work it up, like a SIGSEGV or SIGILL mentioning an abort or that kind of thing.
I'll go reproduce the crash again and check.
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xe6b2eb40 (LWP 23532)]
0xf7452200 in __memcpy_ssse3_rep () from /usr/lib32/libc.so.6
Yes, it's a segfault.
If you guys have debug symbols, .
All you're doing is running Steam with SDL_AUDIO=alsa, then playing TF2 and using voice chat?
In my case, the microphone crash happens regardless of whether I run steam with SDL_AUDIO=alsa or not. And all I do is start playing TF2, use voice chat for approximately 30 minutes and then steam crashes (not tf2, but it is unplayable since servers often require that steam is running). If you'd like I can run it with gdb tonight and see what output I get.
Oh, that's using PulseAudio 4 WITHOUT SDL_AUDIO=alsa.
I don't experience crashes with SDL_AUDIO=alsa, but some form of memory leak that Source handles correctly by quitting with out of memory errors.
Just to make sure, is there a beta with updated PA libs out yet? I'm seeing a tonne of crashes in GoI, so I'll be very interested in having it fixed. Alternatively, the bug referenced says it should be fixed in PA 3.0, which my distro (Mint 15) does have. Will just removing the steam runtime packaged libs be enough to make it pick up the system libpulse?
Yes, if you remove the Steam runtime libs it should fall back on the system libs. You can verify using the command 'cat /proc/pid/maps | grep pulse' on Steam's pid. Note that the 'b' assertion is the only thing affected by that patch. The segfault that Jookia is seeing is something very different and I don't know what the cause of that is, nor have I reproed it so far. If you are getting regular crashes and can catch them in gdb does the stack look like Jookia's above (or at least is it a SIGSEGV)? Alternately, if Steam is catching and reporting the crashes to Valve do you have a crash ID I can verify with?
I don't believe yesterday's client beta has the PA update yet, but it should be coming soon.
I mentioned earlier- I posted a core dump up, is that of any use? Or must the crash be sent to steam?
The dump doesn't have a ton of info in it beyond the stack, so your post of the gdb stack was just as helpful. What we really need, and what a snapshot won't show, is how we got into the bad state where an invalid pointer is being used in memcpy. When I asked for a dump/gdb I was targeting that more at HaskellElephant and mathrick so that I can get an idea of whether they're seeing the same segfault as you (Jookia) or something else, like the 'b' assert.
Ah, okay. I just ran the same test without the Steam runtime enabled, and I managed to hit the same error, as a point of interest.
Edit: It seems it is generating Breakpad dumps (but failing to upload them). There's eight in total, seven of them being asserts.
Gotcha. I've already tried removing the runtime libs, and I can indeed confirm that it's picking up the 3.0 system libs, which would normally mean I'd be testing with reckless abandon, but my internet has been too crappy to allow any kind of networked play. I have not hit Jookia's crash yet. If I do, I might try getting my hands on a copy of UndoDB, which is the nifty GDB variant that allows going back in time. The bad news is that it's not free; the good news is that they have free of charge hobbyist trials for non-commercial uses. So anyone who isn't a Valve employee can try getting an evaluation copy at http://www.undo-software.com/.
My crash takes a while to get to, even with my micspamming on empty servers.
Alright, so here are the preliminary results:
bp-52f80875-6011-4c21-a6f1-afdf82130814
. Didn't try under GDB so far.The reported crash looks very similar, a segfault in memcpy, so you don't need to get a gdb stack. All you did was run TF2 and talk, correct? How long did it take, roughly the same 30 minutes?
I've been testing the glitch on Garry's Mod, but I can confirm it happens in TF2 as well. I'd say it takes 10 or so minutes for me however.
Running garrysmod, the problem seems to be related to when I start speaking at the same time as somebody else, but I have not been able to proove or reproduce this. On Aug 14, 2013 11:29 PM, "Drew Bliss" notifications@github.com wrote:
The reported crash looks very similar, a segfault in memcpy, so you don't need to get a gdb stack. All you did was run TF2 and talk, correct? How long did it take, roughly the same 30 minutes?
— Reply to this email directly or view it on GitHubhttps://github.com/ValveSoftware/steam-for-linux/issues/1853#issuecomment-22668396 .
@gdrewb-valve nope, running Guns of Icarus. Other than that, nothing special, just talk. It took probably around 20 minutes.
I believe I've found the cause of the voice-related memory leak, the next Steam client beta will have a fix for it. Whether that ends up addressing the segfault or not is unknown as I haven't been able to get it to happen.
Brilliant news, thanks for your investigations into it :)
The Steam beta client released tonight has the leak fix, so people can check and see if memory usage still grows. This may also prevent some crashes as things shouldn't run out of memory any more.
I ran Guns of Icarus as captain (lots of voice chat) for an hour or two after the update and didn't have any problems. Well done!
On Wed, Aug 14, 2013 at 10:21 PM, Drew Bliss notifications@github.comwrote:
The Steam beta client released tonight has the leak fix, so people can check and see if memory usage still grows. This may also prevent some crashes as things shouldn't run out of memory any more.
— Reply to this email directly or view it on GitHubhttps://github.com/ValveSoftware/steam-for-linux/issues/1853#issuecomment-22685762 .
Sorry, I've not been following this thread lately. Does this mean that it is fixed? Or do we need to do something to prevent crashes?
Thanks, Louis
I've been playing Garry's Mod for the past hour or so with no crashes- It seems the leak was the source of a crash.
FWIW, about an hour of play in GoI registered no crashes either. To be perfectly clear, that was with pulse libs removed from the runtime (ie. using system-wide pulse 3.0 libs). I will test with runtime-provided 1.1 and report that.
I played team fortress 2 for about 2 hours and no crashes happened with pulseaudio integrated.
2013/8/15 Maciej Katafiasz notifications@github.com
FWIW, about an hour of play in GoI registered no crashes either. To be perfectly clear, that was with pulse libs removed from the runtime (ie. using system-wide pulse 3.0 libs). I will test with runtime-provided 1.1 and report that.
— Reply to this email directly or view it on GitHubhttps://github.com/ValveSoftware/steam-for-linux/issues/1853#issuecomment-22708305 .
@MrPopinjay , we've made a couple of fixes and initial results look encouraging. As long as you update to the latest Steam client beta you can run with pulseaudio normally. If anybody is still seeing problems please post here, otherwise I'll close this bug (at last!).
If that's the case are you finally going to enable voice chat in L4D2? ( Unless I'm mistaken and it hasn't purposefully been kept disabled to cut down on reports on this issue.) I haven't tested this myself enough myself yet because I have no reason to touch CS:S after the latest CS:GO update hintsayhellofromthelinuxcommunitytothecsgocabalhint but as it seems it is time to say: Finally, my most often encountered and most hated bug got squished! Well done!
I don't believe L4D2's voice chat is supposed to be disabled, so I'd open an issue in Source-1-Games for that.
Never mind then, that issue exists and is assigned to Alfred who, so far, hasn't commented on it. https://github.com/ValveSoftware/steam-for-linux/issues/2390
Things look good, so closing.
Ever since the official launch of steam for Linux, TF2 will crash when I hit the microphone button. It will usually work the first couple of times but then it will freeze up, sort of catch itself, be REALLY slow and buggy, and then won't close without having to turn off my computer. I can Alt+tab away and shutdown but I can't even kill TF2 using system monitor.
Processor Information: Vendor: AuthenticAMD Speed: 2800 Mhz 2 logical processors 2 physical processors HyperThreading: Unsupported FCMOV: Supported SSE2: Supported SSE3: Supported SSSE3: Supported SSE4a: Supported SSE41: Unsupported SSE42: Unsupported
Network Information: Network Speed:
Operating System Version: Ubuntu 12.10 (32 bit) Kernel Name: Linux Kernel Version: 3.5.0-23-generic X Server Vendor: The X.Org Foundation X Server Release: 11300000 X Window Manager: Compiz Steam Runtime Version:
Video Card: Driver: NVIDIA Corporation GeForce 9800 GTX+/PCIe/SSE2/3DNOW!
Sound card: Audio device: Realtek ALC889A
Memory: RAM: 4036 Mb
Miscellaneous: UI Language: English LANG: en_CA.UTF-8 Microphone: Not set Total Hard Disk Space Available: 202004 Mb Largest Free Hard Disk Block: 123696 Mb
Installed software:
Recent Failure Reports: Sun Feb 17 01:29:17 2013 GMT: file ''/tmp/dumps/assert_20130216202905_1.dmp'', upload yes: ''CrashID=bp-913d3f0f-27b9-4711-98fc-4f1712130216''