Client stalls on startup & resourcepack load/reload when loading a model with missing parent bones
Elenterius opened this issue · 1 comments
GeckoLib Version
geckolib-forge-1.20.1-4.4.4
Bug Description
The client stalls on startup or resourcepack load/reload when geckolib tries to load model geometry with bones that reference a non-existing parent bone.
Profiling has shown that GeometryTree.fromModel()
is the culprit for the stalling.
Expected Behavior
The client should crash or skip loading of the faulty model.
How to replicate
Place the following model into your assets/<namespace>/geo
folder or use this resourcepack geckolib_bug.zip
{
"format_version": "1.12.0",
"minecraft:geometry": [
{
"description": {
"identifier": "geometry.unknown",
"texture_width": 16,
"texture_height": 16,
"visible_bounds_width": 2,
"visible_bounds_height": 1.5,
"visible_bounds_offset": [0, 0.25, 0]
},
"bones": [
{
"name": "orphan",
"parent": "missing_parent",
"pivot": [0, 0, 0],
"cubes": [
{"origin": [-1, 0, -1], "size": [2, 2, 2], "uv": [0, 0]}
]
}
]
}
]
}
Important
The bone "orphan" is referencing the non-existing parent bone "missing_parent"
How to easily produce faulty models with Blockbench
Important
Please take note of how i disabled the export of the parent bone