{"record":{"id":"0695872a5cafd24f","repo":"bevyengine/bevy","slug":"data-buffer-should-exist-if-we-re-in-the-fast-path","errorCode":null,"errorMessage":"Data buffer should exist if we're in the fast path","messagePattern":"Data buffer should exist if we're in the fast path","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/bevy_render/src/material_bind_groups.rs","lineNumber":1584,"sourceCode":"                // Ignore all resources other than data.\n                UnpreparedBindingResource::Buffer(_)\n                | UnpreparedBindingResource::ShaderBuffer(_)\n                | UnpreparedBindingResource::TextureView(..)\n                | UnpreparedBindingResource::Sampler(..) => {}\n\n                UnpreparedBindingResource::Data(data_range) => {\n                    // Ignore this resource unless it represents data we're\n                    // responsible for.\n                    let Some(binding_index) =\n                        bindless_index_table.get_binding(bind_group_slot, bindless_index)\n                    else {\n                        continue;\n                    };\n\n                    // Poke the new data into the buffer.\n                    self.data_buffers\n                        .get_mut(&bindless_index)\n                        .expect(\"Data buffer should exist if we're in the fast path\")\n                        .set(\n                            binding_index,\n                            &unprepared_bind_group.data_buffer\n                                [(data_range.start as usize)..(data_range.end as usize)],\n                        );\n                }\n            }\n        }\n    }\n\n    /// Recreates the bind group and bindless index table buffer if necessary.\n    fn prepare(\n        &mut self,\n        render_device: &RenderDevice,\n        pipeline_cache: &PipelineCache,\n        label: &'static str,\n        bind_group_layout: &BindGroupLayoutDescriptor,\n        fallback_bindless_resources: &FallbackBindlessResources,","sourceCodeStart":1566,"sourceCodeEnd":1602,"githubUrl":"https://github.com/bevyengine/bevy/blob/396ca727080776bd313bb892423b7d94e03b81b4/crates/bevy_render/src/material_bind_groups.rs#L1566-L1602","documentation":"Internal invariant expect in the bindless fast path: a Data-buffer binding range was encountered for a bindless slot whose data buffer was never created, indicating the descriptor tables and allocator disagree.","triggerScenarios":"Thrown at crates/bevy_render/src/material_bind_groups.rs:1584 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Report as a Bevy engine bug with a reproducing project","Re-check material binding descriptors for consistency"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"396ca727080776bd313bb892423b7d94e03b81b4","analyzedAt":"2026-08-20T16:12:39.808Z","contentChangedAt":"2026-08-20T16:12:39.808Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}