{"record":{"id":"e09a7c0c6b059704","repo":"tinyhumansai/openhuman","slug":"step-label-failed-status-tail","errorCode":null,"errorMessage":"step `{label}` failed (status {}): {tail}","messagePattern":"step `(.+?)` failed \\(status (.+?)\\): (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/openhuman/runtime/python_server/kompress.rs","lineNumber":280,"sourceCode":"    // 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 {\n    use super::*;\n\n    #[test]\n    fn venv_python_path_is_platform_specific() {\n        let p = venv_python_path(Path::new(\"/tmp/venv\"));\n        if cfg!(windows) {\n            assert!(p.ends_with(\"Scripts/python.exe\") || p.ends_with(\"Scripts\\\\python.exe\"));\n        } else {\n            assert_eq!(p, PathBuf::from(\"/tmp/venv/bin/python\"));\n        }\n    }\n","sourceCodeStart":262,"sourceCodeEnd":298,"githubUrl":"https://github.com/tinyhumansai/openhuman/blob/749120085864ce16e0f273c7b86fac7740b39c5b/src/openhuman/runtime/python_server/kompress.rs#L262-L298","documentation":"A Kompress provisioning python step exited non-zero; the message embeds the exit status and the last 800 chars of its stderr, which names the actual failure (pip resolution error, OOM, model download failure).","triggerScenarios":"Thrown at src/openhuman/runtime/python_server/kompress.rs:280 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the embedded stderr tail to identify the failing step","Fix the named cause (network, disk space, dependency conflict) and re-run provisioning","Clear the partial venv so provisioning starts clean"],"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"}