ValveSoftware / Dota-2

Tracker for issues specific to Linux and Mac in the Reborn client. If you have a general issue or non-system-specific feature request please go to dev.dota2.com
472 stars 38 forks source link

Game segfaults on startup #2395

Open enjoycowboy opened 1 year ago

enjoycowboy commented 1 year ago

Your system information

Game crashes before even loading screen

jul 19 23:18:08 starla kernel: dota2[1165200]: segfault at 8 ip 00007f99e9a22ccb sp 00007fff753892f0 error 6 in libnvidia-glcore.so.535.54.03[7f99e84f9000+2695000] likely on CPU 11 (core 5, socket 0)
jul 19 23:18:08 starla kernel: Code: 8b 40 50 48 85 c0 0f 84 3f 8d ad fe 48 8b 00 48 85 c0 0f 84 33 8d ad fe 48 8b 40 20 48 8b 80 f0 01 00 00 48 89 c6 48 83 ce 02 <48> 89 70 08 48 8b 82 48 03 00 00 48 8b 80 88 01 00 00 48 8b 40 50
jul 19 23:18:09 starla systemd[1]: Started Process Core Dump (PID 1165417/UID 0).
jul 19 23:18:10 starla systemd-coredump[1165418]: [🡕] Process 1165200 (dota2) of user 1000 dumped core.

                                                  Stack trace of thread 1165200:
                                                  #0  0x00007f99e9a22ccb n/a (libnvidia-glcore.so.535.54.03 + 0x1822ccb)
                                                  #1  0x00007f99e9a3c520 n/a (libnvidia-glcore.so.535.54.03 + 0x183c520)
                                                  #2  0x00007f99e9a424db n/a (libnvidia-glcore.so.535.54.03 + 0x18424db)
                                                  #3  0x00007f99e9a65118 n/a (libnvidia-glcore.so.535.54.03 + 0x1865118)
                                                  #4  0x00007f99eb3f1b20 n/a (libGLX_nvidia.so.0 + 0x9cb20)
                                                  #5  0x00007f99eb4bb8ca n/a (libvulkan.so.1 + 0x3f8ca)
                                                  #6  0x00007f99eb2eb170 n/a (/home/enjoy/.local/share/Steam/ubuntu12_64/steamoverlayvulkanlayer.so + 0x13170)
                                                  ELF object binary architecture: AMD x86-64

Steps for reproducing this issue:

  1. Update DOTA2 to latest version
  2. Run game from folder with "./dota.sh"
  3. ????
Turmfalke2 commented 1 year ago

Running dota directly through ./dota.sh isn't support afaik. Pretty sure this bypasses sniper. Does it also crash if you run it the normal way through steam?

smcv commented 1 year ago

Running dota directly through ./dota.sh isn't support afaik. Pretty sure this bypasses sniper.

That's correct, the supported way to run Dota 2 is to launch it via Steam.

When you launch Dota 2 through Steam, there are two main things that could be going wrong:

  1. Dota 2 being launched in the wrong environment (not using the Steam Linux Runtime 3 'sniper' container runtime)
  2. Dota 2 being launched in the correct Steam Linux Runtime 3 'sniper' environment, but it doesn't work

The first step here is to check whether (1.) is the problem. If it is, we need to solve that first. If it is not, we can move on to (2.).

Please try running Steam from a terminal (or with its output sent to a log file, or with its output sent to the systemd Journal) with the STEAM_LINUX_RUNTIME_LOG environment variable set to 1, for example:

STEAM_LINUX_RUNTIME_LOG=1 steam

In Steam's output, you should see that it is running a command that looks something like this:

/bin/sh\0-c\0
.../reaper SteamLaunch AppId=570 --
.../steam-launch-wrapper --
.../SteamLinuxRuntime_sniper/_v2-entry-point --verb=waitforexitandrun --
.../dota 2 beta/game/dota.sh +engine_experimental_drop_frame_ticks 1 +@panorama_min_comp_layer_dimension 0 -prewarm_panorama
\0

(It will be logged as one very long line, and ... will be replaced by paths to your Steam installation and Steam library - I've broken it into shorter lines and abbreviated the paths here to make it more readable.)

If you do not see a command that looks like that, then please see https://github.com/ValveSoftware/Dota-2/issues/2404#issuecomment-1653541234 for more information and some possible causes.

If you do see a command that looks like that, then the next step is to investigate why Dota 2 isn't launching successfully. Because of the STEAM_LINUX_RUNTIME_LOG=1 variable, Dota 2's output should be redirected into a log file, with a symbolic link steamapps/common/SteamLinuxRuntime_sniper/var/slr-latest.log pointing to it, along with debugging information about the container runtime. Please attach that log file.