{"record":{"id":"5235f8459a903f53","repo":"openai/codex","slug":"runner-spawn-ready-write-failed-pipe-write-lock-p","errorCode":null,"errorMessage":"runner spawn_ready write failed: pipe_write lock poisoned","messagePattern":"runner spawn_ready write failed: pipe_write lock poisoned","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"codex-rs/windows-sandbox-rs/src/bin/command_runner/win.rs","lineNumber":612,"sourceCode":"    let stdout_handle = ipc_spawn.stdout_handle;\n    let stderr_handle = ipc_spawn.stderr_handle;\n    let job = Arc::clone(&ipc_spawn.job);\n    let mut conpty_owner = ipc_spawn.conpty_owner;\n    let stdin_handle = ipc_spawn.stdin_handle;\n    let hpc_handle = Arc::new(StdMutex::new(ipc_spawn.hpc_handle));\n\n    let msg = FramedMessage {\n        version: IPC_PROTOCOL_VERSION,\n        message: Message::SpawnReady {\n            payload: SpawnReady {\n                process_id: unsafe { GetProcessId(pi.hProcess) },\n            },\n        },\n    };\n    if let Err(err) = if let Ok(mut guard) = pipe_write.lock() {\n        write_frame(&mut *guard, &msg)\n    } else {\n        anyhow::bail!(\"runner spawn_ready write failed: pipe_write lock poisoned\");\n    } {\n        let _ = send_error(\n            &pipe_write,\n            ErrorStage::WriteSpawnReady,\n            /*windows_error_code*/ None,\n            err.to_string(),\n        );\n        return Err(err);\n    }\n    let log_dir_owned = log_dir.map(Path::to_path_buf);\n    let out_thread = spawn_output_reader(\n        Arc::clone(&pipe_write),\n        stdout_handle,\n        OutputStream::Stdout,\n        log_dir_owned.clone(),\n    );\n    let err_thread = if stderr_handle != windows_sys::Win32::Foundation::INVALID_HANDLE_VALUE {\n        Some(spawn_output_reader(","sourceCodeStart":594,"sourceCodeEnd":630,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/windows-sandbox-rs/src/bin/command_runner/win.rs#L594-L630","documentation":"Error \"runner spawn_ready write failed: pipe_write lock poisoned\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/windows-sandbox-rs/src/bin/command_runner/win.rs:612 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"}