Zackriya-Solutions/meetily · error · anyhow::Error
Parakeet model {} is corrupted and cannot be loaded
Error message
Parakeet model {} is corrupted and cannot be loaded What it means
Returned by load_model when the model's status is ModelStatus::Corrupted, which carries file_size and expected_min_size. discover_models flags a model Corrupted when its files exist but are smaller than the expected minimum (a truncated download), so loading is refused before ONNX Runtime ever opens the graph.
Source
Thrown at frontend/src-tauri/src/parakeet_engine/parakeet_engine.rs:424
log::info!(
"Successfully loaded Parakeet model: {} ({})",
model_name,
if quantized { "Int8 quantized" } else { "FP32" }
);
Ok(())
}
ModelStatus::Missing => {
Err(anyhow!("Parakeet model {} is not downloaded", model_name))
}
ModelStatus::Downloading { .. } => {
Err(anyhow!("Parakeet model {} is currently downloading", model_name))
}
ModelStatus::Error(ref err) => {
Err(anyhow!("Parakeet model {} has error: {}", model_name, err))
}
ModelStatus::Corrupted { .. } => {
Err(anyhow!("Parakeet model {} is corrupted and cannot be loaded", model_name))
}
}
}
/// Unload the current model
pub async fn unload_model(&self) -> bool {
let mut model_guard = self.current_model.write().await;
let unloaded = model_guard.take().is_some();
if unloaded {
log::info!("Parakeet model unloaded");
}
let mut model_name_guard = self.current_model_name.write().await;
model_name_guard.take();
unloaded
}
View on GitHub (pinned to 0281737d87)
Solutions
- Call delete_model(model_name) - deletion is explicitly allowed for Corrupted models - then download_model again
- Or invoke the parakeet_delete_corrupted_model Tauri command from the UI and re-download from the models screen
- Verify free disk space is at least the model size (~670 MB for v3 int8) before re-downloading
Example fix
// before
engine.load_model(name).await?;
// after - corrupted models must be deleted and re-downloaded
match engine.discover_models().await?.into_iter().find(|m| m.name == name) {
Some(m) if matches!(m.status, ModelStatus::Corrupted { .. }) => {
engine.delete_model(&name).await?;
engine.download_model(&name, None).await?;
}
_ => {}
}
engine.load_model(&name).await?; Defensive patterns
Strategy: fallback
Validate before calling
let infos = engine.discover_models().await?;
if let Some(m) = infos.iter().find(|m| m.name == name) {
if let ModelStatus::Corrupted { file_size, expected_min_size } = &m.status {
log::warn!("corrupt: {file_size} < {expected_min_size} bytes; rebuilding");
engine.delete_model(name).await?;
engine.download_model(name, None).await?;
}
} Type guard
fn is_corrupted(info: &ModelInfo) -> bool {
matches!(info.status, ModelStatus::Corrupted { .. })
}
// TS side: { Corrupted: { file_size, expected_min_size } }
function isCorrupted(status: unknown): boolean {
return typeof status === 'object' && status !== null && 'Corrupted' in status;
} Try / catch
match engine.load_model(name).await {
Err(e) if e.to_string().contains("corrupted") => {
engine.delete_model(name).await?; // allowed for Corrupted
engine.download_model(name, None).await?;
engine.load_model(name).await?;
}
other => other?,
} Prevention
- Treat a cancelled download as incomplete: always resume or delete before offering Load
- Expose parakeet_delete_corrupted_model in the UI next to the corruption error
- Check free disk space before downloading so files are not truncated by ENOSPC
When it happens
Trigger: An interrupted or cancelled download (cancel_download keeps partial files for resume) left a short encoder/decoder ONNX file that then fails the size check; a partially copied models directory from another machine; disk-full during download producing undersized files.
Common situations: User cancelled a download and later tried to load the model; app crashed mid-download and the resume path never completed; manual copy of the models folder missed the tail of a large file.
Related errors
- Parakeet model {} is not downloaded
- Parakeet model {} is currently downloading
- Parakeet model {} has error: {}
- Can only delete corrupted or available Parakeet models. Mode
- Parakeet model '{}' not found
AI-assisted analysis of Zackriya-Solutions/meetily@0281737d87 (2026-08-16).
Data as JSON: /api/errors/fba99020bb4b13b1.
Report an issue: GitHub.