ValveSoftware / SteamVR-for-Linux

Issue tracker for the Linux port of SteamVR
921 stars 45 forks source link

[BUG] 1.13.6 vrcompositor crashing (Elite Dangerous) #366

Open dsalt opened 4 years ago

dsalt commented 4 years ago

vrcompositor crashes when Elite Dangerous attempts to use the HMD. The game continues to run, rendering only in its desktop window. No tracking.

On exit, SteamVR complains “Shared IPC Compositor Connect Failed (306)”.

I attached gdb to vrcompositor and got the following backtrace:

#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f8e94496535 in __GI_abort () at abort.c:79
#2  0x00007f8e9449640f in __assert_fail_base (fmt=0x7f8e945f8ee0 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", assertion=0x7f8e80574b68 "image->planes[0].surface.surf_size", file=0x7f8e80574780 "../src/amd/vulkan/radv_image.c", line=1429, function=<optimized out>) at assert.c:92
#3  0x00007f8e944a4102 in __GI___assert_fail (assertion=0x7f8e80574b68 "image->planes[0].surface.surf_size", file=0x7f8e80574780 "../src/amd/vulkan/radv_image.c", line=1429, function=0x7f8e80575180 "radv_image_create_layout") at assert.c:101
#4  0x00007f8e80232982 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
#5  0x00007f8e80232f17 in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
#6  0x00007f8e80233cee in ?? () from /usr/lib/x86_64-linux-gnu/libvulkan_radeon.so
#7  0x00000000005fd842 in CSharedImageLinux::ImportVulkanImage(VkDevice_T*, unsigned long) ()
#8  0x000000000058f428 in CVulkanVRRenderer::ImportTextureFromSharedHandle(unsigned long, vr::EColorSpace, bool) ()
#9  0x0000000000445fa9 in CGraphicsDevice::RenderEye(CGraphicsDevice::RenderEyeParams_t const&) ()
#10 0x00000000004190c6 in vr::CHmdDistort::RenderEye(vr::EVREye, vr::CHmdDistort::DistortRenderEyeParams_t const*, vr::TrackedDevicePose_t const*, vr::ETrackingUniverseOrigin, vr::HmdMatrix34_t const&, vr::HmdMatrix34_t*, vr::ETrackingDegrees, unsigned long, std::vector<CGraphicsDevice::RenderModelParams_t, std::allocator<CGraphicsDevice::RenderModelParams_t> > const&, std::vector<SceneGraphPanel_t, std::allocator<SceneGraphPanel_t> > const&) ()
#11 0x000000000041ae3c in vr::CHmdDistort::RenderEyes(vr::CHmdDistort::DistortRenderEyeParams_t const*, vr::CHmdDistort::DistortRenderEyeParams_t const*, vr::TrackedDevicePose_t const*, vr::ETrackingUniverseOrigin, vr::ETrackingState_t, unsigned long, CGraphicsDevice::DebugStatsArgs_t const&) ()
#12 0x000000000049395e in CRenderThread::UpdateAsync() ()
#13 0x00000000004974ca in CRenderThread::Run() ()
#14 0x000000000057b420 in SteamThreadTools::CThread::ThreadProc(void*) ()
#15 0x00007f8e9463cfa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
#16 0x00007f8e9456d4cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

With SteamVR 1.13.5 or the current stable (1.12), all is well

System Information (please complete the following information):

dsalt commented 4 years ago

I recompiled Mesa with -Db_ndebug=true. Either that or use of a newer SteamVR has stopped this (I should re-check).