Godot: Editor crashes when renaming a folder

Created on 14 Mar 2019  路  5Comments  路  Source: godotengine/godot

Godot version: 3.1 (Official Release)

OS/device including version: Ubuntu 18.10

Graphics:
GPU: Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller
Driver: Mesa DRI Intel(R) Haswell Desktop

Issue description:
When i renamed a folder with scenes and scripts inside, the godot crashed and closed, but after that i re-opened my project and the folder was renamed.

Minimal reproduction project:
https://github.com/MatheusPese/Tetris-Godot

Steps to reproduce:
inside godot, click on the folder "Shapes", then rename it to "shapes"

bug confirmed crash linuxbsd core editor

Most helpful comment

I have the same issue. When I rename a folder in my project, it would seem to rename the folder in the background but the app gets stuck and then crash.

In my case the rename was completely different, not just a change in case, but also crashing.

Running macOS Mojave (latest - 10.14.2)

All 5 comments

Note, that you need to have opened scene from this folder(I don't know how many, I opened all)

[1] /lib/x86_64-linux-gnu/libc.so.6(+0x3ef20) [0x7fef5bad3f20] (??:0)
[2] Node::get_node_or_null(NodePath const&) const (/home/rafal/Pulpit/godot/scene/main/node.cpp:1316)
[3] SceneState::instance(SceneState::GenEditState) const (/home/rafal/Pulpit/godot/scene/resources/packed_scene.cpp:97 (discriminator 4))
[4] PackedScene::instance(PackedScene::GenEditState) const (/home/rafal/Pulpit/godot/scene/resources/packed_scene.cpp:1699)
[5] EditorData::check_and_update_scene(int) (/home/rafal/Pulpit/godot/editor/editor_data.cpp:642 (discriminator 5))
[6] EditorNode::set_current_scene(int) (/home/rafal/Pulpit/godot/editor/editor_node.cpp:2888)
[7] MethodBind1<int>::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:729 (discriminator 12))
[8] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/core/object.cpp:942 (discriminator 1))
[9] UndoRedo::_process_operation_list(List<UndoRedo::Operation, DefaultAllocator>::Element*) (/home/rafal/Pulpit/godot/core/undo_redo.cpp:289 (discriminator 4))
[10] UndoRedo::redo() (/home/rafal/Pulpit/godot/core/undo_redo.cpp:333)
[11] UndoRedo::commit_action() (/home/rafal/Pulpit/godot/core/undo_redo.cpp:255)
[12] EditorNode::_scene_tab_changed(int) (/home/rafal/Pulpit/godot/editor/editor_node.cpp:4199 (discriminator 4))
[13] EditorNode::_remove_edited_scene() (/home/rafal/Pulpit/godot/editor/editor_node.cpp:2761)
[14] EditorNode::_remove_scene(int) (/home/rafal/Pulpit/godot/editor/editor_node.cpp:2776)
[15] EditorNode::reload_scene(String const&) (/home/rafal/Pulpit/godot/editor/editor_node.cpp:4601)
[16] FileSystemDock::_update_dependencies_after_move(Map<String, String, Comparator<String>, DefaultAllocator> const&) const (/home/rafal/Pulpit/godot/editor/filesystem_dock.cpp:1111)
[17] FileSystemDock::_rename_operation_confirm() (/home/rafal/Pulpit/godot/editor/filesystem_dock.cpp:1244)
[18] MethodBind0::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:56 (discriminator 4))
[19] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/core/object.cpp:942 (discriminator 1))
[20] Object::emit_signal(StringName const&, Variant const**, int) (/home/rafal/Pulpit/godot/core/object.cpp:1228 (discriminator 1))
[21] Object::emit_signal(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/rafal/Pulpit/godot/core/object.cpp:1285)
[22] AcceptDialog::_ok_pressed() (/home/rafal/Pulpit/godot/scene/gui/dialogs.cpp:387 (discriminator 2))
[23] AcceptDialog::_builtin_text_entered(String const&) (/home/rafal/Pulpit/godot/scene/gui/dialogs.cpp:380)
[24] MethodBind1<String const&>::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:729 (discriminator 12))
[25] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/core/object.cpp:942 (discriminator 1))
[26] Object::emit_signal(StringName const&, Variant const**, int) (/home/rafal/Pulpit/godot/core/object.cpp:1228 (discriminator 1))
[27] Object::emit_signal(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/rafal/Pulpit/godot/core/object.cpp:1285)
[28] LineEdit::_gui_input(Ref<InputEvent>) (/home/rafal/Pulpit/godot/scene/gui/line_edit.cpp:271 (discriminator 4))
[29] MethodBind1<Ref<InputEvent> >::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:729 (discriminator 12))
[30] Object::call_multilevel(StringName const&, Variant const**, int) (/home/rafal/Pulpit/godot/core/object.cpp:777 (discriminator 1))
[31] Object::call_multilevel(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/rafal/Pulpit/godot/core/object.cpp:883)
[32] Viewport::_gui_input_event(Ref<InputEvent>) (/home/rafal/Pulpit/godot/scene/main/viewport.cpp:2260 (discriminator 2))
[33] Viewport::input(Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/scene/main/viewport.cpp:2659 (discriminator 2))
[34] Viewport::_vp_input(Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/scene/main/viewport.cpp:1309)
[35] MethodBind1<Ref<InputEvent> const&>::call(Object*, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/./core/method_bind.gen.inc:729 (discriminator 12))
[36] Object::call(StringName const&, Variant const**, int, Variant::CallError&) (/home/rafal/Pulpit/godot/core/object.cpp:942 (discriminator 1))
[37] Object::call(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/rafal/Pulpit/godot/core/object.cpp:867)
[38] SceneTree::call_group_flags(unsigned int, StringName const&, StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:262)
[39] SceneTree::input_event(Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/scene/main/scene_tree.cpp:418 (discriminator 6))
[40] InputDefault::_parse_input_event_impl(Ref<InputEvent> const&, bool) (/home/rafal/Pulpit/godot/main/input_default.cpp:416)
[41] InputDefault::parse_input_event(Ref<InputEvent> const&) (/home/rafal/Pulpit/godot/main/input_default.cpp:260)
[42] InputDefault::flush_accumulated_events() (/home/rafal/Pulpit/godot/main/input_default.cpp:680)
[43] OS_X11::process_xevents() (/home/rafal/Pulpit/godot/platform/x11/os_x11.cpp:2462)
[44] OS_X11::run() (/home/rafal/Pulpit/godot/platform/x11/os_x11.cpp:3004)
[45] /usr/bin/godot(main+0xdc) [0x116b5f3] (/home/rafal/Pulpit/godot/platform/x11/godot_x11.cpp:56)
[46] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7fef5bab6b97] (??:0)
[47] /usr/bin/godot(_start+0x2a) [0x116b45a] (??:?)

Interestingly, that it not have a crash on Windows, instead its showing this message

image

I have the same issue. When I rename a folder in my project, it would seem to rename the folder in the background but the app gets stuck and then crash.

In my case the rename was completely different, not just a change in case, but also crashing.

Running macOS Mojave (latest - 10.14.2)

Note that if there is no scene opened, the rename is successful and there is no crush (for me at least on macOS Mojave 10.14.5)

Still reproducible with Godot 3.2.2

Steps to reproduce:

  1. Download and open project from first post
  2. With help CTRL + SHIFT + O open all scenes
  3. Rename Shapes folder to shapes or any other name
  4. Crash
Was this page helpful?
0 / 5 - 0 ratings