godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
90.69k stars 21.11k forks source link

Godot crash in Abandoned Spaceship Demo project (potential import bug) #81857

Open Variable-ind opened 1 year ago

Variable-ind commented 1 year ago

Godot version

4.1

System information

Linux Mint 21.2 (Victoria) - integrated Intel(R) HD Graphics 620 (KBL GT2) () - Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz (4 Threads)

Issue description

I was checking the "Abandoned Spaceship Demo" scene in Asset library projects (github link https://github.com/perfoon/Abandoned-Spaceship-Godot-Demo) this project is made in Godot 4.0 so it had to autoconvert to 4.1, during playing with the scene Godot crashed a lot. i managed to reduce it to conflicts between a .glb scene and it's .tscn scene

see the video below (ignore the "Load errors" dialog for a moment)

https://github.com/godotengine/godot/assets/77773850/47f01986-511d-4945-8038-2a624c55b925

now back to the "Load errors" dialog. it said that some items in .tscn file are renamed to fix the crash (the items with @ in their name and the :warning: sign) and now we have to re-save the scene. This does fix the crash but the question arises that how the duplicate nodes got created in the first place

I also tested this project in godot 4.0 and everything went fine

here's a comparison of node heirarchy of space_craft_hangar.tscn in 4.1 compared to 4.0 (download from asset library each time)

result

Steps to reproduce

as shown in above video

Minimal reproduction project

too large to upload the original, and was unable to make a separate project a github link is given below (github link https://github.com/perfoon/Abandoned-Spaceship-Godot-Demo)

akien-mga commented 1 year ago

This is similar to the .glb import compat breakage that I described in this other demo: https://github.com/gdquest-demos/godot-4-3d-third-person-controller/pull/30

Sadly this can't be changed again in Godot as it would again break compatibility with 4.1, so the demo needs to be fixed.

The crash is still a Godot bug that should be fixed though.