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 importing gltf model #36802

Closed
dpalacio opened this issue Mar 4, 2020 · 1 comment
Closed

Crash when importing gltf model #36802

dpalacio opened this issue Mar 4, 2020 · 1 comment

Comments

@dpalacio
Copy link

dpalacio commented Mar 4, 2020

Godot version: 4.0 git-e89754fa1

OS/device including version: Debian unstable

Issue description: Godot crashes in the process of importing the attached gltf model. It also crashes if the model is imported in Godot 3.2 and then open the imported scene in Godot git-master.

Steps to reproduce: Import the attached model
model.zip

Minimal reproduction project:
ProjectTest.zip

Backtrace

ERROR: FATAL: Index p_index = 94 is out of bounds (((Vector<T> *)(this))->_cowdata.size() = 94).
   at: operator[] (./core/vector.h:49)
handle_crash: Program crashed with signal 4
Dumping the backtrace. Please include this when reporting the bug on https://github.com/godotengine/godot/issues
[1] /lib/x86_64-linux-gnu/libc.so.6(+0x39fe0) [0x7f5434892fe0] (??:0)
[2] VectorWriteProxy<AABB>::operator[](int) (/home/user/src/godot/./core/vector.h:49 (discriminator 7))
[3] RasterizerStorageRD::mesh_add_surface(RID, VisualServer::SurfaceData const&) (/home/user/src/godot/servers/visual/rasterizer_rd/rasterizer_storage_rd.cpp:1924 (discriminator 2))
[4] VisualServerRaster::mesh_add_surface(RID, VisualServer::SurfaceData const&) (/home/user/src/godot/servers/visual/visual_server_raster.h:229)
[5] VisualServerWrapMT::mesh_add_surface(RID, VisualServer::SurfaceData const&) (/home/user/src/godot/servers/visual/visual_server_wrap_mt.h:153 (discriminator 2))
[6] ArrayMesh::add_surface(unsigned int, Mesh::PrimitiveType, Vector<unsigned char> const&, int, Vector<unsigned char> const&, int, AABB const&, Vector<Vector<unsigned char> > const&, Vector<AABB> const&, Vector<VisualServer::SurfaceData::LOD> const&) (/home/user/src/godot/scene/resources/mesh.cpp:1138)
[7] ArrayMesh::_set(StringName const&, Variant const&) (/home/user/src/godot/scene/resources/mesh.cpp:825 (discriminator 1))
[8] ArrayMesh::_setv(StringName const&, Variant const&) (/home/user/src/godot/scene/resources/mesh.h:156 (discriminator 11))
[9] Object::set(StringName const&, Variant const&, bool*) (/home/user/src/godot/core/object.cpp:429)
[10] ResourceLoaderBinary::load() (/home/user/src/godot/core/io/resource_format_binary.cpp:782)
[11] ResourceFormatLoaderBinary::load(String const&, String const&, Error*, bool, float*) (/home/user/src/godot/core/io/resource_format_binary.cpp:1045)
[12] ResourceLoader::_load(String const&, String const&, String const&, bool, Error*, bool, float*) (/home/user/src/godot/core/io/resource_loader.cpp:203 (discriminator 6))
[13] ResourceFormatImporter::load(String const&, String const&, Error*, bool, float*) (/home/user/src/godot/core/io/resource_importer.cpp:133)
[14] ResourceLoader::_load(String const&, String const&, String const&, bool, Error*, bool, float*) (/home/user/src/godot/core/io/resource_loader.cpp:203 (discriminator 6))
[15] ResourceLoader::load(String const&, String const&, bool, Error*) (/home/user/src/godot/core/io/resource_loader.cpp:606 (discriminator 3))
[16] EditorNode::load_scene(String const&, bool, bool, bool, bool) (/home/user/src/godot/editor/editor_node.cpp:3397 (discriminator 2))
[17] EditorNode::_open_imported() (/home/user/src/godot/editor/editor_node.cpp:5321)
[18] void call_with_variant_args_helper<EditorNode>(EditorNode*, void (EditorNode::*)(), Variant const**, Callable::CallError&, IndexSequence<>) (/home/user/src/godot/./core/callable_method_pointer.h:139 (discriminator 4))
[19] void call_with_variant_args<EditorNode>(EditorNode*, void (EditorNode::*)(), Variant const**, int, Callable::CallError&) (/home/user/src/godot/./core/callable_method_pointer.h:161)
[20] CallableCustomMethodPointer<EditorNode>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/user/src/godot/./core/callable_method_pointer.h:177)
[21] Callable::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/user/src/godot/core/callable.cpp:54)
[22] Object::emit_signal(StringName const&, Variant const**, int) (/home/user/src/godot/core/object.cpp:1200)
[23] Object::emit_signal(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/user/src/godot/core/object.cpp:1257)
[24] AcceptDialog::_ok_pressed() (/home/user/src/godot/scene/gui/dialogs.cpp:409 (discriminator 2))
[25] void call_with_variant_args_helper<AcceptDialog>(AcceptDialog*, void (AcceptDialog::*)(), Variant const**, Callable::CallError&, IndexSequence<>) (/home/user/src/godot/./core/callable_method_pointer.h:139 (discriminator 4))
[26] void call_with_variant_args<AcceptDialog>(AcceptDialog*, void (AcceptDialog::*)(), Variant const**, int, Callable::CallError&) (/home/user/src/godot/./core/callable_method_pointer.h:161)
[27] CallableCustomMethodPointer<AcceptDialog>::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/user/src/godot/./core/callable_method_pointer.h:177)
[28] Callable::call(Variant const**, int, Variant&, Callable::CallError&) const (/home/user/src/godot/core/callable.cpp:54)
[29] Object::emit_signal(StringName const&, Variant const**, int) (/home/user/src/godot/core/object.cpp:1200)
[30] Object::emit_signal(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/user/src/godot/core/object.cpp:1257)
[31] BaseButton::_pressed() (/home/user/src/godot/scene/gui/base_button.cpp:135 (discriminator 2))
[32] BaseButton::on_action_event(Ref<InputEvent>) (/home/user/src/godot/scene/gui/base_button.cpp:174)
[33] BaseButton::_gui_input(Ref<InputEvent>) (/home/user/src/godot/scene/gui/base_button.cpp:64 (discriminator 3))
[34] MethodBind1<Ref<InputEvent> >::call(Object*, Variant const**, int, Callable::CallError&) (/home/user/src/godot/./core/method_bind.gen.inc:775 (discriminator 12))
[35] Object::call_multilevel(StringName const&, Variant const**, int) (/home/user/src/godot/core/object.cpp:746 (discriminator 1))
[36] Object::call_multilevel(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/user/src/godot/core/object.cpp:847)
[37] Viewport::_gui_call_input(Control*, Ref<InputEvent> const&) (/home/user/src/godot/scene/main/viewport.cpp:1654 (discriminator 2))
[38] Viewport::_gui_input_event(Ref<InputEvent>) (/home/user/src/godot/scene/main/viewport.cpp:2034 (discriminator 3))
[39] Viewport::input(Ref<InputEvent> const&) (/home/user/src/godot/scene/main/viewport.cpp:2811 (discriminator 2))
[40] Viewport::_vp_input(Ref<InputEvent> const&) (/home/user/src/godot/scene/main/viewport.cpp:1430)
[41] MethodBind1<Ref<InputEvent> const&>::call(Object*, Variant const**, int, Callable::CallError&) (/home/user/src/godot/./core/method_bind.gen.inc:775 (discriminator 12))
[42] Object::call(StringName const&, Variant const**, int, Callable::CallError&) (/home/user/src/godot/core/object.cpp:903 (discriminator 1))
[43] Object::call(StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/user/src/godot/core/object.cpp:831)
[44] SceneTree::call_group_flags(unsigned int, StringName const&, StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (/home/user/src/godot/scene/main/scene_tree.cpp:277)
[45] SceneTree::input_event(Ref<InputEvent> const&) (/home/user/src/godot/scene/main/scene_tree.cpp:433 (discriminator 6))
[46] InputDefault::_parse_input_event_impl(Ref<InputEvent> const&, bool) (/home/user/src/godot/main/input_default.cpp:416)
[47] InputDefault::parse_input_event(Ref<InputEvent> const&) (/home/user/src/godot/main/input_default.cpp:260)
[48] InputDefault::flush_accumulated_events() (/home/user/src/godot/main/input_default.cpp:679)
[49] OS_X11::process_xevents() (/home/user/src/godot/platform/x11/os_x11.cpp:2763)
[50] OS_X11::run() (/home/user/src/godot/platform/x11/os_x11.cpp:3333)
[51] /home/user/src/godot/bin/godot.x11.tools.64(main+0xfa) [0x169e73c] (/home/user/src/godot/platform/x11/godot_x11.cpp:57)
[52] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xeb) [0x7f543487fbbb] (??:0)
[53] /home/user/src/godot/bin/godot.x11.tools.64(_start+0x2a) [0x169e58a] (??:?)
-- END OF BACKTRACE --
@akien-mga
Copy link
Member

Confirmed, and I've opened a duplicate issue in #42569. I'll close this in favor of the latter as it has slightly more debug information, though your report was quite good too 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants