Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Server fatal crashed: Vulkan: qvkQueueSubmit #312

Open
SiLenCe-WB opened this issue Jan 7, 2025 · 15 comments
Open

Server fatal crashed: Vulkan: qvkQueueSubmit #312

SiLenCe-WB opened this issue Jan 7, 2025 · 15 comments

Comments

@SiLenCe-WB
Copy link

SiLenCe-WB commented Jan 7, 2025

Hi!

I've tried running quake3e-vulkan.x64.exe on 3 different systems with integrated GPUs (both Intel and AMD) and I always end up crashing with the following error:

----- Client Shutdown (Server fatal crashed: Vulkan: qvkQueueSubmit( vk.queue, 1, &submit_info, vk.cmd->rendering_finished_fence ) returned VK_ERROR_DEVICE_LOST) -----
RE_Shutdown( 3 )
----- Client Shutdown (recursive error after: Vulkan: qvkQueueSubmit( vk.queue, 1, &submit_info, vk.cmd->rendering_finished_fence ) returned VK_ERROR_DEVICE_LOST) -----
WARNING: Recursive CL_Shutdown()
recursive error after: Vulkan: qvkQueueSubmit( vk.queue, 1, &submit_info, vk.cmd->rendering_finished_fence ) returned VK_ERROR_DEVICE_LOST

Screenshot 2025-01-07 210110

The performance is flawless and substantially better than on quake3e.x64.exe (opengl) but the gl version never crashes. Am I doing something wrong or is this behaviour to be expected if I don't have a dedicated GPU?

BTW, I've been able to replicate this issue very fast by simply strafe jumping on the bottom part of Q3DM17, around the jumpers. I was using the default graphic settings to make sure it wasn't config related (I did a cvar_restart + vid_restart).

Thanks for the help!

@ec-
Copy link
Owner

ec- commented Jan 7, 2025

Could you record demo and post it along with q3config.cfg?

@SiLenCe-WB
Copy link
Author

@ensiform
Copy link
Contributor

ensiform commented Jan 8, 2025

According to stack overflow at least one person had this happen when there were indices larger than the given vertex vector/array. Could be some out of bounds thing with the map that needs a guard

@SiLenCe-WB
Copy link
Author

I have this issue in other maps too. I just realised that it was easy to replicate the issue in that specific area.

@SiLenCe-WB
Copy link
Author

I've tested the same thing with an NVIDIA card (4070 Ti Super) and I had no issues whatsoever. So it seems to be a problem with integrated GPUs.

@ec-
Copy link
Owner

ec- commented Jan 11, 2025

I can't reproduce it on various Intel iGPUs.
Also I see you have some modded textures (console, fonts, map etc.) - could you share your full setup somehow?

@SiLenCe-WB
Copy link
Author

I can't reproduce it on various Intel iGPUs. Also I see you have some modded textures (console, fonts, map etc.) - could you share your full setup somehow?

Sure thing mate! Here it is: https://drive.google.com/file/d/1G1AhkNuXM_oFaaJwEVKHTcLXuvlwpaMo/view?usp=sharing

I removed the extra packages (which improve visuals) from that build but you can download them here: https://drive.google.com/drive/folders/1HheSapMEsrNVWuAKGKr1e0GmKu-7mGw4?usp=sharing

But bear in mind that I have the same issue without them, so those can't be causing the problem. Although I must say, I feel that with those packages added, the vulkan error pops up faster but it could have been just a coincidence.

@SiLenCe-WB
Copy link
Author

SiLenCe-WB commented Jan 11, 2025

I found that just by doing this, I can replicate the error very fast
https://streamable.com/a0y226

It usually drops the error in less than 30 seconds.

@ec-
Copy link
Owner

ec- commented Jan 13, 2025

Now I am able to reproduce this crash with following settings:

  • r_fullscreen 1
  • r_fbo 1
  • r_ext_supersample 1 (effectively forcing 4k+ rendering)
  • cg_fov 110

I see zero warnings/issues with all debug info/validation layers enabled but it seems to happen when vkQueueSubmit being called more than once per frame i.e. when some in-game shader image being loaded on the fly. Never happened in windowed mode, this is very odd, investigating...
crash3.dm_68.zip

@SiLenCe-WB
Copy link
Author

SiLenCe-WB commented Jan 13, 2025

It does happen to me in window mode too. With this procedure I showed before, I manage to crash it very consistently.

I was wondering if it might be related to the lights coming from the roof in that area. I mean these
W BSiLenCe-FFA-q3dm17-2025 01 13-21 07 43

@SiLenCe-WB
Copy link
Author

I've managed to make it crash with these settings:

  • Window mode
  • Fov 90
  • FBO 0
  • Supersampling off.

Here is the video:

Quake.3.Vulkan.Crash.Integrated.GPU.mp4

@ec-
Copy link
Owner

ec- commented Jan 14, 2025

Please record demo using in-game \record commad, it will catch last frame right at crash, then replay it to make sure it is 100% reproducible, because even for me - it is not 100% reproducible.
Also specify your full setup (OS, resolution, cpu, gfx driver version etc.), look in system event viewer, currently I'm seeing messages Display driver igfxn stopped responding and has successfully recovered. and errors in different part of renderer so it might be a driver issue

@ec-
Copy link
Owner

ec- commented Jan 18, 2025

Tested with following Intel iGPU driver versions:

  • 07/11/2023,31.0.101.4575 - ok
  • 09/13/2024,32.0.101.6078 - crash
  • 12/26/2024,32.0.101.6449 - crash

There's something were broken between 4575 and 6078, all validation layers are dead silent

@SiLenCe-WB
Copy link
Author

Please record demo using in-game \record commad, it will catch last frame right at crash, then replay it to make sure it is 100% reproducible, because even for me - it is not 100% reproducible. Also specify your full setup (OS, resolution, cpu, gfx driver version etc.), look in system event viewer, currently I'm seeing messages Display driver igfxn stopped responding and has successfully recovered. and errors in different part of renderer so it might be a driver issue

I'll get back to you soon. I did not have much time lately.

@ec-
Copy link
Owner

ec- commented Jan 25, 2025

At this moment I'm not able to figure out reason of crashes, even putting vk_wait_idle() before/after each significant operation doesn't help, it looks like as a driver bug so for now - try to find and stick with stable driver version.

With recent Intel drivers (6078+) I'm also observing some visual artifacts duirng Vulkan rendering with both quake3e and quake3-ke, and OpenGL artifacts when running timedemo even with original quake3.exe, this looks like as broken image/memory brarriers/whatever, I'm very skeptical about driver-side solution condidering my previous experience with filing bugs to GPU vendors (Intel in particular)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants