godotengine / godot

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

Certain GLB or GLTF file crashes the editor during import #87330

Open Kylamber opened 9 months ago

Kylamber commented 9 months ago

Tested versions

System information

Godot v4.2.1.stable - Windows 10.0.22621 - GLES3 (Compatibility) - NVIDIA GeForce GTX 1650 (NVIDIA; 31.0.15.3667) - AMD Ryzen 5 4600H with Radeon Graphics (12 Threads)

Issue description

Importing certain GLB or GLTF file results in the editor crashing during importing progress. Opening it back up will restart the importing progress and crashing the editor again. Certain GLB or GLTF file works just fine. After testing, this issue only occurs in the 32 bit version of Godot v4.2.1-stable, it works normally in 32 bit version of Godot v3.5.3-stable. There was nothing logged during the crash while using the verbose console.

Working

https://github.com/godotengine/godot/assets/32596839/e69ee40e-2e22-4cf2-ad00-23ac07c8a111

Crashing

https://github.com/godotengine/godot/assets/32596839/a8adbc21-6157-4534-9cc5-a61565c5de68

Steps to reproduce

  1. Create a Godot project using the compability setting
  2. Drag and drop a GLB file into the FileSystem
  3. If it is the Barbarian.glb, it will crash. If it is the arrow_green.gltf.glb, it will import normally.

Minimal reproduction project (MRP)

Issue Test.zip

Kylamber commented 8 months ago

A little addition, I tested it in a few 32 bit stable versions of Godot 4.0, 4.1, and 4.2 and it produces the same error (some versions crashes at the Project List). This issue doesn't show up in Godot 3.5.x and might be an issue in the Godot 4 itself.

HiphingGuru2893281 commented 6 months ago

I have also found similar issue when importing a large size glb file (896MB) in Godot 4.2.1. The editor would crash during import. On the other hand, importing the same large size glb file in Godot v3.5.3 would work with no problem. Only a small size glb file (300kb) would work in Godot 4.2.1.

Capture

Tested on Windows Version 22H2 Processor AMD Ryzen 9 6900HX with Radeon Graphics 3.30 GHz System Type 64-bit operating system, x64-based processor Driver NVIDIA GeForce RTX 3070 Laptop GPU

rndevfx commented 5 months ago

I've got the same issue. The import works fine on my desktop machine (Win 11, Godot 4.2.2) but is failing on my laptop with the error:

...
glTF: Creating mesh for: SM_Wep_Sword_Small_06
glTF: Creating mesh for: SM_Wep_WarHammer_Large_01
glTF: Creating mesh for: SM_Wep_WarHammer_Large_02
glTF: Creating mesh for: SM_Wep_WarHammer_Large_03
glTF: Creating mesh for: SM_Wep_WarHammer_Large_04
glTF: Creating mesh for: SM_Wep_WarHammer_Small_01
glTF: Creating mesh for: SM_Wep_WarHammer_Small_02
Fix: Renamed SM_Env_Dwarf_Lava_Wheel_01 to SM_Env_Dwarf_Lava_01
Fix: Renamed SM_Prop_Dwarf_Cart_03_Wheel_1 to SM_Prop_Dwarf_Cart_03_1
Fix: Renamed SM_Prop_Dwarf_Cart_03_Wheel_2 to SM_Prop_Dwarf_Cart_03_2
Fix: Renamed SM_Prop_Dwarf_Crane_01_Wheel_1 to SM_Prop_Dwarf_Crane_01_1
ERROR: 'Integer used when an enum value is expected. If this is intended cast the integer to the enum type.'
ERROR: 'The parameter "delta" is never used in the function "_process()". If this is intended, prefix it with an underscore: "_delta".'
WARNING: Ignoring face with non-finite normal in LOD generation.
     at: generate_lods (scene/resources/3d/importer_mesh.cpp:518)