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

Renaming nodes in a scene inherited by others can cause corruption and crashes. #83595

Closed
SaracenOne opened this issue Oct 19, 2023 · 2 comments · Fixed by #83604
Closed

Renaming nodes in a scene inherited by others can cause corruption and crashes. #83595

SaracenOne opened this issue Oct 19, 2023 · 2 comments · Fixed by #83604

Comments

@SaracenOne
Copy link
Member

Godot version

f8818f8

System information

Windows 11

Issue description

Current renaming a node in a scene which is inherited by others can completely corrupt scenes which inherit it which then subsequently lead to the engine crashing.

Steps to reproduce

Open the example project.
Open BaseScene.tscn
Rename the BaseNodes to something else
Open TestScene.tscn

Minimal reproduction project

scene_composition.zip

@SaracenOne
Copy link
Member Author

SaracenOne commented Oct 19, 2023

I think I need to break this into two problems:

  • The editor already attempts to recover nodes where the parents have gone missing, so the first priority should be figuring out why this causes a crash.
  • Probably a more longer term question that will require proposals and planning, I would say a later task should be figuring out if we can not only not make it crash, but allow inherited/instanced scenes with nodes placed in-between them 'recover' from name and/or hierarchy changes, whether this is by taking advantage of the fact that we track dependencies and modifying the files directly, or introducing some kind of UID system for nodes.

I'll consider this issue closed just so long as we can prevent crashes. Partially broken scenes which require manual manual repairing is inconvinent, but not as critical for upcoming release.

@FelixSeKett
Copy link

Just discovered this bug. But my engine also crashes when I rename the root node of a scene that inherits from another one. It seems, there is no way to fix it. I use 4.2.1. Can this be considered a part of the initial issue?

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.

3 participants