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

EditorFileSystem::reimport_files crash when importing FBX file #93022

Closed
akien-mga opened this issue Jun 11, 2024 · 1 comment · Fixed by #93023
Closed

EditorFileSystem::reimport_files crash when importing FBX file #93022

akien-mga opened this issue Jun 11, 2024 · 1 comment · Fixed by #93023

Comments

@akien-mga
Copy link
Member

Tested versions

System information

Fedora Linux 40 (KDE Plasma) - Wayland - Vulkan (Forward+) - dedicated AMD Radeon RX 7600M XT (RADV NAVI33) () - AMD Ryzen 7 7840HS w/ Radeon 780M Graphics (16 Threads)

Issue description

After #92650, I get a crash when importing this model as FBX in a Godot project. CC @Hilderin

https://polyhaven.com/a/wooden_picnic_table
(FBX format, 1K textures)

================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.beta.custom_build (62a056aa56ca4471c035e43741c88e4a22d81802)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] /lib64/libc.so.6(+0x40710) [0x7fae02c22710] (??:0)
[2] HashMap<String, String, HashMapHasherDefault, HashMapComparatorDefault<String>, DefaultTypedAllocator<HashMapElement<String, String> > >::HashMap(HashMap<String, String, HashMapHasherDefault, HashMapComparatorDefault<String>, DefaultTypedAllocator<HashMapElement<String, String> > > const&) (/home/akien/Godot/godot/./core/templates/hash_map.h:561)
[3] EditorFileSystem::_reimport_files_internal(Vector<String> const&, HashMap<String, String, HashMapHasherDefault, HashMapComparatorDefault<String>, DefaultTypedAllocator<HashMapElement<String, String> > > const*) (/home/akien/Godot/godot/./editor/editor_file_system.cpp:2423)
[4] EditorFileSystem::reimport_files(Vector<String> const&) (/home/akien/Godot/godot/./editor/editor_file_system.cpp:2408)
[5] ImportDock::_reimport() (/home/akien/Godot/godot/./editor/import_dock.cpp:683)
[6] ImportDock::_reimport_attempt() (/home/akien/Godot/godot/./editor/import_dock.cpp:575)
[7] ImportDock::_reimport_pressed() (/home/akien/Godot/godot/./editor/import_dock.cpp:527)
[8] void call_with_variant_args_helper<ImportDock>(ImportDock*, void (ImportDock::*)(), Variant const**, Callable::CallError&, IndexSequence<>) (/home/akien/Godot/godot/./core/variant/binder_common.h:309)
[9] void call_with_variant_args<ImportDock>(ImportDock*, void (ImportDock::*)(), Variant const**, int, Callable::CallError&) (/home/akien/Godot/godot/./core/variant/binder_common.h:419)
[10] CallableCustomMethodPointer<ImportDock>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/akien/Godot/godot/./core/object/callable_method_pointer.h:104)
[11] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/akien/Godot/godot/./core/variant/callable.cpp:57)
[12] Object::emit_signalp(StringName const&, Variant const**, int) (/home/akien/Godot/godot/./core/object/object.cpp:1220)
[13] Node::emit_signalp(StringName const&, Variant const**, int) (/home/akien/Godot/godot/./scene/main/node.cpp:3884)
[14] Error Object::emit_signal<>(StringName const&) (/home/akien/Godot/godot/./core/object/object.h:936)
[15] BaseButton::_pressed() (/home/akien/Godot/godot/./scene/gui/base_button.cpp:138)
[16] BaseButton::on_action_event(Ref<InputEvent>) (/home/akien/Godot/godot/./scene/gui/base_button.cpp:176)
[17] BaseButton::gui_input(Ref<InputEvent> const&) (/home/akien/Godot/godot/./scene/gui/base_button.cpp:68 (discriminator 2))
[18] Control::_call_gui_input(Ref<InputEvent> const&) (/home/akien/Godot/godot/./scene/gui/control.cpp:1828)
[19] Viewport::_gui_call_input(Control*, Ref<InputEvent> const&) (/home/akien/Godot/godot/./scene/main/viewport.cpp:1561)
[20] Viewport::_gui_input_event(Ref<InputEvent>) (/home/akien/Godot/godot/./scene/main/viewport.cpp:1827 (discriminator 2))
[21] Viewport::push_input(Ref<InputEvent> const&, bool) (/home/akien/Godot/godot/./scene/main/viewport.cpp:3249 (discriminator 2))
[22] Window::_window_input(Ref<InputEvent> const&) (/home/akien/Godot/godot/./scene/main/window.cpp:1687)
[23] void call_with_variant_args_helper<Window, Ref<InputEvent> const&, 0ul>(Window*, void (Window::*)(Ref<InputEvent> const&), Variant const**, Callable::CallError&, IndexSequence<0ul>) (/home/akien/Godot/godot/./core/variant/binder_common.h:304 (discriminator 2))
[24] void call_with_variant_args<Window, Ref<InputEvent> const&>(Window*, void (Window::*)(Ref<InputEvent> const&), Variant const**, int, Callable::CallError&) (/home/akien/Godot/godot/./core/variant/binder_common.h:419)
[25] CallableCustomMethodPointer<Window, Ref<InputEvent> const&>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/akien/Godot/godot/./core/object/callable_method_pointer.h:104)
[26] Callable::callp(Variant const**, int, Variant&, Callable::CallError&) const (/home/akien/Godot/godot/./core/variant/callable.cpp:57)
[27] Variant Callable::call<Ref<InputEvent> >(Ref<InputEvent>) const (/home/akien/Godot/godot/./core/variant/variant.h:867)
[28] DisplayServerX11::_dispatch_input_event(Ref<InputEvent> const&) (/home/akien/Godot/godot/platform/linuxbsd/x11/display_server_x11.cpp:4034 (discriminator 2))
[29] DisplayServerX11::_dispatch_input_events(Ref<InputEvent> const&) (/home/akien/Godot/godot/platform/linuxbsd/x11/display_server_x11.cpp:4011)
[30] Input::_parse_input_event_impl(Ref<InputEvent> const&, bool) (/home/akien/Godot/godot/./core/input/input.cpp:774)
[31] Input::flush_buffered_events() (/home/akien/Godot/godot/./core/input/input.cpp:1053)
[32] DisplayServerX11::process_events() (/home/akien/Godot/godot/platform/linuxbsd/x11/display_server_x11.cpp:5154)
[33] OS_LinuxBSD::run() (/home/akien/Godot/godot/platform/linuxbsd/os_linuxbsd.cpp:960)
[34] /home/akien/Godot/godot/bin/godot.linuxbsd.editor.dev.x86_64.master(main+0x14b) [0x5ae7eb1] (/home/akien/Godot/godot/platform/linuxbsd/godot_linuxbsd.cpp:85)
[35] /lib64/libc.so.6(+0x2a088) [0x7fae02c0c088] (??:0)
[36] /lib64/libc.so.6(__libc_start_main+0x8b) [0x7fae02c0c14b] (??:0)
[37] /home/akien/Godot/godot/bin/godot.linuxbsd.editor.dev.x86_64.master(_start+0x25) [0x5ae7ca5] (??:?)
-- END OF BACKTRACE --
================================================================

I'm not sure the crash happens 100% of the time, but trigger a reimport manually can cause the crash too.

Steps to reproduce

Minimal reproduction project (MRP)

See above, the FBX is too big for a MRP.

@Hilderin
Copy link
Contributor

I fixed this problem in my new PR #93064 and tested with https://polyhaven.com/a/wooden_picnic_table with success.

MewPurPur pushed a commit to MewPurPur/godot that referenced this issue Jul 11, 2024
sorascode pushed a commit to sorascode/godot-soras-version that referenced this issue Jul 22, 2024
2nafish117 pushed a commit to 2nafish117/godot that referenced this issue Aug 5, 2024
chryan pushed a commit to chryan/godot that referenced this issue Aug 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Immediate Blocker
Development

Successfully merging a pull request may close this issue.

2 participants