No backups, unable to repair

Ubuntu 24.04.3 LTS, backing up to external USB drive (there’s about 2.5TB in this backup dir. on the USB drive)

I’d not being paying enough attention to my backups, and discovered a week or so ago that they have not been running since 2025-09-29. The log messages were

2025-11-14 20:32:26 +11 - [Error-Duplicati.Library.Main.Operation.FilelistProcessor-UnexpectedUploadingFile]: 
Unexpected file in uploading state: duplicati-b1482d724a5e0463d9262d256291ce24a.dblock.zip.aes

2025-11-14 20:32:27 +11 - [Error-Duplicati.Library.Main.Controller-FailedOperation]: 
The operation Backup has failed RemoteListVerificationException: 
The missing remote volume duplicati-b1482d724a5e0463d9262d256291ce24a.dblock.zip.aes is in 
uploading state and strict mode is on

If I start the gui app it runs for days and displays no logs, no messages, says it is verifying remote, then exits

Tried running from the cli “repair” and it crashed out

duplicati-cli repair  file:///media/ajft/Backup/ --backup-name=“ajft” --dbpath=/home/ajft/.config/Duplicati/KOZCLKXKEF.sqlite --backup-id=DB-10

Enter encryption passphrase: *********
Listing remote folder …
The operation Repair has failed => Detected 26 file(s) in FilesetEntry without corresponding FileLookup entry

System.Data.ConstraintException: Detected 26 file(s) in FilesetEntry without corresponding FileLookup entry
at Duplicati.Library.Main.Database.LocalDatabase.RemoveRemoteVolumes(IEnumerable1 names, IDbTransaction transaction)    at Duplicati.Library.Main.Operation.FilelistProcessor.RemoteListAnalysis(IBackendManager backendManager, Options options, LocalDatabase database, IDbTransaction transaction, IBackendWriter log, IEnumerable1 protectedFiles, IEnumerable1 strictExcemptFiles, VerifyMode verifyMode)    at Duplicati.Library.Main.Operation.RepairHandler.RunRepairRemoteAsync(IBackendManager backendManager, CancellationToken cancellationToken)    at Duplicati.Library.Main.Operation.RepairHandler.RunAsync(IBackendManager backendManager, IFilter filter)    at Duplicati.Library.Utility.Utility.Await(Task task)    at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Func3 method)
at Duplicati.Library.Main.Controller.RunAction[T](T result, IFilter& filter, Func3 method)    at Duplicati.Library.Main.Controller.Repair(IFilter filter)    at Duplicati.CommandLine.Commands.Repair(TextWriter outwriter, Action1 setup, List1 args, Dictionary2 options, IFilter filter)
at Duplicati.CommandLine.Program.ParseCommandLine(TextWriter outwriter, Action1 setup, Boolean& verboseErrors, String[] args)    at Duplicati.CommandLine.Program.RunCommandLine(TextWriter outwriter, TextWriter errwriter, Action1 setup, String
 args)

How do I go about repairing or recovering from this?

That is a bit hard to diagnose from just that. Could you try to add the advanced option --log-file=/path/to/file + log-file-log-level=information and then run again? This should generate a lot of log data explaining what is going on.

This is an internal consistency check that is triggered.
You can build a new database like this:

duplicati-cli repair file:///media/ajft/Backup/ --dbpath=/home/ajft/.config/Duplicati/KOZCLKXKEF-2.sqlite

When it finished, you can either swap the files, or edit the path in the UI.

Is this a database that was created with 2.2.0.x or from an older version? I ask because I have seen a few reports of this but have been unable to reproduce with the latest code so I am guessing it is a bug in an older version that leaves the database with dangling files, but would like to confirm it. If this is a database created with 2.2.0.x can you create a bug-report database and share it with me?