-
-
Notifications
You must be signed in to change notification settings - Fork 18.8k
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
Engine and/or entire computer crashes when resizing the game window and rendering/driver/threads/thread_model
= Multi-Threaded
#64766
Comments
I'm on Fedora 36, Radeon R9 390X with the amdgpu driver, also using Plasma. For me, resizing the window freezes the application on multi-threaded on X11. On Wayland it does crash, but with no stacktrace, it just prints |
I can confirm this on 4.0.alpha ff04cb8 (Fedora 36, KDE Plasma + KWin on X11, NVIDIA 515.65.01). Crash does not always happen when resizing, but dragging the resize handle slowly is a sure way to make it happen. X11 will appear to freeze for ~10 seconds when the engine crashes. The default backtrace isn't very informative:
gdb gives a more complete backtrace: (gdb) bt
#0 0x00007fffdd6be1cc in ?? () from /lib64/libnvidia-glcore.so.515.65.01
#1 0x00007fffdd69f344 in ?? () from /lib64/libnvidia-glcore.so.515.65.01
#2 0x00007fffdd5e5a96 in ?? () from /lib64/libnvidia-glcore.so.515.65.01
#3 0x00007fffdd5e5ba1 in ?? () from /lib64/libnvidia-glcore.so.515.65.01
#4 0x00007fffdd5e5d31 in ?? () from /lib64/libnvidia-glcore.so.515.65.01
#5 0x00007fffdf2a4a9b in ?? () from /lib64/libGLX_nvidia.so.0
#6 0x0000000005a8a438 in VulkanContext::_clean_up_swap_chain (this=0xa9902f0,
window=0xaba9548) at drivers/vulkan/vulkan_context.cpp:1538
#7 0x0000000005a888ad in VulkanContext::_update_swap_chain (this=0xa9902f0, window=0xaba9548)
at drivers/vulkan/vulkan_context.cpp:1560
#8 0x0000000005a8aced in VulkanContext::prepare_buffers (this=0xa9902f0)
at drivers/vulkan/vulkan_context.cpp:2056
#9 0x0000000005a17171 in RenderingDeviceVulkan::prepare_screen_for_drawing (this=0xad7d4f0)
at drivers/vulkan/rendering_device_vulkan.cpp:9151
#10 0x0000000008a6238d in RendererCompositorRD::prepare_for_blitting_render_targets (
this=0xa8f0830) at servers/rendering/renderer_rd/renderer_compositor_rd.cpp:37
#11 0x00000000088c2d10 in RendererViewport::draw_viewports (this=0xb25bc50)
at servers/rendering/renderer_viewport.cpp:740
#12 0x0000000008939713 in RenderingServerDefault::_draw (this=0xb228e10, p_swap_buffers=true,
frame_step=0.0013591249999259595) at servers/rendering/rendering_server_default.cpp:91
#13 0x000000000893b07f in RenderingServerDefault::_thread_draw (this=0xb228e10,
p_swap_buffers=true, frame_step=0.0013591249999259595)
at servers/rendering/rendering_server_default.cpp:336
#14 0x000000000898bff9 in CommandQueueMT::Command2<RenderingServerDefault, void (RenderingServerDefault::*)(bool, double), bool, double>::call (this=0xd9dfde8)
at ./core/templates/command_queue_mt.h:322
#15 0x000000000848833c in CommandQueueMT::_flush (this=0xb229050)
at ./core/templates/command_queue_mt.h:373
#16 0x0000000008481ee0 in CommandQueueMT::wait_and_flush (this=0xb229050)
at ./core/templates/command_queue_mt.h:414
#17 0x000000000893b13d in RenderingServerDefault::_thread_loop (this=0xb228e10)
at servers/rendering/rendering_server_default.cpp:358
#18 0x000000000893ab0d in RenderingServerDefault::_thread_callback (_instance=0xb228e10)
at servers/rendering/rendering_server_default.cpp:345
#19 0x0000000009018f8f in Thread::callback (p_self=0xb2293e0, p_settings=...,
p_callback=0x893aaf0 <RenderingServerDefault::_thread_callback(void*)>,
p_userdata=0xb228e10) at core/os/thread.cpp:75
#20 0x0000000009019e3a in std::__invoke_impl<void, void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*> (
__f=@0xd04ec78: 0x9018f10 <Thread::callback(Thread*, Thread::Settings const&, void (*)(void*), void*)>, __args=@0xd04ec58: 0xb228e10, __args=@0xd04ec58: 0xb228e10,
__args=@0xd04ec58: 0xb228e10, __args=@0xd04ec58: 0xb228e10)
at /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:61
#21 0x0000000009019cb1 in std::__invoke<void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*> (
__fn=@0xd04ec78: 0x9018f10 <Thread::callback(Thread*, Thread::Settings const&, void (*)(void*), void*)>, __args=@0xd04ec58: 0xb228e10, __args=@0xd04ec58: 0xb228e10,
__args=@0xd04ec58: 0xb228e10, __args=@0xd04ec58: 0xb228e10)
at /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/invoke.h:96
#22 0x0000000009019c2d in std::thread::_Invoker<std::tuple<void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*> >::_M_invoke<0ul, 1ul, 2ul, 3ul, 4ul> (this=0xd04ec58)
at /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_thread.h:252
#23 0x0000000009019b95 in std::thread::_Invoker<std::tuple<void (*)(Thread*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*> >::operator() (this=0xd04ec58)
at /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_thread.h:259
#24 0x0000000009019809 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (*)(Th--Type <RET> for more, q to quit, c to continue without paging--
read*, Thread::Settings const&, void (*)(void*), void*), Thread*, Thread::Settings, void (*)(void*), void*> > >::_M_run (this=0xd04ec50)
at /usr/bin/../lib/gcc/x86_64-redhat-linux/12/../../../../include/c++/12/bits/std_thread.h:210
#25 0x0000000009b31403 in execute_native_thread_routine ()
#26 0x00007ffff7a8ce2d in start_thread () from /lib64/libc.so.6
#27 0x00007ffff7b121b0 in clone3 () from /lib64/libc.so.6 |
Same/similar issue still in Godot v4.0.beta2.mono.official (f8745f2)
|
Removing |
I'm having the same issue in a project that isn't using the multi-threaded model; it's instead using I'm not sure if they are two different issues, as it seems if I switch to System Info
|
@RobTheFiveNine I can also reproduce this crash with Although I can only reproduce the crash when using Wayland. X11 seems to work fine (Godot 4.1.1) |
So this is interesting, using GodotSteam "macos-g413-s158-gs4421" Godot 4.1.3, I get the resize freeze when thread mode is set to Single Safe. If I set it to multi threaded - resizing works and the scenes run (from the editor) a lot nicer too. The editor continues to be responsive, only the game window hangs. If I use the stop option in the editor, it ends the game process successfully. MBP Apple M1, 32GB ram, macOS Sonoma 14.1 (23B74) |
Godot version
v4.0.alpha.custom_build [61f045245]
System information
Arch Linux x86_64, Kernel 5.15.61-1-lts, AMD RX 6800 XT, Mesa 22.1.6, Plasma 5.25.4, KWin+X11
Issue description
Similar to #58606
Steps to reproduce
Minimal reproduction project
empty.zip
The text was updated successfully, but these errors were encountered: