ValveSoftware / steam-runtime

A runtime environment for Steam applications
Other
1.18k stars 86 forks source link

CSGO and Dota2 crashing after Arch update (gcc/glibc/mesa) #492

Open regulator-g opened 2 years ago

regulator-g commented 2 years ago

Hi guys, appreciate you helping out with this issue, happy to help in any way.

Your system information

Please describe your issue in as much detail as possible:

Updated my distro, there was updates for Mesa, binutils, gcc, glibc: [2022-02-17T08:18:25+1100] [ALPM] upgraded gcc-libs (11.1.0-3 -> 11.2.0-3) [2022-02-17T08:18:25+1100] [ALPM] upgraded lib32-glibc (2.33-5 -> 2.35-2) [2022-02-17T08:18:25+1100] [ALPM] upgraded binutils (2.36.1-3 -> 2.38-3) [2022-02-17T08:18:26+1100] [ALPM] upgraded gcc (11.1.0-3 -> 11.2.0-3)

[2022-02-17T08:08:33+1100] [ALPM] upgraded mesa (21.3.5-1 -> 21.3.6-1) [2022-02-17T08:09:06+1100] [ALPM] upgraded vulkan-radeon (21.3.5-1 -> 21.3.6-1)

after updating and restarting, Dota2 and CSGO do not launch. Left4dead2 works and proton games work.

Console Log: dota2: https://gist.github.com/regulator-g/5c6c2b0426122ca654c5056af8fa8de6 CSGO: https://gist.github.com/regulator-g/32ffd0dd18f98e5d57c76de7f046fb68

I have the .dmp files if needed..

when I launch steam via STEAM_LINUX_RUNTIME_LOG=1 steam there is no log in this folder, only latest.txt, perhaps its in a different spot? I also observe less info in the console e.g. crash is not recorded? /home/bobby/.local/share/Steam/steamapps/common/SteamLinuxRuntime/var/

Steps for reproducing this issue:

1.open steam via steam or steam-runtime

  1. launch dota/csgo
  2. loading then nothing
TTimo commented 2 years ago

the csgo crash is the tcmalloc crash that is already known. the dota2 crash is a graphics driver crash. however it looks like you are using an old AMD closed source vulkan driver (amdvlk64.so) so you should remove that.

regulator-g commented 2 years ago

ok thanks.. I have an environment variable which is meant to force Mesa's Vulkan as the default AMD_VULKAN_ICD=RADV seems like its stopped working?

If I remove AMDVLK the game works but I do use it for another program sometimes..

Regarding issues with Dota2 and AMDVLK, I opened this thread but no reply/no change to the driver: https://github.com/GPUOpen-Drivers/AMDVLK/issues/257

p.s. sorry about the false alarm with glibc

smcv commented 2 years ago

Both of these crashes look like a use-after-free.

Dota:

src/tcmalloc.cc:390] Attempt to free invalid pointer: 0x55a10e464750
...
/home/gaben/.local/share/Steam/steamapps/common/dota 2 beta/game/dota.sh: line 109: 22720 Aborted                 (core dumped) ${STEAM_RUNTIME_PREFIX} ${GAME_DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"

CS:GO:

src/tcmalloc.cc:390] Attempt to free invalid pointer: 0x3cfd750
...
/media/Data/Games/steam/steamapps/common/Counter-Strike Global Offensive/csgo.sh: line 88: 23147 Aborted                 (core dumped) ${DEBUGGER} "${GAMEROOT}"/${GAMEEXE} "$@"
smcv commented 2 years ago

when I launch steam via STEAM_LINUX_RUNTIME_LOG=1 steam there is no log in this folder, only latest.txt, perhaps its in a different spot? I also observe less info in the console e.g. crash is not recorded? /home/bobby/.local/share/Steam/steamapps/common/SteamLinuxRuntime/var/

If you look in SteamLinuxRuntime/var/slr-latest.log you'll see that it says:

See SteamLinuxRuntime_soldier/var/ for newer SteamLinuxRuntime log files.

Please do as it recommends: look in steamapps/common/SteamLinuxRuntime_soldier/var/, in whichever Steam library has Steam Linux Runtime - soldier installed in it.

(This is because there was a structural change in how SteamLinuxRuntime works.)

smcv commented 2 years ago

I also observe less info in the console

If you run with STEAM_LINUX_RUNTIME_LOG=1, all the output from the game is redirected to the log file, including the crash-handler code that runs after the game has crashed. So, yes, that is expected. It will end up in steamapps/common/SteamLinuxRuntime_soldier/var/slr-latest.log.

regulator-g commented 2 years ago

Please do as it recommends: look in steamapps/common/SteamLinuxRuntime_soldier/var/, in whichever Steam library has Steam Linux Runtime - soldier installed in it.

thanks found it, looks pretty similar to the console log though

https://gist.github.com/regulator-g/5e58dd48298781917b5f23c5ef31b999

Just a reminder, as above the game is working after uninstalling AMDVLK although this is not ideal

Leopard1907 commented 2 years ago

Fwiw, CS GO crash only happens with -vulkan , default ToGL is fine.