Zackriya-Solutions/meetily · error

Progress overflow while skipping {}

Error message

Progress overflow while skipping {}

What it means

When a previously downloaded artifact already matches its expected exact_bytes, the engine adds that size to the confirmed_bytes progress accumulator using checked_add. This error fires on u64 overflow — practically impossible with real file sizes, so it signals corrupted accounting state (e.g. corrupted artifact specs or corrupted accumulators).

Source

Thrown at frontend/src-tauri/src/parakeet_engine/parakeet_engine.rs:901

            }

            let file_path = model_dir.join(artifact.filename);
            let local_bytes = match fs::metadata(&file_path).await {
                Ok(metadata) => metadata.len(),
                Err(error) if error.kind() == std::io::ErrorKind::NotFound => 0,
                Err(error) => {
                    return Err(anyhow!(
                        "Failed to read {} metadata: {}",
                        artifact.filename,
                        error
                    ));
                }
            };

            if local_bytes == artifact.exact_bytes {
                confirmed_bytes = confirmed_bytes
                    .checked_add(artifact.exact_bytes)
                    .ok_or_else(|| anyhow!("Progress overflow while skipping {}", artifact.filename))?;
                let progress = Self::in_flight_progress(confirmed_bytes, total_bytes, 0.0);
                if let Some(callback) = &progress_callback {
                    callback(progress.clone());
                }
                self.set_downloading_status(model_name, progress.percent).await;
                last_percent = progress.percent;
                last_report = Instant::now();
                continue;
            }

            let file_url = format!("{}/{}", base_url.trim_end_matches('/'), artifact.filename);
            let range_start = (local_bytes > 0 && local_bytes < artifact.exact_bytes)
                .then_some(local_bytes);
            let response = self
                .send_download_request(&client, &file_url, range_start, active_download)
                .await?;

            let (response, mut artifact_bytes, append) = match range_start {

View on GitHub (pinned to a2cb62e827)

Solutions

  1. Restore the artifact manifest to its original values (reinstall/repair the app or reset the model spec constants).
  2. Verify each artifact.exact_bytes is a sane file size (hundreds of MB–GB, not near u64::MAX).
  3. Clear the models cache directory so no artifacts are in the 'skip' path, then re-download.
  4. File a bug with the exact artifact list if it reproduces with stock specs — it indicates an internal invariant violation.

Example fix

// before: corrupted manifest
ArtifactSpec { filename: "model.int8.onnx", exact_bytes: u64::MAX }
// after
ArtifactSpec { filename: "model.int8.onnx", exact_bytes: 1_203_331_072 }
Defensive patterns

Strategy: validation

Validate before calling

// sanity-check artifact specs before download
for a in &artifacts {
    assert!(a.exact_bytes > 0 && a.exact_bytes < 100 * 1024 * 1024 * 1024,
        "implausible exact_bytes for {}: {}", a.filename, a.exact_bytes);
}

Try / catch

match download_result {
    Err(e) if e.to_string().contains("Progress overflow while skipping") => {
        // manifest corruption: restore specs and clear cache
        restore_default_artifact_manifest()?;
        clear_model_cache(model_dir).await?;
        retry_download().await
    }
    other => other,
}

Prevention

When it happens

Trigger: Summing artifact.exact_bytes values for skipped (already-complete) files overflows u64 — only possible if exact_bytes values are corrupted to enormous values (near u64::MAX) or the manifest/accumulator is internally inconsistent.

Common situations: A hand-edited or programmatically corrupted artifacts manifest with bogus exact_bytes; memory corruption or a deserialized manifest from an incompatible version; downstream progress bookkeeping disagreeing with total_bytes.

Understand the failure class

Background: "This is a bug, please report it": internal invariant violations, unreachable panics, and SNH errors explained — this error's family across 47 libraries.

Related errors


AI-assisted analysis of Zackriya-Solutions/meetily@a2cb62e827 (2026-09-12). Data as JSON: /api/errors/59a0ac65efe0085e. Report an issue: GitHub.