You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Manjaro Linux w/ KDE. Tested on Ryzen/Radeon and Intel/Nvidia machines
Issue description
A project I am working on became impossible to load in Godot 4 Editor.
I am able to run the game itself just fine, but when attempting to open the game project in the editor, it either freezes or crashes.
Crashes happen with this output:
pure virtual method called
terminate called without an active exception
--Type <RET> for more, q to quit, c to continue without paging--
Thread 1 "godot" received signal SIGABRT, Aborted.
0x00007ffff7af2d22 in raise () from /usr/lib/libc.so.6
Freezes show this backtrace after I stop the process manually:
Thread 1 "godot" received signal SIGTSTP, Stopped (user).
std::atomic_flag::test_and_set (__m=std::memory_order_acquire, this=0xa0ce7e8) at /usr/include/c++/9/bits/atomic_base.h:195
195 /usr/include/c++/9/bits/atomic_base.h: No such file or directory.
(gdb) bt
#0 std::atomic_flag::test_and_set (__m=std::memory_order_acquire, this=0xa0ce7e8) at /usr/include/c++/9/bits/atomic_base.h:195
#1 SpinLock::lock (this=0xa0ce7e8) at ./core/os/spin_lock.h:43
#2 RID_Alloc<RendererStorageRD::Material, true>::owns (this=0xa0ce7b0, p_rid=...) at ./core/templates/rid_owner.h:223
#3 0x00000000052e253d in RID_Owner<RendererStorageRD::Material, true>::owns (this=0xa0ce7b0, p_rid=...) at ./core/templates/rid_owner.h:475
#4 0x00000000052d396a in RendererStorageRD::free (this=0xa0ce510, p_rid=...) at servers/rendering/renderer_rd/renderer_storage_rd.cpp:8674
#5 0x000000000520577a in RenderingServerDefault::_free (this=0xa07f790, p_rid=...) at servers/rendering/rendering_server_default.cpp:68
#6 0x0000000005248d6f in CommandQueueMT::Command1<RenderingServerDefault, void (RenderingServerDefault::*)(RID), RID>::call (this=0x7fff500d8f78) at ./core/templates/command_queue_mt.h:322
#7 0x00000000051207e1 in CommandQueueMT::_flush (this=0xa07f938) at ./core/templates/command_queue_mt.h:373
#8 0x000000000512086e in CommandQueueMT::flush_if_pending (this=0xa07f938) at ./core/templates/command_queue_mt.h:404
#9 0x000000000521ffa2 in RenderingServerDefault::free (this=0xa07f790, p_rid=...) at servers/rendering/rendering_server_default.h:910
#10 0x0000000004d42282 in GradientTexture::~GradientTexture (this=0x7fff500344c0, __in_chrg=<optimized out>) at scene/resources/texture.cpp:1517
#11 0x0000000002089b19 in memdelete<RefCounted> (p_class=0x7fff500344c0) at ./core/os/memory.h:115
#12 0x0000000005910a37 in Variant::_clear_internal (this=0x1ddac098) at core/variant/variant.cpp:1309
#13 0x0000000001ffded3 in Variant::clear (this=0x1ddac098) at ./core/variant/variant.h:257
#14 0x0000000001ffdef8 in Variant::~Variant (this=0x1ddac098, __in_chrg=<optimized out>) at ./core/variant/variant.h:672
#15 0x00000000022bb5de in Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::Element::~Element (this=0x1ddac060, __in_chrg=<optimized out>) at ./core/templates/map.h:49
#16 0x00000000022bb61d in memdelete_allocator<Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::Element, DefaultAllocator> (p_class=0x1ddac060) at ./core/os/memory.h:127
#17 0x00000000022b5080 in Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::_cleanup_tree (this=0xa51dce0, p_element=0x1ddac060) at ./core/templates/map.h:487
#18 0x00000000022b505d in Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::_cleanup_tree (this=0xa51dce0, p_element=0x1ddcf050) at ./core/templates/map.h:485
#19 0x00000000022b5074 in Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::_cleanup_tree (this=0xa51dce0, p_element=0x1ddb6d70) at ./core/templates/map.h:486
#20 0x00000000022b5074 in Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::_cleanup_tree (this=0xa51dce0, p_element=0x1dde6060) at ./core/templates/map.h:486
#21 0x00000000022b5074 in Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::_cleanup_tree (this=0xa51dce0, p_element=0x1dde3100) at ./core/templates/map.h:486
#22 0x00000000022b505d in Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::_cleanup_tree (this=0xa51dce0, p_element=0x1dde0ef0) at ./core/templates/map.h:485
#23 0x00000000022ac37c in Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::clear (this=0xa51dce0) at ./core/templates/map.h:647
#24 0x00000000022a465a in Map<StringName, Variant, Comparator<StringName>, DefaultAllocator>::~Map (this=0xa51dce0, __in_chrg=<optimized out>) at ./core/templates/map.h:664
#25 0x00000000052dbd1e in RendererStorageRD::Material::~Material (this=0xa51dcb0, __in_chrg=<optimized out>) at servers/rendering/renderer_rd/renderer_storage_rd.h:374
#26 0x00000000052f6565 in RID_Alloc<RendererStorageRD::Material, true>::free (this=0xa0ce7b0, p_rid=...) at ./core/templates/rid_owner.h:279
#27 0x00000000052e2563 in RID_Owner<RendererStorageRD::Material, true>::free (this=0xa0ce7b0, p_rid=...) at ./core/templates/rid_owner.h:479
--Type <RET> for more, q to quit, c to continue without paging--c
#28 0x00000000052d3a31 in RendererStorageRD::free (this=0xa0ce510, p_rid=...) at servers/rendering/renderer_rd/renderer_storage_rd.cpp:8682
#29 0x000000000520577a in RenderingServerDefault::_free (this=0xa07f790, p_rid=...) at servers/rendering/rendering_server_default.cpp:68
#30 0x0000000005248d6f in CommandQueueMT::Command1<RenderingServerDefault, void (RenderingServerDefault::*)(RID), RID>::call (this=0x7fff500d8f78) at ./core/templates/command_queue_mt.h:322
#31 0x00000000051207e1 in CommandQueueMT::_flush (this=0xa07f938) at ./core/templates/command_queue_mt.h:373
#32 0x000000000512086e in CommandQueueMT::flush_if_pending (this=0xa07f938) at ./core/templates/command_queue_mt.h:404
#33 0x000000000521da0a in RenderingServerDefault::canvas_item_clear (this=0xa07f790, p1=...) at servers/rendering/rendering_server_default.h:825
#34 0x00000000042b85eb in CanvasItem::_update_callback (this=0x1b0506f0) at scene/main/canvas_item.cpp:418
#35 0x00000000020a7547 in call_with_variant_args_helper<__UnexistingClass>(__UnexistingClass*, void (__UnexistingClass::*)(), Variant const**, Callable::CallError&, IndexSequence<>) (p_instance=0x1b0506f0, p_method=(void (__UnexistingClass::*)(__UnexistingClass * const)) 0x42b8572 <CanvasItem::_update_callback()>, p_args=0x7fffffffcbf0, r_error=...) at ./core/variant/binder_common.h:218
#36 0x00000000020a5ea0 in call_with_variant_args_dv<__UnexistingClass> (p_instance=0x1b0506f0, p_method=(void (__UnexistingClass::*)(__UnexistingClass * const)) 0x42b8572 <CanvasItem::_update_callback()>, p_args=0x0, p_argcount=0, r_error=..., default_values=...) at ./core/variant/binder_common.h:365
#37 0x00000000020a45f2 in MethodBindT<>::call(Object*, Variant const**, int, Callable::CallError&) (this=0xb790200, p_object=0x1b0506f0, p_args=0x0, p_arg_count=0, r_error=...) at ./core/object/method_bind.h:285
#38 0x0000000005b8f98a in Object::call (this=0x1b0506f0, p_method=..., p_args=0x0, p_argcount=0, r_error=...) at core/object/object.cpp:832
#39 0x00000000059085f9 in Callable::call (this=0x7ffff6bfb0e8, p_arguments=0x0, p_argcount=0, r_return_value=..., r_call_error=...) at core/variant/callable.cpp:62
#40 0x0000000005b888de in MessageQueue::_call_function (this=0x9908550, p_callable=..., p_args=0x7ffff6bfb100, p_argcount=0, p_show_error=false) at core/object/message_queue.cpp:258
#41 0x0000000005b88c1a in MessageQueue::flush (this=0x9908550) at core/object/message_queue.cpp:304
#42 0x000000000432f6d4 in SceneTree::physics_process (this=0xa1d6030, p_time=0.0166666675) at scene/main/scene_tree.cpp:415
#43 0x000000000203f407 in Main::iteration () at main/main.cpp:2515
#44 0x0000000001ffff1a in OS_LinuxBSD::run (this=0x7fffffffd1f0) at platform/linuxbsd/os_linuxbsd.cpp:278
#45 0x0000000001ffcf34 in main (argc=4, argv=0x7fffffffd6f8) at platform/linuxbsd/godot_linuxbsd.cpp:58
In rare cases the game loads fine, so the same action may have 3 different results, seemingly at random.
I have tested this issue in many version of Godot 4, and was not able to find a version that consistently loads the project yet.
At first I though a specific texture file was responsible for this, but then it turned out it makes no real difference.
This is a real showstopper. Me and a small team are completely stuck because of this.
So if there's anything I can do to help fixing this issue - please let me know.
I've bisected my source tree and found that unfa/liblast@7de4dfb is the first bad commit.
I am trying to understand what in that commit has made this game project freeze or crash Godot.
Can anyone reproduce this?
Steps to reproduce
Follow instructions to clone and install this game project: https://github.com/unfa/liblast
Load the project in Godot 4.0 Editor
Observe as Godot Editor crashes or freezes
Switch to this commit: 65fed80abc57a06c00322b2195430dd801209234
Try loading the project in Godot Editor again
Observe as the project loads fine
Minimal reproduction project
No response
The text was updated successfully, but these errors were encountered:
@Zireael07: I think it's GPU Particles. I did not use CPU Particles anywhere.
Calinou
changed the title
Editor freezes or crashes when loading a project
Editor freezes or crashes when loading a project due to GPUParticles3D
Jul 1, 2021
Godot version
Last reproduced with v4.0.dev.calinou.9b8095ad0
System information
Manjaro Linux w/ KDE. Tested on Ryzen/Radeon and Intel/Nvidia machines
Issue description
A project I am working on became impossible to load in Godot 4 Editor.
I am able to run the game itself just fine, but when attempting to open the game project in the editor, it either freezes or crashes.
Crashes happen with this output:
Freezes show this backtrace after I stop the process manually:
In rare cases the game loads fine, so the same action may have 3 different results, seemingly at random.
I have tested this issue in many version of Godot 4, and was not able to find a version that consistently loads the project yet.
At first I though a specific texture file was responsible for this, but then it turned out it makes no real difference.
This is a real showstopper. Me and a small team are completely stuck because of this.
So if there's anything I can do to help fixing this issue - please let me know.
I've bisected my source tree and found that unfa/liblast@7de4dfb is the first bad commit.
I am trying to understand what in that commit has made this game project freeze or crash Godot.
Can anyone reproduce this?
Steps to reproduce
https://github.com/unfa/liblast
Minimal reproduction project
No response
The text was updated successfully, but these errors were encountered: