Description
Godot version
4.1.2.stable, 4.1.3.stable
System information
Godot v4.1.3.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4060 Laptop GPU (NVIDIA; 31.0.15.3210) - 13th Gen Intel(R) Core(TM) i7-13700HX (24 Threads)
Issue description
The editor crashes during debug when the mouse cursor is hovering over the array variable and the editor is trying to display a tool tip.
The following error messages will be displayed in the command line (or console):
ERROR: Condition "err != OK" is true. Returning: ERR_CANT_CREATE
at: _window_create (drivers/vulkan/vulkan_context.cpp:1698)
ERROR: Failed to create Vulkan Window.
at: (platform/windows/display_server_windows.cpp:3979)
ERROR: Failed to create sub window.
at: (platform/windows/display_server_windows.cpp:776)
ERROR: Condition "window_id == DisplayServer::INVALID_WINDOW_ID" is true.
at: _make_window (scene/main/window.cpp:566)
Corresponding vulkan_context.cpp
fragment ( Error VulkanContext::_window_create()
):
Window window;
window.surface = p_surface;
window.width = p_width;
window.height = p_height;
window.vsync_mode = p_vsync_mode;
Error err = _update_swap_chain(&window);
ERR_FAIL_COND_V(err != OK, ERR_CANT_CREATE);
During the crash, the err
value is set to ERR_SKIP ( 45 )
.
The crash originates somewhere around viewport.cpp:1533
(void Viewport::_gui_show_tooltip()
) and the tooltip size rectangle r
has the following values:
{position={-30208.0000,544.000000} size={32768.0000,40.0000000} }
The full callstack:
godot.windows.editor.dev.x86_64.exe!VulkanContext::_window_create(int p_window_id, DisplayServer::VSyncMode p_vsync_mode, VkSurfaceKHR_T * p_surface, int p_width, int p_height) Line 1698 (d:\sources\godot-4.1.3-stable\drivers\vulkan\vulkan_context.cpp:1698)
godot.windows.editor.dev.x86_64.exe!VulkanContextWindows::window_create(int p_window_id, DisplayServer::VSyncMode p_vsync_mode, HWND__ * p_window, HINSTANCE__ * p_instance, int p_width, int p_height) Line 56 (d:\sources\godot-4.1.3-stable\platform\windows\vulkan_context_win.cpp:56)
godot.windows.editor.dev.x86_64.exe!DisplayServerWindows::_create_window(DisplayServer::WindowMode p_mode, DisplayServer::VSyncMode p_vsync_mode, unsigned int p_flags, const Rect2i & p_rect) Line 3975 (d:\sources\godot-4.1.3-stable\platform\windows\display_server_windows.cpp:3975)
godot.windows.editor.dev.x86_64.exe!DisplayServerWindows::create_sub_window(DisplayServer::WindowMode p_mode, DisplayServer::VSyncMode p_vsync_mode, unsigned int p_flags, const Rect2i & p_rect) Line 775 (d:\sources\godot-4.1.3-stable\platform\windows\display_server_windows.cpp:775)
godot.windows.editor.dev.x86_64.exe!Window::_make_window() Line 565 (d:\sources\godot-4.1.3-stable\scene\main\window.cpp:565)
godot.windows.editor.dev.x86_64.exe!Window::set_visible(bool p_visible) Line 778 (d:\sources\godot-4.1.3-stable\scene\main\window.cpp:778)
godot.windows.editor.dev.x86_64.exe!Window::show() Line 744 (d:\sources\godot-4.1.3-stable\scene\main\window.cpp:744)
godot.windows.editor.dev.x86_64.exe!Viewport::_gui_show_tooltip() Line 1533 (d:\sources\godot-4.1.3-stable\scene\main\viewport.cpp:1533)
godot.windows.editor.dev.x86_64.exe!call_with_variant_args_helper<Viewport>(Viewport * p_instance, void(Viewport::*)() p_method, const Variant * * p_args, Callable::CallError & r_error, IndexSequence<> __formal) Line 308 (d:\sources\godot-4.1.3-stable\core\variant\binder_common.h:308)
godot.windows.editor.dev.x86_64.exe!call_with_variant_args<Viewport>(Viewport * p_instance, void(Viewport::*)() p_method, const Variant * * p_args, int p_argcount, Callable::CallError & r_error) Line 418 (d:\sources\godot-4.1.3-stable\core\variant\binder_common.h:418)
godot.windows.editor.dev.x86_64.exe!CallableCustomMethodPointer<Viewport>::call(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 105 (d:\sources\godot-4.1.3-stable\core\object\callable_method_pointer.h:105)
godot.windows.editor.dev.x86_64.exe!Callable::callp(const Variant * * p_arguments, int p_argcount, Variant & r_return_value, Callable::CallError & r_call_error) Line 51 (d:\sources\godot-4.1.3-stable\core\variant\callable.cpp:51)
godot.windows.editor.dev.x86_64.exe!Object::emit_signalp(const StringName & p_name, const Variant * * p_args, int p_argcount) Line 1071 (d:\sources\godot-4.1.3-stable\core\object\object.cpp:1071)
godot.windows.editor.dev.x86_64.exe!Object::emit_signal<>(const StringName & p_name) Line 884 (d:\sources\godot-4.1.3-stable\core\object\object.h:884)
godot.windows.editor.dev.x86_64.exe!SceneTree::process_timers(double p_delta, bool p_physics_frame) Line 580 (d:\sources\godot-4.1.3-stable\scene\main\scene_tree.cpp:580)
godot.windows.editor.dev.x86_64.exe!SceneTree::process(double p_time) Line 520 (d:\sources\godot-4.1.3-stable\scene\main\scene_tree.cpp:520)
godot.windows.editor.dev.x86_64.exe!Main::iteration() Line 3428 (d:\sources\godot-4.1.3-stable\main\main.cpp:3428)
godot.windows.editor.dev.x86_64.exe!OS_Windows::run() Line 1474 (d:\sources\godot-4.1.3-stable\platform\windows\os_windows.cpp:1474)
godot.windows.editor.dev.x86_64.exe!widechar_main(int argc, wchar_t * * argv) Line 182 (d:\sources\godot-4.1.3-stable\platform\windows\godot_windows.cpp:182)
godot.windows.editor.dev.x86_64.exe!_main() Line 204 (d:\sources\godot-4.1.3-stable\platform\windows\godot_windows.cpp:204)
Steps to reproduce
- Create a script with a PackedInt32Array and fill it with 1024 elements with reasonably high values
- Set a breakpoint AFTER the array values initialization
- Launch the project, hit the breakpoint
- Hover the mouse cursor over the array variable, trying to view the tool tip
- The Godot Editor will crash