{"record":{"id":"b35ba3dcd1913ba5","repo":"openai/codex","slug":"frame-too-large-len","errorCode":null,"errorMessage":"frame too large: {len}","messagePattern":"frame too large: (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/windows-sandbox-rs/src/elevated/ipc_framed.rs","lineNumber":174,"sourceCode":"    }\n    let len = payload.len() as u32;\n    writer.write_all(&len.to_le_bytes())?;\n    writer.write_all(&payload)?;\n    writer.flush()?;\n    Ok(())\n}\n\n/// Read a length-prefixed JSON frame; returns `Ok(None)` on EOF.\npub fn read_frame<R: Read>(mut reader: R) -> Result<Option<FramedMessage>> {\n    let mut len_buf = [0u8; 4];\n    match reader.read_exact(&mut len_buf) {\n        Ok(()) => {}\n        Err(err) if err.kind() == std::io::ErrorKind::UnexpectedEof => return Ok(None),\n        Err(err) => return Err(err.into()),\n    }\n    let len = u32::from_le_bytes(len_buf) as usize;\n    if len > MAX_FRAME_LEN {\n        anyhow::bail!(\"frame too large: {len}\");\n    }\n    let mut payload = vec![0u8; len];\n    reader.read_exact(&mut payload)?;\n    let msg: FramedMessage = serde_json::from_slice(&payload)?;\n    Ok(Some(msg))\n}\n\n#[cfg(test)]\nmod tests {\n    use super::*;\n    use pretty_assertions::assert_eq;\n\n    #[test]\n    fn framed_round_trip() {\n        let msg = FramedMessage {\n            version: IPC_PROTOCOL_VERSION,\n            message: Message::Output {\n                payload: OutputPayload {","sourceCodeStart":156,"sourceCodeEnd":192,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/windows-sandbox-rs/src/elevated/ipc_framed.rs#L156-L192","documentation":"Error \"frame too large: {len}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/windows-sandbox-rs/src/elevated/ipc_framed.rs:174 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"}