{"record":{"id":"f838a65f71d9bab5","repo":"openai/codex","slug":"runner-pipe-closed-before-exit","errorCode":null,"errorMessage":"runner pipe closed before exit","messagePattern":"runner pipe closed before exit","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/windows-sandbox-rs/src/elevated_impl.rs","lineNumber":237,"sourceCode":"                        read_roots_override,\n                        read_roots_include_platform_defaults,\n                        write_roots_override,\n                        &deny_read_paths_override,\n                        &deny_write_paths_override,\n                        proxy_enforced,\n                        crate::WindowsSandboxProxySettingsMode::Reconcile,\n                    )\n                },\n            )?;\n            let (pipe_write, mut pipe_read) = transport.into_files();\n            let cancel_writer = spawn_cancel_writer(&pipe_write, cancellation)?;\n\n            let mut stdout = Vec::new();\n            let mut stderr = Vec::new();\n            let result = loop {\n                let msg = match read_frame(&mut pipe_read) {\n                    Ok(Some(msg)) => msg,\n                    Ok(None) => break Err(anyhow::anyhow!(\"runner pipe closed before exit\")),\n                    Err(err) => break Err(err),\n                };\n                match msg.message {\n                    Message::SpawnReady { .. } => {}\n                    Message::Output { payload } => match decode_bytes(&payload.data_b64) {\n                        Ok(bytes) => match payload.stream {\n                            OutputStream::Stdout => stdout.extend_from_slice(&bytes),\n                            OutputStream::Stderr => stderr.extend_from_slice(&bytes),\n                        },\n                        Err(err) => {\n                            break Err(err);\n                        }\n                    },\n                    Message::Exit { payload } => break Ok((payload.exit_code, payload.timed_out)),\n                    Message::Error { payload } => {\n                        break Err(anyhow::anyhow!(\"runner error: {}\", payload.message));\n                    }\n                    other => {","sourceCodeStart":219,"sourceCodeEnd":255,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/windows-sandbox-rs/src/elevated_impl.rs#L219-L255","documentation":"Error \"runner pipe closed before exit\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/windows-sandbox-rs/src/elevated_impl.rs:237 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}