{"record":{"id":"556ff33a348946ce","repo":"tinyhumansai/openhuman","slug":"step-label-timed-out-after","errorCode":null,"errorMessage":"step `{label}` timed out after {:?}","messagePattern":"step `(.+?)` timed out after (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/runtime/python_server/kompress.rs","lineNumber":268,"sourceCode":") -> Result<()> {\n    log::debug!(\n        \"[runtime_python_server::kompress] step `{label}`: {} {:?}\",\n        python_bin.display(),\n        args\n    );\n    let mut cmd = Command::new(python_bin);\n    cmd.args(args);\n    cmd.env(\"HF_HOME\", hf_home);\n    cmd.env(\"HF_HUB_DISABLE_TELEMETRY\", \"1\");\n    cmd.kill_on_drop(true);\n    // Re-provisioning can run mid-session if the venv is missing/corrupted, so\n    // suppress the Windows conhost flash here too (GH-4814).\n    crate::openhuman::inference::local::process_util::apply_no_window(&mut cmd);\n\n    let output = match tokio::time::timeout(timeout, cmd.output()).await {\n        Ok(Ok(o)) => o,\n        Ok(Err(e)) => return Err(e).with_context(|| format!(\"spawning step `{label}`\")),\n        Err(_) => bail!(\"step `{label}` timed out after {:?}\", timeout),\n    };\n    if !output.status.success() {\n        let stderr = String::from_utf8_lossy(&output.stderr);\n        let tail: String = stderr\n            .chars()\n            .rev()\n            .take(800)\n            .collect::<String>()\n            .chars()\n            .rev()\n            .collect();\n        bail!(\"step `{label}` failed (status {}): {tail}\", output.status);\n    }\n    Ok(())\n}\n\n#[cfg(test)]\nmod tests {","sourceCodeStart":250,"sourceCodeEnd":286,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/runtime/python_server/kompress.rs#L250-L286","documentation":"A Kompress provisioning step (venv creation, pip install of torch/transformers, model download) exceeded its step timeout. The python command itself ran; it just did not finish in time — typical on slow links downloading multi-GB wheels.","triggerScenarios":"Thrown at src/openhuman/runtime/python_server/kompress.rs:268 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry provisioning once the network/disk bottleneck clears","Pre-warm the HF cache or use a faster mirror","Run provisioning when the machine is idle"],"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-14T05:17:10.506Z"}