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 setting AnimationTree active with circular dependency (infinite loop) #79012

Closed
Kantrul opened this issue Jul 4, 2023 · 4 comments · Fixed by #79141
Closed

Crash when setting AnimationTree active with circular dependency (infinite loop) #79012

Kantrul opened this issue Jul 4, 2023 · 4 comments · Fixed by #79141

Comments

@Kantrul
Copy link

Kantrul commented Jul 4, 2023

Godot version

v4.1.rc2.official [4642448]

System information

Godot v4.1.rc2 - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 (NVIDIA; 31.0.15.3623) - AMD Ryzen 7 5700G with Radeon Graphics (16 Threads)

Issue description

When setting the AnimationTree to active, Godot crashes.

Steps to reproduce

Crash.mp4

Minimal reproduction project

Crash.zip

@Kantrul
Copy link
Author

Kantrul commented Jul 4, 2023

Im closing the issue, problem was that all the transitions were set to auto and it was in an infinite loop.

@akien-mga
Copy link
Member

We should keep it open as it's still a bug which should aim to prevent, by detecting this kind of circular dependency and break out of it.

@akien-mga akien-mga changed the title Godot crash when putting the AnimationTree to active Crash when setting AnimationTree active with circular dependency (infinite loop) Jul 4, 2023
@Flynsarmy
Copy link
Contributor

Flynsarmy commented Jul 5, 2023

It's extremely easy to fall into this issue as auto progression is the default behaviour. So if the user makes all the connections with the intention of then configuring them, it's already too late.

Another very simple reproduction of the problem in the issue linked above. I've closed it as a duplicate.

@TokageItLab
Copy link
Member

I remember adding a check to break out of this kind of infinite loop, but some check case may be not working.

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

Successfully merging a pull request may close this issue.

5 participants