-
-
Notifications
You must be signed in to change notification settings - Fork 21.4k
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
The engine crashes when re-importing .gtlf file #91764
Comments
Possibly related to #91726. Please include the logs shown to the issue in text form. |
where are those stored? The log is not inside |
Alternatively you can open the Command Prompt, then type: /path/to/godot -e --path /path/to/project And reproduce the crash. Then simply copy/paste the logs into the issue. |
this wasn't working, so I created a shortcut to the .exe file and pasted |
I can print the console recording and send screenshots, if necessary. |
I've just confirmed that this bug does not happen in the 4.3-dev5, only in the 4.3-dev6. |
Bisecting points to #87888 as the culprit: My console showed some errors before the crash, here's the errors + backtrace:
|
I assume this has been fixed by #91122 already |
I've been investigating this and I think I know where the issue lies. Its related to the way the Skeleton3D node creates a physical bone simulator node as an ownerless child. In what might be an oversight of my implementation of the reimport system, the system actually attempts to save and copy all nodes, including ownerless ones. This is likely resulting in a cascading effect of broken references. A more universal and reliable fix for this I think is to change the way the reimport system to have it not copy ownerless nodes, and instead, maybe, make a function call to all the nodes to give them an oppertunity to recreate any missing ownerless nodes, which I think makes sense since ownerless nodes are generally considered transient. The only question I think remains is how we make the scene tree away of if a reimport happened in case an ownerless node needs to be rebuilt manually. In this specific case, its recreated by the ready function, but there may be other situations where this is not the case. This was originally going to be covered by a NOTIFICATION_, but it was agreed upon that this was probably the wrong approach, so it may make sense to use a named function call instead. |
Tested versions
Bugs in 4.3dev6
Works in 4.3dev5
System information
Windows 10, Ryzen 3 3300x, 16gb RAM 2666mhz, GTX 1660 6gb.
Issue description
As shown in the video, if I click on re-import the engine crashes, giving a loop of errors in the console.
This all started once I decided to move the .gtlf file across folders in the filesystem. I did this using godot drag and drop. When moving the file, the engine crashed. After that, I started getting these errors.
I've tried deleting the .godot and the related .import file, but nothing has changed.
Video.sem.titulo.Feito.com.o.Clipchamp2.mp4
I do not extract any materials or animations from the .gltf file. The only way I interact with this model is through putting a script in its inherited scene. The .gltf file is not used anywhere except in the inherited scene, and the inherited scene is only used once, inside a character.
I've tried re-exporting the file from blender, but nothing has changed.
This is what's inside the moved folder:
And inside the sub-folder Witch.
Considering that maybe this could be a problem, I don't export the .blend file, I always use the .gltf exported.
I tried moving the .gltf file to a new project, and it works normally, so I don't think an MRP makes much sense. I don't know what's causing the error, but it's unsettling how much the engine crashes with me when using the file system.
Steps to reproduce
Move a .gltf file across folders~, I guess.
Minimal reproduction project (MRP)
I tried moving the .gltf file to a new project, and it works normally, so I don't think an MRP makes much sense.
The text was updated successfully, but these errors were encountered: