Closed rodion-david closed 4 months ago
Getting the same crash on latest master. Seems to happen when clicking on any node in the 2D view - clicking in an empty area, or on nodes in the scene tree panel is fine.
Errors and stack trace below:
ERROR: Object argument to Callable constructor must be non-null.
at: (core\variant\callable.cpp:387)
ERROR: Condition "!p_callable.is_valid()" is true.
at: UndoRedo::add_do_method (core\object\undo_redo.cpp:147)
================================================================
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.3.beta.custom_build (92c8e87cd987e8d55d176608c3038e9c4646cb2c)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[0] HashMap<StringName,SpriteFrames::Anim,HashMapHasherDefault,HashMapComparatorDefault<StringName>,DefaultTypedAllocator<HashMapElement<StringName,SpriteFrames::Anim> > >::_lookup_pos (C:\dev\godot\core\templates\hash_map.h:100)
[1] SpriteFrames::get_animation_speed (C:\dev\godot\scene\resources\sprite_frames.cpp:145)
[2] SpriteFramesEditor::_animation_speed_changed (C:\dev\godot\editor\plugins\sprite_frames_editor_plugin.cpp:1180)
[3] CallableCustomMethodPointer<SpriteFramesEditor,double>::call (C:\dev\godot\core\object\callable_method_pointer.h:103)
[4] Callable::callp (C:\dev\godot\core\variant\callable.cpp:58)
[5] Object::emit_signalp (C:\dev\godot\core\object\object.cpp:1190)
[6] Node::emit_signalp (C:\dev\godot\scene\main\node.cpp:3890)
[7] Range::_value_changed_notify (C:\dev\godot\scene\gui\range.cpp:48)
[8] Range::set_value (C:\dev\godot\scene\gui\range.cpp:92)
[9] SpinBox::_text_submitted (C:\dev\godot\scene\gui\spin_box.cpp:93)
[10] SpinBox::_line_edit_focus_exit (C:\dev\godot\scene\gui\spin_box.cpp:239)
[11] CallableCustomMethodPointer<SpinBox>::call (C:\dev\godot\core\object\callable_method_pointer.h:104)
[12] Callable::callp (C:\dev\godot\core\variant\callable.cpp:58)
[13] CallQueue::_call_function (C:\dev\godot\core\object\message_queue.cpp:221)
[14] CallQueue::flush (C:\dev\godot\core\object\message_queue.cpp:284)
[15] SceneTree::physics_process (C:\dev\godot\scene\main\scene_tree.cpp:494)
[16] Main::iteration (C:\dev\godot\main\main.cpp:4057)
[17] OS_Windows::run (C:\dev\godot\platform\windows\os_windows.cpp:1686)
[18] widechar_main (C:\dev\godot\platform\windows\godot_windows.cpp:181)
[19] _main (C:\dev\godot\platform\windows\godot_windows.cpp:208)
[20] main (C:\dev\godot\platform\windows\godot_windows.cpp:220)
[21] __scrt_common_main_seh (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[22] <couldn't map PC to fn name>
-- END OF BACKTRACE --
================================================================
Similar stack trace with no errors when changing the Frame Duration instead:
================================================================
CrashHandlerException: Program crashed
Engine version: Godot Engine v4.3.beta.custom_build (92c8e87cd987e8d55d176608c3038e9c4646cb2c)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[0] HashMap<StringName,SpriteFrames::Anim,HashMapHasherDefault,HashMapComparatorDefault<StringName>,DefaultTypedAllocator<HashMapElement<StringName,SpriteFrames::Anim> > >::_lookup_pos (C:\dev\godot\core\templates\hash_map.h:100)
[1] SpriteFramesEditor::_frame_duration_changed (C:\dev\godot\editor\plugins\sprite_frames_editor_plugin.cpp:1230)
[2] CallableCustomMethodPointer<SpriteFramesEditor,double>::call (C:\dev\godot\core\object\callable_method_pointer.h:103)
[3] Callable::callp (C:\dev\godot\core\variant\callable.cpp:58)
[4] Object::emit_signalp (C:\dev\godot\core\object\object.cpp:1190)
[5] Node::emit_signalp (C:\dev\godot\scene\main\node.cpp:3890)
[6] Range::_value_changed_notify (C:\dev\godot\scene\gui\range.cpp:48)
[7] Range::set_value (C:\dev\godot\scene\gui\range.cpp:92)
[8] SpinBox::_text_submitted (C:\dev\godot\scene\gui\spin_box.cpp:93)
[9] SpinBox::_line_edit_focus_exit (C:\dev\godot\scene\gui\spin_box.cpp:239)
[10] CallableCustomMethodPointer<SpinBox>::call (C:\dev\godot\core\object\callable_method_pointer.h:104)
[11] Callable::callp (C:\dev\godot\core\variant\callable.cpp:58)
[12] CallQueue::_call_function (C:\dev\godot\core\object\message_queue.cpp:221)
[13] CallQueue::flush (C:\dev\godot\core\object\message_queue.cpp:284)
[14] SceneTree::physics_process (C:\dev\godot\scene\main\scene_tree.cpp:494)
[15] Main::iteration (C:\dev\godot\main\main.cpp:4057)
[16] OS_Windows::run (C:\dev\godot\platform\windows\os_windows.cpp:1686)
[17] widechar_main (C:\dev\godot\platform\windows\godot_windows.cpp:181)
[18] _main (C:\dev\godot\platform\windows\godot_windows.cpp:208)
[19] main (C:\dev\godot\platform\windows\godot_windows.cpp:220)
[20] __scrt_common_main_seh (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[21] <couldn't map PC to fn name>
-- END OF BACKTRACE --
================================================================
editor/plugins/sprite_frames_editor_plugin.cpp:1180:106: runtime error: member call on null pointer of type 'struct SpriteFrames'
editor/plugins/sprite_frames_editor_plugin.cpp:1180:106: runtime error: member access within null pointer of type 'struct SpriteFrames'
================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.beta.custom_build (6a13fdcae3662975c101213d47a1eb3a7db63cb3)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] ../godot.linuxbsd.editor.dev.x86_64.san(+0x42a256a1) [0x5ab63521e6a1] (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/crash_handler_linuxbsd.cpp:61)
[2] /lib/x86_64-linux-gnu/libc.so.6(+0x45320) [0x7ab9b3845320] (??:0)
[3] SpriteFramesEditor::_animation_speed_changed(double) (/home/runner/work/GodotBuilds/GodotBuilds/godot/editor/plugins/sprite_frames_editor_plugin.cpp:1180)
[4] void call_with_variant_args_helper<SpriteFramesEditor, double, 0ul>(SpriteFramesEditor*, void (SpriteFramesEditor::*)(double), Variant const**, Callable::CallError&, IndexSequence<0ul>) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:309 (discriminator 4))
[5] void call_with_variant_args<SpriteFramesEditor, double>(SpriteFramesEditor*, void (SpriteFramesEditor::*)(double), Variant const**, int, Callable::CallError&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:404)
[6] CallableCustomMethodPointer<SpriteFramesEditor, double>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/object/callable_method_pointer.h:101)
[7] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/variant/callable.cpp:57)
[8] Object::emit_signalp(StringName const&, Variant const**, int) (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/object/object.cpp:1188)
[9] Node::emit_signalp(StringName const&, Variant const**, int) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/main/node.cpp:3889)
[10] Error Object::emit_signal<double>(StringName const&, double) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/object/object.h:936)
[11] Range::_value_changed_notify() (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/gui/range.cpp:49)
[12] Range::Shared::emit_value_changed() (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/gui/range.cpp:58)
[13] Range::set_value(double) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/gui/range.cpp:94)
[14] SpinBox::_text_submitted(String const&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/gui/spin_box.cpp:95)
[15] SpinBox::_line_edit_focus_exit() (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/gui/spin_box.cpp:239)
[16] void call_with_variant_args_helper<SpinBox>(SpinBox*, void (SpinBox::*)(), Variant const**, Callable::CallError&, IndexSequence<>) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:309 (discriminator 4))
[17] void call_with_variant_args<SpinBox>(SpinBox*, void (SpinBox::*)(), Variant const**, int, Callable::CallError&) (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/variant/binder_common.h:404)
[18] CallableCustomMethodPointer<SpinBox>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/./core/object/callable_method_pointer.h:101)
[19] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/variant/callable.cpp:57)
[20] CallQueue::_call_function(Callable const&, Variant const*, int, bool) (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/object/message_queue.cpp:221)
[21] CallQueue::flush() (/home/runner/work/GodotBuilds/GodotBuilds/godot/core/object/message_queue.cpp:270)
[22] SceneTree::physics_process(double) (/home/runner/work/GodotBuilds/GodotBuilds/godot/scene/main/scene_tree.cpp:494)
[23] Main::iteration() (/home/runner/work/GodotBuilds/GodotBuilds/godot/main/main.cpp:4057)
[24] OS_LinuxBSD::run() (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/os_linuxbsd.cpp:962)
[25] ../godot.linuxbsd.editor.dev.x86_64.san(main+0x4c7) [0x5ab63521e040] (/home/runner/work/GodotBuilds/GodotBuilds/godot/platform/linuxbsd/godot_linuxbsd.cpp:85)
[26] /lib/x86_64-linux-gnu/libc.so.6(+0x2a1ca) [0x7ab9b382a1ca] (??:0)
[27] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0x8b) [0x7ab9b382a28b] (??:0)
[28] ../godot.linuxbsd.editor.dev.x86_64.san(_start+0x25) [0x5ab63521dab5] (??:?)
I'll try to fix this.
Tested versions
System information
Godot v4.2.2.stable - Windows 10.0.22631 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4060 Laptop GPU (NVIDIA; 31.0.15.5222) - 13th Gen Intel(R) Core(TM) i5-13500H (16 Threads)
Issue description
Editor crashes when selecting a collision object after editing FPS textbox of AnimatedSprite2D animation without confirming it by pressing Enter
Steps to reproduce
Minimal reproduction project (MRP)
bug.zip