ValveSoftware / steam-runtime

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

Dota 2 does not launch due to Segmentation fault in libtier0.so - called from libMangoHud.so #660

Closed bergmannf closed 6 months ago

bergmannf commented 6 months ago

Your system information

Attempt to start dota2 - setting additional launch parameters (or not setting parameters at all) has no effect.

The game is set to "Running", but no window is opened and it just stops after a few seconds.

Checking the systemlog using journalctl -xer shows the following relevant lines:

Mar 24 11:21:09 host abrt-notification[8328]: [🡕] Process 7310 (dota2) crashed in ??()
â–‘â–‘ Subject: ABRT has detected unexpected termination: dota2
â–‘â–‘ Defined-By: ABRT
â–‘â–‘ Support: https://bugzilla.redhat.com/
â–‘â–‘ Documentation: man:abrt(1)
â–‘â–‘
â–‘â–‘ dota2 killed by SIGSEGV
â–‘â–‘
â–‘â–‘ #1 [libtier0.so] 59780b9949aa05f237e982910b3ad376f2f14ac0+2262221
â–‘â–‘ #2 [libMangoHud.so] std::__detail::_BracketMatcher<std::__cxx11::regex_traits<char>, false, false>::_M_make_cache(std::integral_constant<bool, true>) [clone .isra.0]
â–‘â–‘ #3 [libMangoHud.so] void std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_insert_bracket_matcher<false, false>(bool)
â–‘â–‘ #4 [libMangoHud.so] std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_alternative()
â–‘â–‘ #5 [libMangoHud.so] std::__detail::_Compiler<std::__cxx11::regex_traits<char> >::_M_disjunction()

I've also gathered a steam-linux-runtime-log according to the readme: https://gist.github.com/bergmannf/8378ca3fcdaaec8b27fa3454ed4d1bc8

Steps for reproducing this issue:

  1. Try to start dota2
  2. Watch it fail

I also tried CS2 - which fails with the same error.

bergmannf commented 6 months ago

Got a bit more information out of a coredump at least - probably somehow related to vulkan:

           PID: 54500 (dota2)
           UID: 1000 (florian)
           GID: 1000 (florian)
        Signal: 11 (SEGV)
     Timestamp: Sun 2024-03-24 13:55:37 CET (1min 1s ago)
  Command Line: $'/mnt/steamlibrary/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/dota2' +@panorama_min_comp_layer_dimension 0 -prewarm_panorama -console -con_logfile
    Executable: /mnt/steamlibrary/SteamLibrary/steamapps/common/dota 2 beta/game/bin/linuxsteamrt64/dota2
 Control Group: /user.slice/user-1000.slice/session-1.scope
          Unit: session-1.scope
         Slice: user-1000.slice
       Session: 1
     Owner UID: 1000 (florian)
       Boot ID: 66b5ca7d3e914955b78a602889e7d969
    Machine ID: 9cd7d690b18046da8f3de5f5ea6e915b
      Hostname: valhal
       Storage: /var/lib/systemd/coredump/core.dota2.1000.66b5ca7d3e914955b78a602889e7d969.54500.1711284937000000.zst (present)
  Size on Disk: 41.4M
       Message: Process 54500 (dota2) of user 1000 dumped core.

                Module /run/host/usr/lib64/libvulkan_radeon.so from rpm mesa-23.3.6-1.fc39.x86_64
                Module /run/host/usr/lib64/libvulkan_panfrost.so from rpm mesa-23.3.6-1.fc39.x86_64
                Module /run/host/usr/lib64/libvulkan_lvp.so from rpm mesa-23.3.6-1.fc39.x86_64
                Module /run/host/usr/lib64/libvulkan_intel.so from rpm mesa-23.3.6-1.fc39.x86_64
                Module /run/host/usr/lib64/libvulkan_intel_hasvk.so from rpm mesa-23.3.6-1.fc39.x86_64
                Module /run/host/usr/lib64/libvulkan_freedreno.so from rpm mesa-23.3.6-1.fc39.x86_64
                Module /run/host/usr/lib64/libvulkan_broadcom.so from rpm mesa-23.3.6-1.fc39.x86_64
                Module /run/host/usr/lib64/mangohud/libMangoHud.so from rpm mangohud-0.7.1-3.fc39.x86_64
                Module /run/host/usr/lib64/libfmt.so.10.0.0 from rpm fmt-10.0.0-3.fc39.x86_64
                Module /run/host/usr/lib64/libspdlog.so.1.12.0 from rpm spdlog-1.12.0-2.fc39.x86_64
                Module /run/host/usr/lib64/libelf-0.191.so from rpm elfutils-0.191-2.fc39.x86_64
                Module /run/host/usr/lib64/libedit.so.0.0.72 from rpm libedit-3.1-48.20230828cvs.fc39.x86_64
                Module /run/host/usr/lib64/libvulkan.so.1.3.275 from rpm vulkan-loader-1.3.275.0-1.fc39.x86_64
                Module /run/host/usr/lib64/libVkLayer_MESA_device_select.so from rpm mesa-23.3.6-1.fc39.x86_64
                Module /run/host/usr/lib64/libdrm_amdgpu.so.1.0.0 from rpm libdrm-2.4.120-1.fc39.x86_64
                Module /run/host/usr/lib64/libffi.so.8.1.2 from rpm libffi-3.4.4-4.fc39.x86_64
                Module /run/host/usr/lib64/libexpat.so.1.9.0 from rpm expat-2.6.0-1.fc39.x86_64
                Module /run/host/usr/lib64/libwayland-client.so.0.22.0 from rpm wayland-1.22.0-2.fc39.x86_64
                Module /run/host/usr/lib64/libxshmfence.so.1.0.0 from rpm libxshmfence-1.3-13.fc39.x86_64
                Module /run/host/usr/lib64/libxcb-randr.so.0.1.0 from rpm libxcb-1.13.1-12.fc39.x86_64
                Module /run/host/usr/lib64/libudev.so.1.7.7 from rpm systemd-254.10-1.fc39.x86_64
                Module /run/host/usr/lib64/libxcb-shm.so.0.0.0 from rpm libxcb-1.13.1-12.fc39.x86_64
                Module /run/host/usr/lib64/libxcb-sync.so.1.0.0 from rpm libxcb-1.13.1-12.fc39.x86_64
                Module /run/host/usr/lib64/libzstd.so.1.5.5 from rpm zstd-1.5.5-4.fc39.x86_64
                Module /run/host/usr/lib64/libz.so.1.2.13 from rpm zlib-1.2.13-4.fc39.x86_64
                Module /run/host/usr/lib64/libdrm.so.2.4.0 from rpm libdrm-2.4.120-1.fc39.x86_64
                Module /run/host/usr/lib64/libxcb-xfixes.so.0.0.0 from rpm libxcb-1.13.1-12.fc39.x86_64
                Module /run/host/usr/lib64/libxcb-present.so.0.0.0 from rpm libxcb-1.13.1-12.fc39.x86_64
                Module /run/host/usr/lib64/libxcb-dri3.so.0.0.0 from rpm libxcb-1.13.1-12.fc39.x86_64
                Module /run/host/usr/lib64/libX11-xcb.so.1.0.0 from rpm libX11-1.8.7-1.fc39.x86_64
                Module /run/host/usr/lib64/libXfixes.so.3.1.0 from rpm libXfixes-6.0.0-6.fc39.x86_64
                Module /run/host/usr/lib64/libXau.so.6.0.0 from rpm libXau-1.0.11-3.fc39.x86_64
                Module /run/host/usr/lib64/libGLdispatch.so.0.0.0 from rpm libglvnd-1.7.0-1.fc39.x86_64
                Module /run/host/usr/lib64/libXext.so.6.4.0 from rpm libXext-1.3.5-3.fc39.x86_64
                Module /run/host/usr/lib64/libX11.so.6.4.0 from rpm libX11-1.8.7-1.fc39.x86_64
                Module /run/host/usr/lib64/libGLX.so.0.0.0 from rpm libglvnd-1.7.0-1.fc39.x86_64
                Module /run/host/usr/lib64/libGL.so.1.7.0 from rpm libglvnd-1.7.0-1.fc39.x86_64
                Module /run/host/usr/lib64/libcap.so.2.48 from rpm libcap-2.48-9.fc39.x86_64
                Stack trace of thread 54500:
                #0  0x00007ff5f06284cd n/a (libtier0.so + 0x2284cd)
                #1  0x00007ff5d7958238 _ZNSt8__detail15_BracketMatcherINSt7__cxx1112regex_traitsIcEELb0ELb0EE13_M_make_cacheESt17integral_constantIbLb1EE.isra.0 (/run/host/usr/lib64/mangohud/libMangoHud.so + 0x116238)
                #2  0x00007ff5d78b03ac _ZNSt8__detail9_CompilerINSt7__cxx1112regex_traitsIcEEE25_M_insert_bracket_matcherILb0ELb0EEEvb (/run/host/usr/lib64/mangohud/libMangoHud.so + 0x6e3ac)
                #3  0x00007ff5d78b2f50 _ZNSt8__detail9_CompilerINSt7__cxx1112regex_traitsIcEEE14_M_alternativeEv (/run/host/usr/lib64/mangohud/libMangoHud.so + 0x70f50)
                #4  0x00007ff5d78b23b8 _ZNSt8__detail9_CompilerINSt7__cxx1112regex_traitsIcEEE14_M_alternativeEv (/run/host/usr/lib64/mangohud/libMangoHud.so + 0x703b8)
                #5  0x00007ff5d78a8d3f _ZNSt8__detail9_CompilerINSt7__cxx1112regex_traitsIcEEE14_M_disjunctionEv (/run/host/usr/lib64/mangohud/libMangoHud.so + 0x66d3f)
                #6  0x00007ff5d792e5a8 _ZNSt8__detail9_CompilerINSt7__cxx1112regex_traitsIcEEEC2EPKcS6_RKSt6localeNSt15regex_constants18syntax_option_typeE.constprop.0 (/run/host/usr/lib64/mangohud/libMangoHud.so + 0xec5a8)
                #7  0x00007ff5d786c022 _ZL26overlay_CreateSwapchainKHRP10VkDevice_TPK24VkSwapchainCreateInfoKHRPK21VkAllocationCallbacksPP16VkSwapchainKHR_T.lto_priv.0 (/run/host/usr/lib64/mangohud/libMangoHud.so + 0x2a022)
                #8  0x00007ff5cb799e57 n/a (librendersystemvulkan.so + 0x199e57)
                #9  0x00007ff5cb79aaf0 n/a (librendersystemvulkan.so + 0x19aaf0)
                #10 0x00007ff5eee68dac n/a (libengine2.so + 0x268dac)
                #11 0x00007ff5eee695c0 n/a (libengine2.so + 0x2695c0)
                #12 0x00007ff5cb7898c2 n/a (librendersystemvulkan.so + 0x1898c2)
                #13 0x00007ff5ef03d0ba n/a (libengine2.so + 0x43d0ba)
                #14 0x00007ff5ef03dc3d n/a (libengine2.so + 0x43dc3d)
                #15 0x00007ff5eee6aa12 n/a (libengine2.so + 0x26aa12)
                #16 0x00007ff5eee6add0 n/a (libengine2.so + 0x26add0)
                #17 0x00007ff5eed9d387 n/a (libengine2.so + 0x19d387)
                #18 0x00007ff5eed9d81f Source2Main (libengine2.so + 0x19d81f)
                #19 0x000055dc619fdf70 n/a (dota2 + 0x3f70)
                #20 0x000055dc619fd920 n/a (dota2 + 0x3920)
                #21 0x00007ff5f279c14a __libc_start_call_main (/run/host/usr/lib64/libc.so.6 + 0x2814a)
                #22 0x00007ff5f279c20b __libc_start_main@@GLIBC_2.34 (/run/host/usr/lib64/libc.so.6 + 0x2820b)
                #23 0x000055dc619fdd9a n/a (dota2 + 0x3d9a)

                Stack trace of thread 54504:
                #0  0x00007ff5f27ff169 __futex_abstimed_wait_common (/run/host/usr/lib64/libc.so.6 + 0x8b169)
                #1  0x00007ff5f2801e72 pthread_cond_timedwait@@GLIBC_2.3.2 (/run/host/usr/lib64/libc.so.6 + 0x8de72)
                #2  0x00007ff5f05c30d6 _ZN16CThreadSemaphore8WaitImplEj (libtier0.so + 0x1c30d6)
                #3  0x00007ff5f05182ad n/a (libtier0.so + 0x1182ad)
                #4  0x00007ff5f0518734 n/a (libtier0.so + 0x118734)
                #5  0x00007ff5f05c91b3 _ZN7CThread10ThreadProcEPv (libtier0.so + 0x1c91b3)
                #6  0x00007ff5f05ca4f7 n/a (libtier0.so + 0x1ca4f7)
                #7  0x00007ff5f2802897 start_thread (/run/host/usr/lib64/libc.so.6 + 0x8e897)
                #8  0x00007ff5f288980c __clone3 (/run/host/usr/lib64/libc.so.6 + 0x11580c)

                Stack trace of thread 54507:
                #0  0x00007ff5f27ff169 __futex_abstimed_wait_common (/run/host/usr/lib64/libc.so.6 + 0x8b169)
                #1  0x00007ff5f2801e72 pthread_cond_timedwait@@GLIBC_2.3.2 (/run/host/usr/lib64/libc.so.6 + 0x8de72)
                #2  0x00007ff5f05c30d6 _ZN16CThreadSemaphore8WaitImplEj (libtier0.so + 0x1c30d6)
                #3  0x00007ff5f05182ad n/a (libtier0.so + 0x1182ad)
                #4  0x00007ff5f0518734 n/a (libtier0.so + 0x118734)
                #5  0x00007ff5f05c91b3 _ZN7CThread10ThreadProcEPv (libtier0.so + 0x1c91b3)
                #6  0x00007ff5f05ca4f7 n/a (libtier0.so + 0x1ca4f7)
                #7  0x00007ff5f2802897 start_thread (/run/host/usr/lib64/libc.so.6 + 0x8e897)
                #8  0x00007ff5f288980c __clone3 (/run/host/usr/lib64/libc.so.6 + 0x11580c)

                Stack trace of thread 54505:
                #0  0x00007ff5f27ff169 __futex_abstimed_wait_common (/run/host/usr/lib64/libc.so.6 + 0x8b169)
                #1  0x00007ff5f2801e72 pthread_cond_timedwait@@GLIBC_2.3.2 (/run/host/usr/lib64/libc.so.6 + 0x8de72)
                #2  0x00007ff5f05c30d6 _ZN16CThreadSemaphore8WaitImplEj (libtier0.so + 0x1c30d6)
                #3  0x00007ff5f05182ad n/a (libtier0.so + 0x1182ad)
                #4  0x00007ff5f0518734 n/a (libtier0.so + 0x118734)
                #5  0x00007ff5f05c91b3 _ZN7CThread10ThreadProcEPv (libtier0.so + 0x1c91b3)
                #6  0x00007ff5f05ca4f7 n/a (libtier0.so + 0x1ca4f7)
                #7  0x00007ff5f2802897 start_thread (/run/host/usr/lib64/libc.so.6 + 0x8e897)
                #8  0x00007ff5f288980c __clone3 (/run/host/usr/lib64/libc.so.6 + 0x11580c)

                Stack trace of thread 54508:
                #0  0x00007ff5f27ff169 __futex_abstimed_wait_common (/run/host/usr/lib64/libc.so.6 + 0x8b169)
                #1  0x00007ff5f2801e72 pthread_cond_timedwait@@GLIBC_2.3.2 (/run/host/usr/lib64/libc.so.6 + 0x8de72)
                #2  0x00007ff5f05c30d6 _ZN16CThreadSemaphore8WaitImplEj (libtier0.so + 0x1c30d6)
                #3  0x00007ff5f05182ad n/a (libtier0.so + 0x1182ad)
                #4  0x00007ff5f0518734 n/a (libtier0.so + 0x118734)
                #5  0x00007ff5f05c91b3 _ZN7CThread10ThreadProcEPv (libtier0.so + 0x1c91b3)
                #6  0x00007ff5f05ca4f7 n/a (libtier0.so + 0x1ca4f7)
                #7  0x00007ff5f2802897 start_thread (/run/host/usr/lib64/libc.so.6 + 0x8e897)
                #8  0x00007ff5f288980c __clone3 (/run/host/usr/lib64/libc.so.6 + 0x11580c)

                Stack trace of thread 54528:
                #0  0x00007ff5f27ff169 __futex_abstimed_wait_common (/run/host/usr/lib64/libc.so.6 + 0x8b169)
                #1  0x00007ff5f2801e72 pthread_cond_timedwait@@GLIBC_2.3.2 (/run/host/usr/lib64/libc.so.6 + 0x8de72)
                #2  0x00007ff5f05c30d6 _ZN16CThreadSemaphore8WaitImplEj (libtier0.so + 0x1c30d6)
                #3  0x00007ff5d705d3bd n/a (libfilesystem_stdio.so + 0x5d3bd)
                #4  0x00007ff5d705d684 n/a (libfilesystem_stdio.so + 0x5d684)
                #5  0x00007ff5f05c91b3 _ZN7CThread10ThreadProcEPv (libtier0.so + 0x1c91b3)
                #6  0x00007ff5f05ca4f7 n/a (libtier0.so + 0x1ca4f7)
                #7  0x00007ff5f2802897 start_thread (/run/host/usr/lib64/libc.so.6 + 0x8e897)
                #8  0x00007ff5f288980c __clone3 (/run/host/usr/lib64/libc.so.6 + 0x11580c)

                Stack trace of thread 54509:
                #0  0x00007ff5f27ff169 __futex_abstimed_wait_common (/run/host/usr/lib64/libc.so.6 + 0x8b169)
                #1  0x00007ff5f2801e72 pthread_cond_timedwait@@GLIBC_2.3.2 (/run/host/usr/lib64/libc.so.6 + 0x8de72)
                #2  0x00007ff5f05c30d6 _ZN16CThreadSemaphore8WaitImplEj (libtier0.so + 0x1c30d6)
                #3  0x00007ff5f05182ad n/a (libtier0.so + 0x1182ad)
                #4  0x00007ff5f0518734 n/a (libtier0.so + 0x118734)
                #5  0x00007ff5f05c91b3 _ZN7CThread10ThreadProcEPv (libtier0.so + 0x1c91b3)
                #6  0x00007ff5f05ca4f7 n/a (libtier0.so + 0x1ca4f7)
                #7  0x00007ff5f2802897 start_thread (/run/host/usr/lib64/libc.so.6 + 0x8e897)
                #8  0x00007ff5f288980c __clone3 (/run/host/usr/lib64/libc.so.6 + 0x11580c)

                Stack trace of thread 54517:
                #0  0x00007ff5f27ff169 __futex_abstimed_wait_common (/run/host/usr/lib64/libc.so.6 + 0x8b169)
                #1  0x00007ff5f2801b09 pthread_cond_wait@@GLIBC_2.3.2 (/run/host/usr/lib64/libc.so.6 + 0x8db09)
                #2  0x00007ff5bee6f49d cnd_wait (/run/host/usr/lib64/libvulkan_radeon.so + 0x26f49d)
                #3  0x00007ff5bee493bb util_queue_thread_func (/run/host/usr/lib64/libvulkan_radeon.so + 0x2493bb)
                #4  0x00007ff5bee6f3cc impl_thrd_routine (/run/host/usr/lib64/libvulkan_radeon.so + 0x26f3cc)
                #5  0x00007ff5f2802897 start_thread (/run/host/usr/lib64/libc.so.6 + 0x8e897)
                #6  0x00007ff5f288980c __clone3 (/run/host/usr/lib64/libc.so.6 + 0x11580c)

                Stack trace of thread 54541:
                #0  0x00007ff5f287b6fb llseek@GLIBC_2.2.5 (/run/host/usr/lib64/libc.so.6 + 0x1076fb)
                #1  0x00007ff5f27fa5d0 _IO_file_seekoff@@GLIBC_2.2.5 (/run/host/usr/lib64/libc.so.6 + 0x865d0)
                #2  0x00007ff5f27f60de fseek (/run/host/usr/lib64/libc.so.6 + 0x820de)
                #3  0x00007ff5d7c72b09 n/a (/home/florian/.local/share/Steam/ubuntu12_64/libVkLayer_steam_fossilize.so + 0x5cb09)
                ELF object binary architecture: AMD x86-64

Adding the vulkan-info for completeness here: https://gist.github.com/bergmannf/15c16eccba51da5349b451009280daa7

bergmannf commented 6 months ago

It seems the issue is really just the mangohud version of the system. I thought I disabled it globally, but realized goverlay didn't really write MANGOHUD=0 to /etc/environment. After changing this the game is launching again - so probably some incompatibility between steam-runtime and mangohud 0.7.1. I'll keep this open, but not sure if this is better handled here or in MangoHud.

kisak-valve commented 6 months ago

Hello @bergmannf, report this issue to a MangoHud dev if it hasn't been already. If they find an actionable detail that a runtime dev needs to evaluate, then add a link here to their findings and give me a ping to reopen the issue report for a runtime dev to ponder this further.

Closing as not-our-bug.