{"record":{"id":"408716299d13195e","repo":"tinyhumansai/openhuman","slug":"runtime-python-server-request-timed-out","errorCode":null,"errorMessage":"runtime python server request timed out","messagePattern":"runtime python server request timed out","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/runtime/python_server/server.rs","lineNumber":189,"sourceCode":"            .stdin\n            .write_all(line.as_bytes())\n            .await\n            .context(\"writing runtime python server request\")?;\n        inner\n            .stdin\n            .flush()\n            .await\n            .context(\"flushing runtime python server request\")?;\n\n        loop {\n            let next = tokio::time::timeout(REQUEST_TIMEOUT, inner.stdout.next_line()).await;\n            let line = match next {\n                Ok(Ok(Some(line))) => line,\n                Ok(Ok(None)) => bail!(\"runtime python server closed stdout\"),\n                Ok(Err(error)) => {\n                    return Err(error).context(\"reading runtime python server response\")\n                }\n                Err(_) => bail!(\"runtime python server request timed out\"),\n            };\n            let response: PythonServerResponse = match serde_json::from_str(&line) {\n                Ok(response) => response,\n                Err(error) => {\n                    log::warn!(\n                        \"[runtime_python_server] unparseable response skipped: {error}; line_len={}\",\n                        line.len()\n                    );\n                    continue;\n                }\n            };\n            if response.id.as_deref() != Some(id.as_str()) {\n                log::debug!(\n                    \"[runtime_python_server] skipped response for different id={:?}\",\n                    response.id\n                );\n                continue;\n            }","sourceCodeStart":171,"sourceCodeEnd":207,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/runtime/python_server/server.rs#L171-L207","documentation":"REQUEST_TIMEOUT elapsed with no complete line on the server's stdout — the server accepted the request but did not answer in time (long-running extraction, hung model load). The server is alive; only this request expired.","triggerScenarios":"Thrown at src/openhuman/runtime/python_server/server.rs:189 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the request — transient hangs often clear","Check server logs for a stuck model load or OOM","Reduce request payload size if the input is very large"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"749120085864ce16e0f273c7b86fac7740b39c5b","analyzedAt":"2026-08-17T21:21:45.363Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}