godotengine / godotengine/godot

Editor hang in RenderingDeviceDriverVulkan::fence_wait(), Win11, NVidia, Forward+

Open
#110,718 3 comments 2 reactions 0 assignees View on GitHub
bug platform:windows topic:rendering
Dominant language
C++
Stars
117k
Forks
26.8k
PR merge metrics
PR metrics pending

Description

### Tested versions

- Reproducible in 4.4.x, 4.5 stable

### System information

Godot v4.5.stable - Windows 11 (build 26100) - Multi-window, 3 monitors - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 Ti (NVIDIA; 32.0.15.7260) - 13th Gen Intel(R) Core(TM) i9-13900K (32 threads) - 63.71 GiB memory

### Issue description

The editor randomly hangs, and if examined in the debugger, the top stack frame in the main thread is in `RenderingDeviceDriverVulkan::fence_wait()` [here](https://github.com/godotengine/godot/blob/d7382aa05854df37c2f21aff02a693f8104fb95d/drivers/vulkan/rendering_device_driver_vulkan.cpp#L2549). The only solution is to kill the process and restart the editor.

### Steps to reproduce

I have not found a reliable way to trigger it, but when it does trigger, it is almost always immediately after opening or closing a popup window (e.g. color picker, rename text field).

This happens once every a few hours on average, but does not require the editor to have been running for any specific length of time - some days it doesn't happen at all, other days it happens every few minutes.

It may be relevant that I always have editor windows (main window, Inspector, FileSystem, etc.) on different monitors. I don't think it's relevant, but I only use Godot for 2D projects.

If relevant, I have G-SYNC enabled and v-sync set to "Use the 3D application setting" in the NVidia control panel.

I'm happy to investigate further if you have suggestions.

### Minimal reproduction project (MRP)

I was able to trigger it at least once in an empty project in Godot 4.5 (New Project, no scenes, no resources) with default settings.

Contributor guide

Open the contributing guide

Research direction

Start at drivers/vulkan/rendering_device_driver_vulkan.cpp around RenderingDeviceDriverVulkan::fence_wait(), using the empty project described in the issue as the reproduction case. Investigate the hang after opening or closing editor popups on Windows 11 with Vulkan and NVIDIA hardware, and gather a reliable trigger or debugger evidence. Done means the cause is identified and a fix is validated against the reported configuration.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
computer-graphics, operating-systems
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.