Prune repeatedly fails with exit code 100 — B2 fossils accumulating

I’m looking for advice on a persistent pruning issue with Duplicacy CLI and Backblaze B2.

Environment

  • Duplicacy CLI 3.3.0 (previously 3.2.3; same issue)
  • Debian Linux, Backblaze B2 storage
  • Snapshot ID: HomeBackup
  • Repository size: ~3.8 TB
  • Backups twice weekly

Problem

My retention policy is:

duplicacy prune -keep 0:210 -keep 30:56

The dry run completes successfully and identifies 49 snapshots for deletion. However, the actual prune repeatedly fails with exit code 100, and storage consumption continues to grow.

One of the final log messages is:

Chunk 0b8cb1be1375c6ab934d96bf321ed57492b0439e4b422f5a262245c1515f855c does not exist in the storage

Interestingly, this same chunk appears as “marked fossil” in 19 prune logs dating back to December 2025. I’m not certain whether it’s causing the failure.

Troubleshooting performed

  1. Upgraded from 3.2.3 to 3.3.0 — no change.
  2. duplicacy check -id HomeBackup -r 1937 — latest snapshot passed; all ~420,000 referenced chunks exist.
  3. duplicacy check -a -fossils — ran for approximately two days before I interrupted it. The captured output showed extensive fossilized chunk references across 39 revisions.
  4. Compared these revisions against the prune dry run. Most are scheduled for deletion, but revisions 1910 and 1915 are retained despite referencing fossils.
  5. Checked those revisions individually:
Revision Fossil references Missing chunks Exit code
1910 20,048 0 0
1915 15,015 0 0

Both checks reported that all referenced chunks exist, although many are fossils.

Questions

  1. What might cause prune to fail repeatedly with exit code 100 while the dry run succeeds?
  2. Should I run check -resurrect on revisions 1910 and 1915 before attempting another prune?
  3. Would testing prune -delete-only and -collect-only help isolate the failure, or is there a better diagnostic approach?
  4. What’s the safest way to recover from these apparently incomplete prune operations without risking retained backups?

I’ve paused pruning for now and can provide the relevant logs.

I’d appreciate any recommendations on how best to proceed. Thanks!