{"record":{"id":"122c3325d37bdac2","repo":"gfx-rs/wgpu","slug":"could-not-create-shader-program","errorCode":null,"errorMessage":"Could not create shader program","messagePattern":"Could not create shader program","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"wgpu-hal/src/gles/adapter.rs","lineNumber":1040,"sourceCode":"        unsafe { gl.compile_shader(shader) };\n\n        if !unsafe { gl.get_shader_compile_status(shader) } {\n            let msg = unsafe { gl.get_shader_info_log(shader) };\n            if !msg.is_empty() {\n                log::error!(\"\\tShader compile error: {msg}\");\n            }\n            unsafe { gl.delete_shader(shader) };\n            None\n        } else {\n            Some(shader)\n        }\n    }\n\n    unsafe fn create_shader_clear_program(\n        gl: &glow::Context,\n        es: bool,\n    ) -> Option<ShaderClearProgram> {\n        let program = unsafe { gl.create_program() }.expect(\"Could not create shader program\");\n        let vertex = unsafe {\n            Self::compile_shader(\n                include_str!(\"./shaders/clear.vert\"),\n                gl,\n                glow::VERTEX_SHADER,\n                es,\n            )?\n        };\n        let fragment = unsafe {\n            Self::compile_shader(\n                include_str!(\"./shaders/clear.frag\"),\n                gl,\n                glow::FRAGMENT_SHADER,\n                es,\n            )?\n        };\n        unsafe { gl.attach_shader(program, vertex) };\n        unsafe { gl.attach_shader(program, fragment) };","sourceCodeStart":1022,"sourceCodeEnd":1058,"githubUrl":"https://github.com/gfx-rs/wgpu/blob/3e11ff59bf3f9795d285ecc045014089640d7248/wgpu-hal/src/gles/adapter.rs#L1022-L1058","documentation":"Panic in the GLES adapter's internal clear-shader setup: gl.create_program returned no program object for the shader-clear program, meaning the GL context refused program creation (context lost or resource exhaustion).","triggerScenarios":"Thrown at wgpu-hal/src/gles/adapter.rs:1040 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry once the GL context is available again","Reduce GL resource pressure or recreate the context if creation keeps failing"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"3e11ff59bf3f9795d285ecc045014089640d7248","analyzedAt":"2026-09-03T01:43:21.459Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-10T07:17:11.731Z"}