2.3.0.105: Repair rolls back with "FilesetEntry without corresponding FileLookup entry"

Hi, I use Duplicati to backup my Windows PC (SSD) to a SMB-Share in the local network (HDD).
Unfortunately, repair rolls back with “FilesetEntry without corresponding FileLookup entry”, count grew from 418 to 6580 after purge + aborted rebuild. Do you have any idea what I can do?

Duplicati 2.3.0.105 (canary, 2026-06-24). Backup set ~7 TiB, local DB ~17 GB.

Sequence of events:

  • Repair failed with: ConstraintException: Detected 418 file(s) in FilesetEntry without corresponding FileLookup entry after removing remote volumes, rolling back changes. Log showed one dblock stuck as „Uploading" (interrupted backup) plus temporary dblock/dindex being removed.
  • Ran list-broken-files then purge-broken-files (succeeded on 2nd attempt).
  • Backup then failed immediately with DatabaseInconsistencyException: Detected 418 file(s) in FilesetEntry without corresponding FileLookup entry (fileset list garbled as System.Linq.AsyncEnumerable+…).
  • As a targeted fix I deleted the 418 orphaned rows via DELETE FROM "FilesetEntry" WHERE "FileID" NOT IN (SELECT "ID" FROM "FileLookup");.
  • Then ran repair --rebuild-missing-dblock-files, which hung on a SQL query for a very long time; I aborted it.
  • Now repair fails with the same message but the count has grown: Detected 6580 file(s) in FilesetEntry without corresponding FileLookup entry after removing remote volumes, rolling back changes.

Questions:

  1. Is my remote still consistent enough for a full DB recreate to succeed, or does something need cleaning first (e.g. a partial dblock left by the aborted rebuild)?
  2. Given the 7 TiB size, is there any way to fix this without a full recreate (which risks the “download all dblocks” path)?
  3. Was --rebuild-missing-dblock-files the wrong tool here, and did aborting it leave the backend in a bad state?

I still have a copy of the local DB from before the manual DELETE, and can provide full logs.

Any help is appreciated very much. Thank you in advance!