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

Editor freezes and can use all OS memory after clicking on a Skeleton node with high number of bones #63068

Closed
marcinn opened this issue Jul 16, 2022 · 3 comments

Comments

@marcinn
Copy link
Contributor

marcinn commented Jul 16, 2022

Godot version

v3.5.rc.custom_build.a9920ae54

System information

Manjaro Linux, 5.10.124-1-MANJARO, x86_64, NVIDIA GM107GLM [Quadro M620 Mobile] nvidia 515.48.07, X11

Issue description

Godot hangs while clicking on the Skeleton node of imported gLTF rigged object.
After waiting a while it consumes all available memory, and OS becomes unresponsive.

Console output contains only one message repeated many times:
Object was deleted while awaiting a callback

image

The gLTF is a file exported from Blender.

Steps to reproduce

  1. Open the project and Cat.tscn
  2. Click on the Skeleton node

Minimal reproduction project

SkeletonTest.zip

@marcinn
Copy link
Contributor Author

marcinn commented Jul 16, 2022

The model contains 760 bones (stats in Blender). Is this too much for Godot, maybe? Please note that when I'm selecting the object and it's all elements in Edit or Pose mode in Blender, only 269 bones become selected.

If that's too much for Godot, why not add a warning message or even block the import? As an inexperienced user, I am not sure if I encounter a bug, or if I am doing something wrong.

@marcinn
Copy link
Contributor Author

marcinn commented Jul 16, 2022

OK, I slightly reduced number of bones to about 600. Now Editor is not crashing. It just hangs until all UI controls for bones will be initialized/rendered. I noticed that filtering properties of Skeleton node is also slow. And clicking other node and coming back to Skeleton node gives same result - a long time to render UI in the inspector pane.

So it's not a bug of a infinite loop. I will reduce amount of bones as low as possible. But I would strongly suggest adding a hard limit of supported bones (maybe configurable in editor settings) and display an error message to the user when the limit is reached, maybe with a hint like "Try to reduce bones count in your model or increase bones limit in editor settings".

@marcinn marcinn changed the title Godot is getting into infinite loop when clicking on Skeleton node in the Editor Editor freezes and can use all OS memory after clicking on a Skeleton node with high number of bones Jul 16, 2022
@Calinou
Copy link
Member

Calinou commented Jul 16, 2022

Duplicate of #35653 (same cause). See #35652 which was fixed in 4.0.alpha by some backwards-incompatible refactoring.

@Calinou Calinou closed this as not planned Won't fix, can't repro, duplicate, stale Jul 16, 2022
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

3 participants