{"record":{"id":"b887845e9a4fc5b4","repo":"Kuberwastaken/claurst","slug":"tar-xzf-returned-non-zero-exit-status","errorCode":null,"errorMessage":"tar -xzf returned non-zero exit status: {}","messagePattern":"tar -xzf returned non-zero exit status: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-rust/crates/cli/src/upgrade.rs","lineNumber":262,"sourceCode":"                return Ok(());\n            }\n        }\n        // tar -xf works on Windows 10+ via bsdtar.\n        let status = std::process::Command::new(\"tar\")\n            .args([\"-xf\", &archive.to_string_lossy(), \"-C\", &dest.to_string_lossy()])\n            .status()\n            .context(\"failed to spawn tar\")?;\n        if !status.success() {\n            bail!(\"tar -xf returned non-zero exit status: {}\", status);\n        }\n        Ok(())\n    } else {\n        let status = std::process::Command::new(\"tar\")\n            .args([\"-xzf\", &archive.to_string_lossy(), \"-C\", &dest.to_string_lossy()])\n            .status()\n            .context(\"failed to spawn tar\")?;\n        if !status.success() {\n            bail!(\"tar -xzf returned non-zero exit status: {}\", status);\n        }\n        Ok(())\n    }\n}\n\n// Shallow walker (avoids pulling walkdir crate just for this).\nfn walkdir_shallow(root: &Path, max_depth: usize) -> Vec<PathBuf> {\n    fn rec(dir: &Path, depth_left: usize, out: &mut Vec<PathBuf>) {\n        if depth_left == 0 {\n            return;\n        }\n        let read = match std::fs::read_dir(dir) {\n            Ok(r) => r,\n            Err(_) => return,\n        };\n        for entry in read.flatten() {\n            let path = entry.path();\n            if path.is_dir() {","sourceCodeStart":244,"sourceCodeEnd":280,"githubUrl":"https://github.com/Kuberwastaken/claurst/blob/b0637c97ec34144387cbf2f74f65df6d16a6cef1/src-rust/crates/cli/src/upgrade.rs#L244-L280","documentation":"Unix extraction path: `tar -xzf` on the downloaded .tar.gz exited non-zero (formatted exit code). The gzip archive could not be extracted — typically a truncated/corrupted download or an unreadable destination.","triggerScenarios":"Thrown at src-rust/crates/cli/src/upgrade.rs:262 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Retry the upgrade to re-download the archive (truncated downloads are common)","Verify disk space and permissions on the staging directory","Test the archive integrity manually: `tar -tzf <archive>`"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"b0637c97ec34144387cbf2f74f65df6d16a6cef1","analyzedAt":"2026-09-10T00:24:58.650Z","contentChangedAt":"2026-09-10T00:24:58.650Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}