{"record":{"id":"ab529d24f5d016e0","repo":"tonhowtf/omniget","slug":"nao-foi-possivel-iniciar-o-whisper-cli","errorCode":null,"errorMessage":"nao foi possivel iniciar o whisper-cli: {}","messagePattern":"nao foi possivel iniciar o whisper-cli: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-tauri/omniget-core/src/core/tools/whisper.rs","lineNumber":362,"sourceCode":"    cmd.args([\"-l\", lang]);\n    if opts.translate {\n        cmd.arg(\"-tr\");\n    }\n    if opts.max_len > 0 {\n        cmd.args([\"-ml\", &opts.max_len.to_string(), \"-sow\"]);\n    }\n    if !opts.prompt.trim().is_empty() {\n        cmd.args([\"--prompt\", opts.prompt.trim()]);\n    }\n    if opts.threads > 0 {\n        cmd.args([\"-t\", &opts.threads.to_string()]);\n    }\n    cmd.stdin(std::process::Stdio::null())\n        .stdout(std::process::Stdio::piped())\n        .stderr(std::process::Stdio::piped());\n    let mut child = cmd\n        .spawn()\n        .map_err(|e| anyhow!(\"nao foi possivel iniciar o whisper-cli: {}\", e))?;\n\n    // `-pp` escreve \"progress = 42%\" no stderr.\n    let stderr = child.stderr.take();\n    let p2 = progress.clone();\n    let id2 = id.clone();\n    let stderr_task = tokio::spawn(async move {\n        use tokio::io::{AsyncBufReadExt, BufReader};\n        let mut tail = String::new();\n        if let Some(err) = stderr {\n            let mut lines = BufReader::new(err).lines();\n            while let Ok(Some(line)) = lines.next_line().await {\n                if let Some(rest) = line.trim().strip_prefix(\"progress =\") {\n                    if let Ok(pct) = rest.trim().trim_end_matches('%').trim().parse::<u64>() {\n                        report(&p2, &id2, \"transcribe\", pct.min(100), Some(100), None);\n                    }\n                } else if !line.trim().is_empty() {\n                    tail = line;\n                }","sourceCodeStart":344,"sourceCodeEnd":380,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src-tauri/omniget-core/src/core/tools/whisper.rs#L344-L380","documentation":"The whisper-cli child process could not be spawned after all argument assembly (language, translate, max_len, prompt, threads) and stdio piping. The {} is the std::io::Error from spawn(), typically meaning the whisper-cli binary is missing from PATH, not executable, or the system refused to create the process.","triggerScenarios":"Thrown at src-tauri/omniget-core/src/core/tools/whisper.rs:362 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify whisper-cli is installed and on PATH (or at the path the app expects) and rerun the transcription","Check the binary is executable and matches the current platform/architecture","Run whisper-cli manually with the same arguments to confirm it starts"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"8600b91f4246848bac346874daa9e61c1fc5677a","analyzedAt":"2026-09-12T14:29:19.317Z","contentChangedAt":"2026-09-12T14:29:19.317Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}