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

Mem leak when importing a collada model #37266

Closed
WilliamTambellini opened this issue Mar 24, 2020 · 6 comments
Closed

Mem leak when importing a collada model #37266

WilliamTambellini opened this issue Mar 24, 2020 · 6 comments
Labels

Comments

@WilliamTambellini
Copy link

Godot version:
3.2.1
OS/device including version:
ubuntu 16
Issue description:
godot memory allocates/leaks dozen of MB per sec, starts to freeze till OOM/crash
Steps to reproduce:

@aaronfranke
Copy link
Member

Those assets cost money and as such aren't easy to test. Please provide a minimal reproduction project.

@WilliamTambellini
Copy link
Author

WilliamTambellini commented Mar 24, 2020

This asset is free, and github refuses to upload dae file type.
Master branch is crashing when clicking on the skeleton node:

$ bin/godot.x11.tools.64 -v project.godot 
Godot Engine v4.0.dev.custom_build.ed9a0d048 - https://godotengine.org
XInput: Refreshing devices.
XInput: No touch devices found.
Driver: Vulkan [0]
PulseAudio: detected 2 channels
PulseAudio: audio buffer frames: 512 calculated latency: 11ms
Construct gdnative interface
Destruct gdnative interface
EditorSettings: Load OK!
Loaded builtin certs
EditorSettings: Save OK!
Loading resource: res://head_dummie.dae
WARNING: Mesh uses old surface format, which is deprecated (and loads slower). Consider re-importing or re-saving the scene.
     at: _set (scene/resources/mesh.cpp:741)
convert vertex16: 0 convert bone 8 1 convert weight 32 0
format pre: 97731
format post: 32195
Failed method: EditorSpinSlider::_update_callback
handle_crash: Program crashed with signal 11
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(+0x354b0) [0x7f904237c4b0] (??:0)
[2] Callable::get_object() const (godot/core/callable.cpp:60)
[3] MessageQueue::statistics() (godot/core/message_queue.cpp:175)
[4] MessageQueue::push_callable(Callable const&, Variant const**, int, bool) (godot/core/message_queue.cpp:142)
[5] MessageQueue::push_call(ObjectID, StringName const&, Variant const**, int, bool) (godot/core/message_queue.cpp:46)
[6] MessageQueue::push_call(ObjectID, StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (godot/core/message_queue.cpp:62)
[7] MessageQueue::push_call(Object*, StringName const&, Variant const&, Variant const&, Variant const&, Variant const&, Variant const&) (godot/core/message_queue.cpp:121)
[8] CanvasItem::update() (godot/scene/2d/canvas_item.cpp:617 (discriminator 2))
[9] CanvasItem::_update_texture_filter_changed(bool) (godot/scene/2d/canvas_item.cpp:1339)
[10] CanvasItem::_notification(int) (godot/scene/2d/canvas_item.cpp:548)
[11] CanvasItem::_notificationv(int, bool) (godot/./scene/2d/canvas_item.h:166 (discriminator 14))
[12] Control::_notificationv(int, bool) (godot/./scene/gui/control.h:48 (discriminator 3))
[13] Range::_notificationv(int, bool) (godot/./scene/gui/range.h:38 (discriminator 3))
[14] EditorSpinSlider::_notificationv(int, bool) (godot/editor/editor_spin_slider.h:39 (discriminator 3))
[15] Object::notification(int, bool) (godot/core/object.cpp:915)
[16] Node::_propagate_enter_tree() (godot/scene/main/node.cpp:227)
[17] Node::_propagate_enter_tree() (godot/scene/main/node.cpp:239 (discriminator 2))
[18] Node::_propagate_enter_tree() (godot/scene/main/node.cpp:239 (discriminator 2))
[19] Node::_set_tree(SceneTree*) (godot/scene/main/node.cpp:2642)
[20] Node::_add_child_nocheck(Node*, StringName const&) (godot/scene/main/node.cpp:1246)
[21] Node::add_child(Node*, bool) (godot/scene/main/node.cpp:1260)
[22] EditorInspector::update_tree() (godot/editor/editor_inspector.cpp:1784)
[23] EditorInspector::edit(Object*) (godot/editor/editor_inspector.cpp:1876)
[24] EditorNode::_edit_current() (godot/editor/editor_node.cpp:1825)
[25] EditorNode::push_item(Object*, String const&, bool) (godot/editor/editor_node.cpp:1723)
[26] SceneTreeDock::_node_selected() (godot/editor/scene_tree_dock.cpp:1213 (discriminator 2))
[27] void call_with_variant_args_helper<SceneTreeDock>(SceneTreeDock*, void (SceneTreeDock::*)(), Variant const**, Callable::CallError&, IndexSequence<>) (godot/./core/callable_method_pointer.h:139 (discriminator 4))
[28] void call_with_variant_args<SceneTreeDock>(SceneTreeDock*, void (SceneTreeDock::*)(), Variant const**, int, Callable::CallError&) (repos/godot/./core/callable_method_pointer.h:160)
[29] CallableCustomMethodPointer<SceneTreeDock>::call(Variant const**, int, Variant&, Callable::CallError&) const (repos/godot/./core/callable_method_pointer.h:177)
[30] Callable::call(Variant const**, int, Variant&, Callable::CallError&) const (/godot/core/callable.cpp:54)
[31] MessageQueue::_call_function(Callable const&, Variant const*, int, bool) (godot/core/message_queue.cpp:254)
[32] MessageQueue::flush() (godot/core/message_queue.cpp:305)
[33] SceneTree::iteration(float) (godot/scene/main/scene_tree.cpp:486 (discriminator 2))
[34] Main::iteration() (godot/main/main.cpp:2001)
[35] OS_X11::run() (godot/platform/x11/os_x11.cpp:3337)
[36] bin/godot.x11.tools.64(main+0xfa) [0x16b8604] (godot/platform/x11/godot_x11.cpp:57)
[37] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0) [0x7f9042367830] (??:0)
[38] bin/godot.x11.tools.64(_start+0x29) [0x16b8409] (??:?)
-- END OF BACKTRACE --
Aborted (core dumped)

@aaronfranke
Copy link
Member

aaronfranke commented Mar 24, 2020

The master branch isn't expected to work right now.

You have to sign in to download those assets. Again, this isn't ideal as a test case, since it requires that any testers would have to wait 20 seconds, create an account, sign in, go back to the page, download, create a new project, and import. Even then, our projects may not be identical. This is (one of the many reasons) why we ask users provide minimal reproduction projects.

@Calinou
Copy link
Member

Calinou commented Mar 24, 2020

This asset is free, and github refuses to upload dae file type.

You can compress any file in a ZIP archive and upload it to GitHub, as long as it's smaller than 20 MB (if I recall correctly). If it's larger, use a public Dropbox or Google Drive link. These platforms (and GitHub uploads) should be preferred to WeTransfer and the like as files don't expire over time.

@Calinou
Copy link
Member

Calinou commented Apr 5, 2020

  • click on the skeleton node

This is actually a duplicate of #35652 🙂

@WilliamTambellini
Copy link
Author

cool, tks

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

No branches or pull requests

3 participants