Skip to content
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

Crash when re-importing a GLB file which is used in currently edited scene. #91063

Closed
adamwych opened this issue Apr 23, 2024 · 3 comments · Fixed by #91122
Closed

Crash when re-importing a GLB file which is used in currently edited scene. #91063

adamwych opened this issue Apr 23, 2024 · 3 comments · Fixed by #91122

Comments

@adamwych
Copy link

adamwych commented Apr 23, 2024

Tested versions

  • Reproducible in: 4.3-dev [7abe0c6]
  • Reproducible after / not reproducible before: 7e08477
  • Not reproducible in: 4.2.2

System information

Godot v4.3.dev.mono (7abe0c6) - macOS 14.3.1 - Vulkan (Forward+) - integrated Apple M3 Pro - Apple M3 Pro (11 Threads)

Issue description

Editor crashes while re-importing GLB file if they are used in currently edited scene. The GLB file (attached in MRP project) is a simple box mesh with armature made and animated in Blender.

Godot Engine v4.3.dev.mono.custom_build.7abe0c601 (2024-04-22 20:38:04 UTC) - https://godotengine.org
Vulkan 1.2.275 - Forward+ - Using Device #0: Apple - Apple M3 Pro

WARNING: Adding 'Red' as child to 'Skeleton3D' will make owner 'Blob' inconsistent. Consider unsetting the owner beforehand.
     at: add_child (scene/main/node.cpp:1575)
WARNING: Entering a window while a window is hovered should never happen in DisplayServer.
     at: _event_callback (scene/main/window.cpp:712)
WARNING: Adding 'Red' as child to 'Skeleton3D' will make owner 'Blob' inconsistent. Consider unsetting the owner beforehand.
     at: add_child (scene/main/node.cpp:1575)
ERROR: Condition "p_child->data.parent != this" is true.
   at: remove_child (scene/main/node.cpp:1598)

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.dev.mono.custom_build (7abe0c6014022874378cb64a11b26b0f0f178324)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] invoke_previous_action(sigaction*, int, __siginfo*, void*, bool)
[2] 2   libsystem_platform.dylib            0x00000001861c9a24 _sigtramp + 56
[3] Node::is_part_of_edited_scene() const (in godot.macos.editor.dev.arm64.mono) (node.cpp:2573)
[4] TileMapLayerEditor::_node_change(Node*) (in godot.macos.editor.dev.arm64.mono) (tile_map_layer_editor.cpp:3668)
[5] void call_with_variant_args_helper<TileMapLayerEditor, Node*, 0ul>(TileMapLayerEditor*, void (TileMapLayerEditor::*)(Node*), Variant const**, Callable::CallError&, IndexSequence<0ul>) (in godot.macos.editor.dev.arm64.mono) (binder_common.h:309)
[6] void call_with_variant_args<TileMapLayerEditor, Node*>(TileMapLayerEditor*, void (TileMapLayerEditor::*)(Node*), Variant const**, int, Callable::CallError&) (in godot.macos.editor.dev.arm64.mono) (binder_common.h:419)
[7] CallableCustomMethodPointer<TileMapLayerEditor, Node*>::call(Variant const**, int, Variant&, Callable::CallError&) const (in godot.macos.editor.dev.arm64.mono) (callable_method_pointer.h:104)
[8] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (in godot.macos.editor.dev.arm64.mono) (callable.cpp:58)
[9] Object::emit_signalp(StringName const&, Variant const**, int) (in godot.macos.editor.dev.arm64.mono) (object.cpp:1215)
[10] Error Object::emit_signal<Node*>(StringName const&, Node*) (in godot.macos.editor.dev.arm64.mono) (object.h:935)
[11] SceneTree::node_added(Node*) (in godot.macos.editor.dev.arm64.mono) (scene_tree.cpp:128)
[12] Node::_propagate_enter_tree() (in godot.macos.editor.dev.arm64.mono) (node.cpp:300)
[13] Node::_set_tree(SceneTree*) (in godot.macos.editor.dev.arm64.mono) (node.cpp:3176)
[14] Node::_add_child_nocheck(Node*, StringName const&, Node::InternalMode) (in godot.macos.editor.dev.arm64.mono) (node.cpp:1548)
[15] Node::add_child(Node*, bool, Node::InternalMode) (in godot.macos.editor.dev.arm64.mono) (node.cpp:1580)
[16] EditorNode::reload_instances_with_path_in_edited_scenes(String const&) (in godot.macos.editor.dev.arm64.mono) (editor_node.cpp:5818)
[17] EditorNode::_resources_reimported(Vector<String> const&) (in godot.macos.editor.dev.arm64.mono) (editor_node.cpp:1055)
[18] void call_with_variant_args_helper<EditorNode, Vector<String> const&, 0ul>(EditorNode*, void (EditorNode::*)(Vector<String> const&), Variant const**, Callable::CallError&, IndexSequence<0ul>) (in godot.macos.editor.dev.arm64.mono) (binder_common.h:304)
[19] void call_with_variant_args<EditorNode, Vector<String> const&>(EditorNode*, void (EditorNode::*)(Vector<String> const&), Variant const**, int, Callable::CallError&) (in godot.macos.editor.dev.arm64.mono) (binder_common.h:419)
[20] CallableCustomMethodPointer<EditorNode, Vector<String> const&>::call(Variant const**, int, Variant&, Callable::CallError&) const (in godot.macos.editor.dev.arm64.mono) (callable_method_pointer.h:104)
[21] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (in godot.macos.editor.dev.arm64.mono) (callable.cpp:58)
[22] Object::emit_signalp(StringName const&, Variant const**, int) (in godot.macos.editor.dev.arm64.mono) (object.cpp:1215)
[23] Node::emit_signalp(StringName const&, Variant const**, int) (in godot.macos.editor.dev.arm64.mono) (node.cpp:3901)
[24] Error Object::emit_signal<Vector<String>>(StringName const&, Vector<String>) (in godot.macos.editor.dev.arm64.mono) (object.h:935)
[25] EditorFileSystem::reimport_files(Vector<String> const&) (in godot.macos.editor.dev.arm64.mono) (editor_file_system.cpp:2464)
[26] EditorFileSystem::_update_scan_actions() (in godot.macos.editor.dev.arm64.mono) (editor_file_system.cpp:697)
[27] EditorFileSystem::_notification(int) (in godot.macos.editor.dev.arm64.mono) (editor_file_system.cpp:1274)
[28] EditorFileSystem::_notificationv(int, bool) (in godot.macos.editor.dev.arm64.mono) (editor_file_system.h:138)
[29] Object::notification(int, bool) (in godot.macos.editor.dev.arm64.mono) (object.cpp:899)
[30] SceneTree::_process_group(SceneTree::ProcessGroup*, bool) (in godot.macos.editor.dev.arm64.mono) (scene_tree.cpp:971)
[31] SceneTree::_process(bool) (in godot.macos.editor.dev.arm64.mono) (scene_tree.cpp:1047)
[32] SceneTree::process(double) (in godot.macos.editor.dev.arm64.mono) (scene_tree.cpp:527)
[33] Main::iteration() (in godot.macos.editor.dev.arm64.mono) (main.cpp:4030)
[34] OS_MacOS::run() (in godot.macos.editor.dev.arm64.mono) (os_macos.mm:778)
[35] main (in godot.macos.editor.dev.arm64.mono) (godot_main_macos.mm:84)
[36] 36  dyld                                0x0000000185e190e0 start + 2360
-- END OF BACKTRACE --
================================================================

Steps to reproduce

  • Open scene2 scene from attached MRP.
  • Replace Blob.glb in project root directory with Blob.glb from "TO_REPLACE" folder.
  • Focus editor to trigger re-import.

Minimal reproduction project (MRP)

Archive.zip

@adamwych
Copy link
Author

I managed to figure out that the error started happening after commit 7e08477 (PR #87888).

@ydeltastar

This comment was marked as off-topic.

@TokageItLab

This comment was marked as off-topic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Very Bad
Development

Successfully merging a pull request may close this issue.

5 participants