Skip to content

Corruption of .import ConfigFile settings when an external BoneMap was deleted. #99910

@lyuma

Description

@lyuma

Tested versions

  • 4.3.stable
  • All older versions of 4.x (crashes)

System information

Godot v4.3.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3090 (NVIDIA; 32.0.15.6094) - Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (16 Threads)

Issue description

#93284 was merged as an emergency fix for 4.3. It avoids a crash, but does not prevent corruption of import settings or avoid import failures due to the same underlying issues.

In particular, this quote from the description should highlight why it is important that a bug still be open:
i think all these issues also have another underlying issue to them, this just turns the crashes into error prints

The following bugs were incorrectly closed as part of the fix:

Therefore I'm opening this issue so that we can track the underlying problem and attempt to address it in a better way for 4.4.

Note that the underlying issue relates to var_to_str() and ConfigFile APIs and their mishandling of missing resources as well as lack of UID serialization, so I'm going to include this as a core issue since it is critical.

This issue caused by deleting referenced files from .import blocks making improvements to the advanced importer and material editing:

Image

Steps to reproduce

  1. Import a 3D model with a Skeleton.
  2. Create a bone map for it and right click it to save it externally.
  3. Rename the external resource of the new bone map.
  4. Attempt to open the advanced import dialog for the model.

Minimal reproduction project (MRP)

https://github.com/godotengine/godot/files/14803641/bone_map_crash.zip

Metadata

Metadata

Assignees

Type

No type

Projects

Status

Bugs

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions