bevyengine / bevy

A refreshingly simple data-driven game engine built in Rust
https://bevyengine.org
Apache License 2.0
35.95k stars 3.55k forks source link

IO Panic related to Unknown vertex attribute TEXCOORD_2 #16092

Open ethereumdegen opened 3 days ago

ethereumdegen commented 3 days ago

Bevy version

The release number or commit hash of the version you're using.

0.14.2

[Optional] Relevant system information

What you did

I am loading in a large number of GLTF assets at once using

let model_handle:Handle<Gltf> = asset_server.load(doodad_name_stem);

I see an error

 Unknown vertex attribute TEXCOORD_2

What went wrong

I get an error, IO Overflow , panic

thread 'IO Task Pool (0)' has overflowed its stack
fatal runtime error: stack overflow

Additional information

It seems like the GLTF loader doesnt like the 'texcoord 2' thing which i think is related to too many UV maps , and it absolutely freaks out and spikes the IO useage and will often (but not always) cause a crash due to this spike. That is what I have gathered over the 6+ months being plagued by this issue.

ethereumdegen commented 3 days ago

Ah this is really just the same as #12995 but .. more info and it still occuring

ethereumdegen commented 3 days ago

To replicate this, Make a GLTF in blender like this ( 3 uv maps)

Image

Import it into bevy. You will see absolutely horrible performance, sometimes crashing, undefined behavior, that warning and it will never ever tell you WHICH gltf is causing the issue. For fun, load 900 assets where 50 of them have that bug and figure out which have the issue. that is my life

ethereumdegen commented 3 days ago

Honestly if there were just some automated way for me to detect which assets are causing this error, that would help me a lot. So far ive found its impossible .