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 (SIGABRT) on reimported .glb inherited scene save/update #82398

Open
wilfredjonathanjames opened this issue Sep 26, 2023 · 6 comments
Open

Comments

@wilfredjonathanjames
Copy link

wilfredjonathanjames commented Sep 26, 2023

Godot version

4.1.1, 4.1.1-mono, 4.2-mono-rc5

System information

MacOS 12.3

Issue description

Every time I update certain .glb files I get a crash when inherited scenes save or update.

Because builds trigger saves, this means that I get ~50+ crashes a day.

The only fix is to run Project->Reload Current Project every time I update a .glb file.

Steps to reproduce

  1. Modify the gas_station.blend file in some way
  2. Export it as a .glb - export settings should be saved, just export
  3. Switch to Godot, try saving, try switching from main.tscn to gas_station.tscn
  4. Repeat until crash

Minimal reproduction project

Repro project here, and here is a video of the crash in this repo on my system. Crash happens near the one minute mark.

The repro project attached is not crashing as consistently as my main project, which crashes without fail every time certain meshes are reimported. It may take a few attempts, and you may have a little difficulty replicating.

Because I don't know what's causing it it's quite hard to make the crash more reproducible, but I hope this will enable someone to narrow it down. Repeatedly reimporting a modified mesh for anywhere from 1-20 minutes seems to eventually trigger the crash.

Original crash log here

@bitsawer
Copy link
Member

A small, reproducible test project would be a great addition, as it allows us to catch the error in a live environment. Unfortunately, the attached crash log does not include Godot debug symbols name mappings, which limits its usefulness.

@wilfredjonathanjames
Copy link
Author

@bitsawer I've done my best. Original post has been edited. Hope that helps.

@wilfredjonathanjames wilfredjonathanjames changed the title Crash (SIGABRT) on reimported .glb inherited scene save Crash (SIGABRT) on reimported .glb inherited scene save/update Sep 27, 2023
@bitsawer
Copy link
Member

Thanks for the nice test scene. Looks like this crash has been fixed in master by #82285 just a few days ago, the fix should be available in next 4.1.x and 4.2 release. Meanwhile, disabling LOD generation in mesh import settings might help with the crashes in older Godot versions.

Closing this issue as completed, but feel free to comment here or make a new issue if the crashing has not been fixed in next release.

@wilfredjonathanjames
Copy link
Author

wilfredjonathanjames commented Oct 17, 2023

@bitsawer This still replicates in 4.2-beta1 and needs to be reopened. Video here.

In the video I updated the .glb file twice: exporting only the armature, and then exporting both the armature and the mesh.

[Edit] Switching scenes in the editor after reimport can trigger it. Not just on save.

@bitsawer
Copy link
Member

bitsawer commented Oct 17, 2023

Seems like there were two separate crashes. The one I previously noticed was fixed by #82285. You can now see this warning message when you do a project or mesh (re)import:

WARNING: Ignoring face with non-finite normal in LOD generation.

This previously usually crashed Godot, now it handles it better. I couldn't repro the other crash after a few tries, but it might be harder to trigger. Tested on current master at 30f2a6d.

@csm-kb
Copy link

csm-kb commented Dec 10, 2023

Seems harder to trigger! using latest Godot 4.2.stable, I ran into this behaviour when exporting from Blender to .glb --> when I imported, I saw that error message. I made inherited scene and then made modifications + saved to a new scene file, and saw the editor lock up stuck on "Saving scene; 100%", before it hard-exited... project logs didn't seem to capture any context!

I just went back to Blender, recomputed the normals for the mesh I was working with, reexported the .glb, reimported it, and found that the same flow worked without crashing afterward. Definitely odd!

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

No branches or pull requests

3 participants