protonscr

SteamRT issues with Debian Testing

steamclosed duplicatereviewed
ValveSoftware/steam-for-linux#4324 · opened 2016-02-18 by RomanHargrave · updated 2016-02-18 · 1 comments · github
RRomanHargrave 2016-02-18 github

I noticed what appears to be a libc compatibility issue after a few Unity games did not want to run after a Debian update. Investigating the Player log reveals that a segmentation fault occurred within libasound. This is the relevant part of the error backtrace (taken from GameCorp, but I had the same issue with VektorWars):

    /home/roman/.steam/steam/steamapps/common/Game Corp DX/GameCorpDX_Data/Mono/x86/libmono.so(+0x894c3) [0xf37754c3]
    /home/roman/.steam/steam/steamapps/common/Game Corp DX/GameCorpDX_Data/Mono/x86/libmono.so(+0x219c3) [0xf370d9c3]
    linux-gate.so.1(__kernel_rt_sigreturn+0) [0xf77aeb10]
    /lib/i386-linux-gnu/i686/cmov/libc.so.6(cfree+0x26) [0xf7137b16]
    /home/roman/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libasound.so.2(snd_device_name_free_hint+0x33) [0xf05366d3]
    /home/roman/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libasound.so.2(snd_device_name_hint+0x226) [0xf0536916]
    /home/roman/.steam/steam/steamapps/common/Game Corp DX/Ga

As you can see, the issue is occurring when snd_device_name_free_hint() calls cfree() in a manner that causes a segmentation fault. As cfree() would be one of the points where the SteamRT library collection is calling a non-SteamRT function, this appears to be causing the problem.

This is particularly relevant, because it signals that a SteamRT breakage is coming down the line for Debian Stretch, and possibly Jessie with backports, and eventually Ubuntu (the SteamRT reference).

For now, I have replaced the SteamRT libasound with my systems libasound. They are the same major version and share an identically ABI, and doing so fixed all problems.

Ggdrewb-valve maintainer 2016-02-18 github

Duplicate of various issues here, such as #4139.

Nothing extracted yet.