bevyengine/bevy · error
Texture array should exist
Error message
Texture array should exist
What it means
Internal invariant panic in bindless resource cleanup: the texture array slot for the given bindless index was missing when removing a binding. Indicates bindless state bookkeeping corruption (double free or missing allocation); not expected in normal operation.
Source
Thrown at crates/bevy_render/src/material_bind_groups.rs:1431
.remove(bindless_binding);
false
}
BindlessResourceType::SamplerFiltering
| BindlessResourceType::SamplerNonFiltering
| BindlessResourceType::SamplerComparison => self
.samplers
.get_mut(bindless_resource_type)
.expect("Sampler array should exist")
.remove(bindless_binding),
BindlessResourceType::Texture1d
| BindlessResourceType::Texture2d
| BindlessResourceType::Texture2dArray
| BindlessResourceType::Texture3d
| BindlessResourceType::TextureCube
| BindlessResourceType::TextureCubeArray => self
.textures
.get_mut(bindless_resource_type)
.expect("Texture array should exist")
.remove(bindless_binding),
};
// If the slot is now free, decrement the allocated resource
// count.
if decrement_allocated_resource_count {
self.allocated_resource_count -= 1;
}
}
// Invalidate the cached bind group.
self.bind_group = None;
// Release the slot ID.
self.free_slots.push(slot);
self.live_allocation_count -= 1;
}
View on GitHub (pinned to 396ca72708)
Solutions
- Report as a Bevy engine bug with a reproducing project
- Avoid the texture-heavy material setup that triggers the mismatch
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/bevy_render/src/material_bind_groups.rs:1431 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of bevyengine/bevy@396ca72708 (2026-08-20).
Data as JSON: /api/errors/0d2bbd1af84871e2.
Report an issue: GitHub.