{"record":{"id":"0fe70b47b0612b9d","repo":"openai/codex","slug":"timed-out-waiting-for-pid-lock","errorCode":null,"errorMessage":"timed out waiting for pid lock {}","messagePattern":"timed out waiting for pid lock (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/app-server-daemon/src/backend/pid.rs","lineNumber":385,"sourceCode":"        };\n        drop(reservation_lock);\n        Ok(state)\n    }\n\n    async fn acquire_reservation_lock(&self) -> Result<fs::File> {\n        let reservation_lock = fs::OpenOptions::new()\n            .create(true)\n            .truncate(false)\n            .write(true)\n            .open(&self.lock_file)\n            .await\n            .with_context(|| {\n                format!(\"failed to open pid lock file {}\", self.lock_file.display())\n            })?;\n        let lock_deadline = tokio::time::Instant::now() + START_TIMEOUT;\n        while !try_lock_file(&reservation_lock)? {\n            if tokio::time::Instant::now() >= lock_deadline {\n                bail!(\n                    \"timed out waiting for pid lock {}\",\n                    self.lock_file.display()\n                );\n            }\n            sleep(STOP_POLL_INTERVAL).await;\n        }\n        Ok(reservation_lock)\n    }\n\n    #[cfg(unix)]\n    async fn open_stderr_log(&self) -> Result<fs::File> {\n        let stderr_log_file = stderr_log_file_for_pid_file(&self.pid_file);\n        fs::OpenOptions::new()\n            .create(true)\n            .truncate(true)\n            .write(true)\n            .open(&stderr_log_file)\n            .await","sourceCodeStart":367,"sourceCodeEnd":403,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/app-server-daemon/src/backend/pid.rs#L367-L403","documentation":"Error \"timed out waiting for pid lock {}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/app-server-daemon/src/backend/pid.rs:385 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"}