{"record":{"id":"28b68c13446022f8","repo":"tonhowtf/omniget","slug":"whisper-cli-falhou","errorCode":null,"errorMessage":"whisper-cli falhou: {}","messagePattern":"whisper-cli falhou: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src-tauri/omniget-core/src/core/tools/whisper.rs","lineNumber":389,"sourceCode":"        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                }\n            }\n        }\n        tail\n    });\n    let status = child.wait().await?;\n    let tail = stderr_task.await.unwrap_or_default();\n    let _ = tokio::fs::remove_file(&wav).await;\n    if !status.success() {\n        return Err(anyhow!(\"whisper-cli falhou: {}\", tail));\n    }\n    let json_path = out_prefix.with_extension(\"json\");\n    let text = tokio::fs::read_to_string(&json_path).await?;\n    let _ = tokio::fs::remove_file(&json_path).await;\n    let (language, cues) = parse_whisper_json(&text)?;\n\n    let out_dir = if opts.output_dir.trim().is_empty() {\n        input\n            .parent()\n            .map(|p| p.to_path_buf())\n            .unwrap_or_else(|| PathBuf::from(\".\"))\n    } else {\n        PathBuf::from(opts.output_dir.trim())\n    };\n    std::fs::create_dir_all(&out_dir)?;\n    let stem = input\n        .file_stem()\n        .map(|s| s.to_string_lossy().to_string())","sourceCodeStart":371,"sourceCodeEnd":407,"githubUrl":"https://github.com/tonhowtf/omniget/blob/8600b91f4246848bac346874daa9e61c1fc5677a/src-tauri/omniget-core/src/core/tools/whisper.rs#L371-L407","documentation":"whisper-cli exited with a non-zero status after transcription was attempted; the {} is the last non-progress stderr line captured while streaming 'progress =' lines to the progress reporter. Common causes are an unsupported/corrupt model file, missing audio input, or invalid CLI arguments.","triggerScenarios":"Thrown at src-tauri/omniget-core/src/core/tools/whisper.rs:389 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the captured stderr tail to identify the exact whisper-cli failure","Confirm the whisper model file exists, is complete, and matches the model flag used","Re-encode the audio to 16kHz WAV, the format whisper-cli expects, and retry"],"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"}