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
470 stars 38 forks source link

Dota 2 causes the system to freeze requiring restart #1616

Open amitavmohanty01 opened 5 years ago

amitavmohanty01 commented 5 years ago

Your system information

Please describe your issue in as much detail as possible:

Sometimes while playing all of a sudden, the game freezes the entire system. No keystrokes are responded to. No mouse movement. The system has to be restarted. crash_20190612192517_6.dmp.zip crash_20190612192404_25.dmp.zip

kisak-valve commented 5 years ago

For reference, both attached minidumps are DUMP_REQUESTED in crashhandler.so.

Are you OpenGL or Vulkan with the game and are you able to ssh into the system after you encounter this issue? If you can, does dmesg give any hints?

amitavmohanty01 commented 5 years ago

I am using OpenGL with the game. I am not able to change VTs after the freeze so I can't get any messages. After restart, when I checked, I found a bunch of powerdevil messages before restart.

kisak-valve commented 5 years ago

In general no OpenGL application should be capable of taking down the entire system, which suggests that you've encountered a video driver issue. Can you check with a newer version of mesa?

amitavmohanty01 commented 5 years ago

My drivers are actually latest.

todorvelichkov commented 5 years ago

I can confirm I'm having the same issue with OpenGL. No such problems with Vulkan. My system is Ubuntu 18.04.2 LTS with NVIDIA-SMI 418.56 with CUDA Version: 10.1 the GPU is GTX 1080. The rest of the system can be found here

Turmfalke2 commented 5 years ago

There is a few things you can try to recover an error message.

Option 1: Enable magic syskeys until reboot by running sysctl kernel.sysrq kernel.sysrq=1 as root. Now if the system freezes you still have a way of communicating with the kernel. Of special interest here is alt+sysrq+r to regain control over the keyboard, which should allow changing to another tty or alt+sysrq+k which kills everything on the current one.

Option 2: If you have access to another linux computer you can also ssh into your machine used for playing dota2 and check dmesg there.

Option 3: On systemd based distributions you can enable a persistent journald log (which includes kernel log) by creating the /var/log/journal directory and running systemd-tmpfiles --create --prefix /var/log/journal as root. Afterwards reboot (I don't recommend restarting journald) and then after the next crash/reboot check journal with journalctl -b -1 -e again as root.

felipec commented 5 years ago

I can confirm this too, and I doubt it's a driver issue since this happens with Intel driver too: Intel Open Source Technology Center Mesa DRI Intel(R) HD Graphics 620 (Kaby Lake GT2) x86/MMX/SSE2.

In addition I also get random crashes.

felipec commented 5 years ago

I got the kernel logs and posted a bug on the driver. It seems to be related to i915_gem_execbuffer2_ioctl.

Rav8es commented 5 years ago

I have the same issue.

https://github.com/ValveSoftware/Dota-2/issues/1581

todorvelichkov commented 5 years ago

I actually started getting freezes on vulkan too. Its much more rare than OpenGL, but it happens from time to time. Here is that I got in the journalctl as @Turmfalke2 suggested.

June 08 10:00:38 tvelichkov-desktop /usr/lib/gdm3/gdm-x-session[2664]: (--) NVIDIA(GPU-0): DFP-7: Internal TMDS
June 08 10:00:38 tvelichkov-desktop /usr/lib/gdm3/gdm-x-session[2664]: (--) NVIDIA(GPU-0): DFP-7: 165.0 MHz maximum pixel clock
June 08 10:00:38 tvelichkov-desktop /usr/lib/gdm3/gdm-x-session[2664]: (--) NVIDIA(GPU-0):
June 08 10:00:46 tvelichkov-desktop gnome-shell[2821]: NOTE: Not using GLX TFP!
June 08 10:00:56 tvelichkov-desktop org.gnome.Shell.desktop[2821]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x340012f (Dota 2)
June 08 10:00:56 tvelichkov-desktop org.gnome.Shell.desktop[2821]: Window manager warning: Buggy client sent a _NET_ACTIVE_WINDOW message with a timestamp of 0 for 0x340012f (Dota 2)
June 08 10:03:07 tvelichkov-desktop systemd[1]: Started Run anacron jobs.
June 08 10:03:07 tvelichkov-desktop anacron[18200]: Anacron 2.3 started on 2019-07-08
June 08 10:03:07 tvelichkov-desktop anacron[18200]: Normal exit (0 jobs run)
June 08 10:04:46 tvelichkov-desktop dbus-daemon[2672]: [session uid=1000 pid=2672] Activating service name='org.gnome.Nautilus' requested by ':1.25' (uid=1000 pid=2821 comm="/usr/bin/gnome-shell " label="unconf
June 08 10:04:46 tvelichkov-desktop dbus-daemon[2672]: [session uid=1000 pid=2672] Successfully activated service 'org.gnome.Nautilus'
June 08 10:04:47 tvelichkov-desktop dbus-daemon[1029]: [system] Activating via systemd: service name='org.freedesktop.hostname1' unit='dbus-org.freedesktop.hostname1.service' requested by ':1.256' (uid=1000 pid
June 08 10:04:47 tvelichkov-desktop systemd[1]: Starting Hostname Service...
June 08 10:04:47 tvelichkov-desktop dbus-daemon[1029]: [system] Successfully activated service 'org.freedesktop.hostname1'
June 08 10:04:47 tvelichkov-desktop systemd[1]: Started Hostname Service.
June 08 10:09:01 tvelichkov-desktop CRON[19064]: pam_unix(cron:session): session opened for user root by (uid=0)
June 08 10:09:01 tvelichkov-desktop CRON[19065]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/php/sessionclean; fi)
June 08 10:09:01 tvelichkov-desktop CRON[19064]: pam_unix(cron:session): session closed for user root
June 08 10:09:04 tvelichkov-desktop systemd[1]: Starting Clean php session files...
June 08 10:09:04 tvelichkov-desktop systemd[1]: Started Clean php session files.
June 08 10:17:01 tvelichkov-desktop CRON[19569]: pam_unix(cron:session): session opened for user root by (uid=0)
June 08 10:17:01 tvelichkov-desktop CRON[19570]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
June 08 10:17:01 tvelichkov-desktop CRON[19569]: pam_unix(cron:session): session closed for user root
Turmfalke2 commented 5 years ago

Unfortunally nothing really of value there. Dota 2 sending a timestamp of 0 for _NET_ACTIVE_WINDOW should be fixed, but is unlikely cause a freeze. When was the freeze?

todorvelichkov commented 5 years ago

@Turmfalke2 during a game (basically it could happen any moment after the first 5 minutes). And it does not happen every game, maybe once in 4-5 games (this is for Vulkan only, on OpenGL I had this every game, but haven't tested it in a while).