ValveSoftware / steam-runtime

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

segfault (libc) at native game start #471

Closed ghost closed 3 years ago

ghost commented 3 years ago

Your system information

Please describe your issue in as much detail as possible:

got segfault at native games startup: *dota2 - crash at startup:

[ 5110.989594] dota2[10371]: segfault at 0 ip 00007f8e3926008c sp 00007ffef20d71c8 error 4 in libc-2.31.so[7f8e390fa000+178000]
[ 5110.989602] Code: 82 29 c8 c3 66 2e 0f 1f 84 00 00 00 00 00 f3 0f 1e fa 89 f9 c5 f9 6e c6 c4 41 31 ef c9 c4 e2 7d 78 c0 83 e1 3f 83 f9 20 77 34 <c5> 7e 6f 07 c4 c1 7d 74 c8 c4 c1 35 74 d0 c5 ed eb c9 c5 fd d7 c1

same segfault for dota2 and hl:alyx. games crash at the start. tf2 and l4d2 works without errors.

Steps for reproducing this issue:

  1. click play button

what already tried

nothing helps. I do not know what the cause is. 2 weeks ago hlvr worked

RyuzakiKK commented 3 years ago

Your system information log ends with "The runtime information tool is preparing a report, please wait...". Please wait for it to finish and post it again.

Does the same error happens with the LD_* runtime (no compatibility tools selected) and also the Steam Linux Runtime (choosing Steam Linux Runtime in the game properties->compatibility)?

ghost commented 3 years ago

updated sysinfo gist https://gist.github.com/Fintbot/b90513beb2ad7f07bc9e9e6daa571a39

Yes, same segfaul with LD_* runtime (no compatibility tools selected) and Steam Linux Runtime (choosing Steam Linux Runtime in the game properties->compatibility)

smcv commented 3 years ago
[ 5110.989594] dota2[10371]: segfault at 0 ip 00007f8e3926008c sp 00007ffef20d71c8 error 4 in libc-2.31.so[7f8e390fa000+178000]

This doesn't tell us much about what is happening. Probably something somewhere in the game process (the game itself? a library? we cannot tell) is passing a NULL pointer to some function in libc, for example calling strcmp ("aaa", NULL).

If you can get at least a partial backtrace from a crash using Ubuntu's Apport tool or systemd-coredump, then that would help.

Nvidia driver

Do you have any outdated versions of the Nvidia driver in /usr/lib/x86_64-linux-gnu or /usr/lib/i386-linux-gnu, for example libGLX_nvidia.so.381.22, or any other version older than the 470.74 that you're intending to use?

smcv commented 3 years ago

same segfaul with LD_* runtime (no compatibility tools selected) and Steam Linux Runtime (choosing Steam Linux Runtime in the game properties->compatibility)

This rules out a problem with the container runtime, because the LD_* runtime doesn't use containers.

If you install a game through apt, for example apt install minetest or apt install openarena, does that work or crash?

If a game installed through apt works, and then you add it to your Steam library as a non-Steam game, does that work or crash?

If you take a Steam game that is crashing, and set its Steam launch options to PRESSURE_VESSEL_REMOVE_GAME_OVERLAY=1 %command%, does that work or crash? (This will disable the Steam Overlay, so several Steam features will not work when you do this, including game controller support and Remote Play - I'm only suggesting this as a way to narrow down where the problem is, not as a permanent workaround.)

same segfault for dota2 and hl:alyx. games crash at the start. tf2 and l4d2 works without errors.

I think this might mean your crashes are correlated with either 64-bit, or Vulkan.

DOTA 2 is a 64-bit game that at least optionally uses Vulkan, and crashes.

As far as I know, HL:Alyx is a 64-bit game that requires Vulkan, and it crashes.

TF2 is a 32-bit game that uses OpenGL, and doesn't crash.

I think L4D2 uses OpenGL. I don't know whether it's 32- or 64-bit: from its age I would guess 32-bit.

It might be interesting to try Endless Sky, which is 64-bit and uses OpenGL (and is free) - that would help to narrow down which factor is more important.

ghost commented 3 years ago

it's rather strange, but dota2 started... and no more segfaults in the log. have not tried to launch hl:alyx yet, it must be downloaded again

in /tmp/dumps/crash_20211013224813_2.dmp almost at the end I found this : initializing SDL joystick 0 Generic X-Box pad and I just removed xbox guitar hero dongle Bus 001 Device 021: ID 1430:070b RedOctane USB PnP Audio Device(EEPROM)

  1. coredump: https://gist.github.com/Fintbot/9fa3a8af4ca988c70da99b4e01cf83bd
  2. there are no outdate nvidia files in lib. https://gist.github.com/Fintbot/f30825041bb02535122112ec90cd2d7f
  3. minetest start without and with steam (with plugged dongle)

I will know that this is how it works. thanks for helping to solve the problem!

ghost commented 3 years ago

hlvr works too