cjpais/Handy · error · anyhow::Error
Failed to load gigaam model
Error message
Failed to load gigaam model {}: {} What it means
Thrown when GigaAMModel::load fails to load the GigaAM ONNX model (Int8 quantization) from model_path. The chained error carries the ONNX Runtime cause; a "loading_failed" model-state event is emitted before the error is returned from load_model.
Solutions
- Re-download the GigaAM model from the model selector
- Check the model directory contents and file sizes against the registry entry
- Read the chained ONNX Runtime error and address the provider issue (or switch accelerator to CPU)
- Check disk space and permissions on the models directory
Defensive patterns
Strategy: try-catch
Try / catch
if let Err(e) = manager.load_model(&model_id, None) {
log::error!("gigaam load failed: {e:#}");
// re-download and retry once; escalate to the user if it persists
} Prevention
- Let downloads complete uninterrupted
- Exclude the app-data models directory from antivirus real-time scans
- Monitor model-state-changed loading_failed events
When it happens
Trigger: EngineType::GigaAM branch runs and GigaAMModel::load(&model_path, &Quantization::Int8) errors: model files missing/corrupt, quantization variant not on disk, or execution-provider/session creation failure.
Common situations: Partial download after network drop; manually moved app-data directory; antivirus locking or removing the .onnx file; onnxruntime shared library missing on Linux deployments.
Related errors
- Failed to load canary model
- Failed to load cohere model
- Failed to load moonshine model
- Failed to load moonshine streaming model
- Failed to load SenseVoice model
AI-assisted analysis of cjpais/Handy@ba10ce1943 (2026-08-17).
Data as JSON: /api/errors/256e002bb5044ffb.
Report an issue: GitHub.
Appendix: source
Thrown at src-tauri/src/managers/transcription.rs:688
anyhow::anyhow!(error_msg)
})?;
LoadedEngine::MoonshineStreaming(engine)
}
EngineType::SenseVoice => {
let engine =
SenseVoiceModel::load(&model_path, &Quantization::Int8).map_err(|e| {
let error_msg =
format!("Failed to load SenseVoice model {}: {}", model_id, e);
emit_loading_failed(&error_msg);
anyhow::anyhow!(error_msg)
})?;
LoadedEngine::SenseVoice(engine)
}
EngineType::GigaAM => {
let engine = GigaAMModel::load(&model_path, &Quantization::Int8).map_err(|e| {
let error_msg = format!("Failed to load gigaam model {}: {}", model_id, e);
emit_loading_failed(&error_msg);
anyhow::anyhow!(error_msg)
})?;
LoadedEngine::GigaAM(engine)
}
EngineType::Canary => {
let engine = CanaryModel::load(&model_path, &Quantization::Int8).map_err(|e| {
let error_msg = format!("Failed to load canary model {}: {}", model_id, e);
emit_loading_failed(&error_msg);
anyhow::anyhow!(error_msg)
})?;
LoadedEngine::Canary(engine)
}
EngineType::Cohere => {
let engine = CohereModel::load(&model_path, &Quantization::Int8).map_err(|e| {
let error_msg = format!("Failed to load cohere model {}: {}", model_id, e);
emit_loading_failed(&error_msg);
anyhow::anyhow!(error_msg)
})?;
LoadedEngine::Cohere(engine)View on GitHub (pinned to ba10ce1943)