{"record":{"id":"8432546954a94d89","repo":"bevyengine/bevy","slug":"backing-data-buffer-must-have-been-uploaded-by-now","errorCode":null,"errorMessage":"Backing data buffer must have been uploaded by now","messagePattern":"Backing data buffer must have been uploaded by now","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/bevy_render/src/material_bind_groups.rs","lineNumber":1707,"sourceCode":"                    }\n                    BindingResourceArray::TextureViews(ref texture_views) => {\n                        BindingResource::TextureViewArray(&texture_views[..])\n                    }\n                    BindingResourceArray::Samplers(ref samplers) => {\n                        BindingResource::SamplerArray(&samplers[..])\n                    }\n                },\n            });\n        }\n\n        // Create bind group entries for any data buffers we're managing.\n        for data_buffer in self.data_buffers.values() {\n            bind_group_entries.push(BindGroupEntry {\n                binding: *data_buffer.binding_number,\n                resource: data_buffer\n                    .buffer\n                    .buffer()\n                    .expect(\"Backing data buffer must have been uploaded by now\")\n                    .as_entire_binding(),\n            });\n        }\n\n        self.bind_group = Some(render_device.create_bind_group(\n            Some(label),\n            &pipeline_cache.get_bind_group_layout(bind_group_layout),\n            &bind_group_entries,\n        ));\n    }\n\n    /// If this bind group contains a [`ShaderBuffer`], and the shader buffer\n    /// has changed, marks the bind group as invalid so that it'll be rebuilt.\n    ///\n    /// Shader buffers are assets that can legally be updated to point to a\n    /// different raw buffer. This will happen when, for example, the shader\n    /// buffer grows. We must detect this circumstance and rebuild the bind\n    /// group when it happens.","sourceCodeStart":1689,"sourceCodeEnd":1725,"githubUrl":"https://github.com/bevyengine/bevy/blob/396ca727080776bd313bb892423b7d94e03b81b4/crates/bevy_render/src/material_bind_groups.rs#L1689-L1725","documentation":"Panic while building bind group entries for data buffers: the backing GPU uniform buffer for a bindless data buffer slot was absent from the uploaded buffers map. The buffer should have been uploaded during prepare; its absence indicates a preparation-order bug.","triggerScenarios":"Thrown at crates/bevy_render/src/material_bind_groups.rs:1707 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Report as a Bevy engine bug with a reproducing project","Ensure prepare/upload runs before bind group creation in custom pipelines"],"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"}