{"record":{"id":"95eb2401d448df4f","repo":"openai/codex","slug":"short-datagram-write-wrote-written-bytes-out-of","errorCode":null,"errorMessage":"short datagram write: wrote {written} bytes out of {}","messagePattern":"short datagram write: wrote (.+?) bytes out of (.+?)","errorType":"exception","errorClass":"std::io::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/shell-escalation/src/unix/socket.rs","lineNumber":189,"sourceCode":"        assert!(filled <= message_len);\n        if filled == message_len {\n            return Ok(assume_init_vec(payload));\n        }\n    }\n    unreachable!(\"loop exits only after returning payload\")\n}\n\nfn send_datagram_bytes(socket: &Socket, data: &[u8], fds: &[OwnedFd]) -> std::io::Result<()> {\n    let control = make_control_message(fds)?;\n    let payload = [IoSlice::new(data)];\n    let msg = if control.is_empty() {\n        MsgHdr::new().with_buffers(&payload)\n    } else {\n        MsgHdr::new().with_buffers(&payload).with_control(&control)\n    };\n    let written = socket.sendmsg(&msg, 0)?;\n    if written != data.len() {\n        return Err(std::io::Error::new(\n            std::io::ErrorKind::WriteZero,\n            format!(\n                \"short datagram write: wrote {written} bytes out of {}\",\n                data.len()\n            ),\n        ));\n    }\n    Ok(())\n}\n\nfn encode_length(len: usize) -> std::io::Result<[u8; LENGTH_PREFIX_SIZE]> {\n    let len_u32 = u32::try_from(len).map_err(|_| {\n        std::io::Error::new(\n            std::io::ErrorKind::InvalidInput,\n            format!(\"message too large: {len}\"),\n        )\n    })?;\n    Ok(len_u32.to_le_bytes())","sourceCodeStart":171,"sourceCodeEnd":207,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/shell-escalation/src/unix/socket.rs#L171-L207","documentation":"Error \"short datagram write: wrote {written} bytes out of {}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/shell-escalation/src/unix/socket.rs:189 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"}