Consistent Unexpected difference in fileset version

Thanks for confirming!

For what it’s worth I deleted a handful more versions trying the version reported, the one after, the one before with no real luck. I think I started with 40 versions and made it down to about 25 versions deleting them one at a time.

Finally it was telling me the missing entry was in version 20 of the 25 so I ran a delete with --keep-version=18 and that seems to have done the trick. Not sure that is really helpful to anyone else but it did finally work once I deleted enough versions.

1 Like

In my understanding, the block is removed from the database, even though it is in a volume. Fixing this would require re-reading t least the index file once the offending volume is known.

Thanks, this tip saved more than 1 terabyte of network traffic today. I also updated latest version, if it would have better protection against this.

Hi,

I am having real trouble with this same error. Due to the notifications not working only just realised it hasn’t been backing up since 8th April, I’ve tried deleting and repairing but I keep getting the same outcome, any help will be most appreciated

Failed: Unexpected difference in fileset version 0: 08/04/2020 23:00:00 (database id: 187), found 1000145 entries, but expected 1000166
Details: Duplicati.Library.Interface.UserInformationException: Unexpected difference in fileset version 0: 08/04/2020 23:00:00 (database id: 187), found 1000145 entries, but expected 1000166
at Duplicati.Library.Main.Database.LocalDatabase.VerifyConsistency(Int64 blocksize, Int64 hashsize, Boolean verifyfilelists, IDbTransaction transaction)
at Duplicati.Library.Main.Operation.TestHandler.Run(Int64 samples)
at Duplicati.Library.Main.Controller.RunAction[T](T result, String& paths, IFilter& filter, Action`1 method)

Welcome to the forum @Jamie_Leeke

Are you running 2.0.5.1? It does hugely better.

I upgraded to that yesterday but still got the same error. It’s currently recreating the database but with it being 3Tb it’s taking a while so hopefully it will complete once that’s done. If not I think I’m just going to try recreating the task and see if that works

The error is a DB consistency check before the backup runs, to avoid making a problem worse.
2.0.5.1 has the same check, but if you can get a good DB, it’s much better at keeping it good…

The original server which I opened this ticket for hasn’t reported this issue since I upgraded to 2.0.5.1_beta_2020-01-18, so it appears the fix rolled out has worked in this instance (I’ve had to let it run for several weeks to be sure).

Sadly we had to abandon Duplicati on another server as the upgrade process left it in an unusable state. It lost DB integrity completely and we couldn’t manage or add to the existing backup set. We couldn’t recover from this position and had to go with another backup solution.

We need to be mindful that Duplicati is both free and in beta. That said, it’s been in beta for over two years now, and the rate of development (esp time to fix issues like this) will make the difference between this becoming a trusted product and one that isn’t going to make the grade. We simply can’t have consistency or integrity issues within a backup product.

I genuinely like where this is going, and wish the Duplicati team all the best moving things forward.

Thank you, It’s still performing the database recreate but doesn’t look to have moved much since yesterday so I’ll give another couple of days and see if it moves. I realize with it being 3 Tb it will take a while.

Roughly where is it on the progress bar? The 70% to 100% range is three passes, and the last which is from 90% to 100% finishes a complete search of remote dblock files, if there is still missing information.

Viewing the live log at About --> Show log --> Live --> Verbose will give you status info on how far it is…

Or possibly you’re not that far yet. The ideal for even a large backup is to download only the small files, meaning only dlist (list of files in the backup), and dindex (index to the relatively large dblock data files).

One known slow spot even with ideal downloads is that the DB for a large backup can grow slow from having to track too many blocks. If you’re running at defaults, the block size is 100 KB, so 3 TB means about 3 million blocks’ info must be put in recreated DB. Using larger block sizes in advance can help, however this can’t be changed on an existing backup, so that’s just a hint for any future large backups.

If recreate finishes and errors, please try to make a note of the error. At this speed, don’t want to rerun.

The bar is around 75% complete, I’ve looked at the log and it says the following:

14 May 2020 15:35: Backend event: Get - Completed: duplicati-b1567e0079fbf443a8d9ade8c344886a1.dblock.zip.aes (50.07 MB

What do you advise I do?

Thanks

You should see more than one Get - Completed, for example next Get - Started should happen.
Because you’re getting dblocks, you should also see status info like below but with bigger values:

  • May 14, 2020 1:43 PM: Pass 2 of 3, processing blocklist volume 1 of 1

Especially if you get into Pass 3, the times seen should let you estimate the time of completion of downloading, however even when pass 3 finishes, it’s not guaranteed that Recreate will succeed.

Depending on upload/download speed, charges, and importance of keeping historical data, some Recreate runs that went all the way to the end before failing took longer than starting new backup.

What you do is somewhat up to you based on factors above. For my own backups, my B2 upload doesn’t cost me anything, whereas download might. I also try not to keep long-term historical files. Because of this, I don’t mind a restart on 2.0.5.1 (in fact I just did on a backup) because it’s better.
Situations vary though, and I don’t know yours. First choice is to wait for a result or give it up early.
Pass 3 is certainly capable of coming through, but for a large backup it’s a whole lot of downloads.

Thank you, it was only on 142 of 1115 after running for 5 days or so and on pass 1 of 3 so I’ve decided to cancel it and set a new backup to run due to not having a backup for so long, this will still take a while but hopefully will work this time.

Hi,

Sorry me again, the new backup started to run and then I got a similar error to the original backup, I had added it below, any ideas?

Failed: Unexpected difference in fileset version 1: 18/05/2020 08:56:28 (database id: 1), found 114574 entries, but expected 114917
Details: Duplicati.Library.Interface.UserInformationException: Unexpected difference in fileset version 1: 18/05/2020 08:56:28 (database id: 1), found 114574 entries, but expected 114917
at Duplicati.Library.Main.Database.LocalDatabase.VerifyConsistency(Int64 blocksize, Int64 hashsize, Boolean verifyfilelists, IDbTransaction transaction)
at Duplicati.Library.Main.Operation.Backup.BackupDatabase.<>c__DisplayClass34_0.b__0()
at Duplicati.Library.Main.Operation.Common.SingleRunner.<>c__DisplayClass3_0.b__0()
at Duplicati.Library.Main.Operation.Common.SingleRunner.d__21.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.BackupHandler.<RunAsync>d__20.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at CoCoL.ChannelExtensions.WaitForTaskOrThrow(Task task) at Duplicati.Library.Main.Controller.<>c__DisplayClass14_0.<Backup>b__0(BackupResults result) at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Action1 method)

Log data:
2020-05-18 23:02:06 +01 - [Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error
Duplicati.Library.Interface.UserInformationException: Unexpected difference in fileset version 1: 18/05/2020 08:56:28 (database id: 1), found 114574 entries, but expected 114917
at Duplicati.Library.Main.Database.LocalDatabase.VerifyConsistency(Int64 blocksize, Int64 hashsize, Boolean verifyfilelists, IDbTransaction transaction)
at Duplicati.Library.Main.Operation.Backup.BackupDatabase.<>c__DisplayClass34_0.b__0()
at Duplicati.Library.Main.Operation.Common.SingleRunner.<>c__DisplayClass3_0.b__0()
at Duplicati.Library.Main.Operation.Common.SingleRunner.d__2`1.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.BackupHandler.d__20.MoveNext()

Thanks

How was this done? The “Unexpected difference” is a local database error found in pre-backup check.
Database Delete button deletes it. You manually delete remote files, assuming you want a fresh start.

If space and interest exist, and older versions could be of interest, the old file folder could perhaps be renamed (or Duplicati could be configured to use a different empty one), in case you ever want to use Duplicati.CommandLine.RecoveryTool.exe which is more tolerant about somewhat corrupted backups.

Fresh start is also a good chance to change –blocksize to something larger, especially if the Recreate seemed to be making the CPU or drive busy. It’s also possible, though, that your network was the limit.

If you can keep track of your source folder plan (Commandline arguments also offers a textual display), backing up your most important folders first would be good. That way you at least have that set in case backup is interrupted, or a disaster occurs. The above idea of keeping old backup awhile may help too.

Please see earlier question about how new backup was done, and was this run the very first run done?

The error time was at 23:02, complaining about a seemingly earlier backup at time 08:56 that managed to backup over a hundred thousand files before something went wrong. Sound likely? What happened?

I edited the old backup schedule and stopped it from automatically running but didn’t delete it as a job as I wanted the option to restore files if possible from it. I then set up a new job to a different folder and it looked to be running ok and did about 500 Gb and then errored, so I tried to run it again and get the error I sent over.

When you say rename the folder, is that the local folder or the folder in Google Drive as I’ve created a new folder for the backup in Google Drive.

This is the first error I received yesterday:
Failed: One or more errors occurred.
Details: System.AggregateException: One or more errors occurred. —> System.AggregateException: Could not find file ‘C:\Users\systemadmin\AppData\Local\Temp\2\dup-a6a85bb8-78b8-4c83-bfa2-3c8ca9a5c069’. —> System.IO.FileNotFoundException: Could not find file ‘C:\Users\systemadmin\AppData\Local\Temp\2\dup-a6a85bb8-78b8-4c83-bfa2-3c8ca9a5c069’.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream…ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Duplicati.Library.Main.Operation.Backup.SpillCollectorProcess.<>c__DisplayClass0_0.<b__0>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at CoCoL.AutomationExtensions.d__101.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.BackupHandler.<RunMainOperation>d__13.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.BackupHandler.<RunAsync>d__20.MoveNext() --- End of inner exception stack trace --- at Duplicati.Library.Main.Operation.BackupHandler.<RunAsync>d__20.MoveNext() --- End of inner exception stack trace --- at CoCoL.ChannelExtensions.WaitForTaskOrThrow(Task task) at Duplicati.Library.Main.Controller.<>c__DisplayClass14_0.<Backup>b__0(BackupResults result) at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Action1 method)
—> (Inner Exception #0) System.AggregateException: Could not find file ‘C:\Users\systemadmin\AppData\Local\Temp\2\dup-a6a85bb8-78b8-4c83-bfa2-3c8ca9a5c069’. —> System.IO.FileNotFoundException: Could not find file ‘C:\Users\systemadmin\AppData\Local\Temp\2\dup-a6a85bb8-78b8-4c83-bfa2-3c8ca9a5c069’.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream…ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Duplicati.Library.Main.Operation.Backup.SpillCollectorProcess.<>c__DisplayClass0_0.<b__0>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at CoCoL.AutomationExtensions.d__101.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.BackupHandler.<RunMainOperation>d__13.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.BackupHandler.<RunAsync>d__20.MoveNext() --- End of inner exception stack trace --- at Duplicati.Library.Main.Operation.BackupHandler.<RunAsync>d__20.MoveNext() ---> (Inner Exception #0) System.IO.FileNotFoundException: Could not find file 'C:\Users\systemadmin\AppData\Local\Temp\2\dup-a6a85bb8-78b8-4c83-bfa2-3c8ca9a5c069'. File name: 'C:\Users\systemadmin\AppData\Local\Temp\2\dup-a6a85bb8-78b8-4c83-bfa2-3c8ca9a5c069' at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share) at Duplicati.Library.Main.Operation.Backup.SpillCollectorProcess.<>c__DisplayClass0_0.<<Run>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at CoCoL.AutomationExtensions.<RunTask>d__101.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.BackupHandler.d__13.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.BackupHandler.d__20.MoveNext()<—

—> (Inner Exception #1) System.AggregateException: One or more errors occurred. —> System.Net.WebException: The remote server returned an error: (403) Forbidden.
at Duplicati.Library.Utility.AsyncHttpRequest.AsyncWrapper.GetResponseOrStream()
at Duplicati.Library.Utility.AsyncHttpRequest.GetResponse()
at Duplicati.Library.JSONWebHelper.GetResponse(AsyncHttpRequest req, Object requestdata)
at Duplicati.Library.JSONWebHelper.ReadJSONResponse[T](AsyncHttpRequest req, Object requestdata)
at Duplicati.Library.Backend.GoogleDrive.GoogleDrive.d__42.MoveNext()
at Duplicati.Library.Backend.GoogleDrive.GoogleDrive.d__17.MoveNext()
at Duplicati.Library.Backend.GoogleDrive.GoogleDrive.d__15.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.Backup.BackendUploader.d__21.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass17_0.<b__0>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.Backup.BackendUploader.d__18.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Duplicati.Library.Main.Operation.Backup.BackendUploader.d__18.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.Backup.BackendUploader.d__17.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.Backup.BackendUploader.d__15.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.Backup.BackendUploader.<b__13_0>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Duplicati.Library.Main.Operation.Backup.BackendUploader.<b__13_0>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at CoCoL.AutomationExtensions.d__101.MoveNext() --- End of inner exception stack trace --- ---> (Inner Exception #0) System.Net.WebException: The remote server returned an error: (403) Forbidden. at Duplicati.Library.Utility.AsyncHttpRequest.AsyncWrapper.GetResponseOrStream() at Duplicati.Library.Utility.AsyncHttpRequest.GetResponse() at Duplicati.Library.JSONWebHelper.GetResponse(AsyncHttpRequest req, Object requestdata) at Duplicati.Library.JSONWebHelper.ReadJSONResponse[T](AsyncHttpRequest req, Object requestdata) at Duplicati.Library.Backend.GoogleDrive.GoogleDrive.<ListFolder>d__42.MoveNext() at Duplicati.Library.Backend.GoogleDrive.GoogleDrive.<List>d__17.MoveNext() at Duplicati.Library.Backend.GoogleDrive.GoogleDrive.<PutAsync>d__15.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.Backup.BackendUploader.<DoPut>d__21.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass17_0.<<UploadFileAsync>b__0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.Backup.BackendUploader.<DoWithRetry>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Duplicati.Library.Main.Operation.Backup.BackendUploader.<DoWithRetry>d__18.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.Backup.BackendUploader.<UploadFileAsync>d__17.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.Backup.BackendUploader.<UploadBlockAndIndexAsync>d__15.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Duplicati.Library.Main.Operation.Backup.BackendUploader.<<Run>b__13_0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at Duplicati.Library.Main.Operation.Backup.BackendUploader.<<Run>b__13_0>d.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at CoCoL.AutomationExtensions.<RunTask>d__101.MoveNext()<—
<—
<—

Log data:
2020-05-18 13:04:17 +01 - [Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error
System.IO.FileNotFoundException: Could not find file ‘C:\Users\systemadmin\AppData\Local\Temp\2\dup-a6a85bb8-78b8-4c83-bfa2-3c8ca9a5c069’.
File name: ‘C:\Users\systemadmin\AppData\Local\Temp\2\dup-a6a85bb8-78b8-4c83-bfa2-3c8ca9a5c069’
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
at System.IO.FileStream…ctor(String path, FileMode mode, FileAccess access, FileShare share)
at Duplicati.Library.Main.Operation.Backup.SpillCollectorProcess.<>c__DisplayClass0_0.<b__0>d.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at CoCoL.AutomationExtensions.d__10`1.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.BackupHandler.d__13.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Duplicati.Library.Main.Operation.BackupHandler.d__20.MoveNext()

Sorry to keep messaging but I’m new to all this, I’ve managed to get it running on 4 other servers without a problem it’s just this one that is being a pain.

If I was to delete all the jobs within Duplicati and started again would I still be able to recover the files from Google Drive?

That fits well with the version numbers, where 0 is the newest, and 1 is previous (i.e one that crashed).

The error on the temporary file has been seen before, but I don’t think the cause is known, and maybe adequate information has never been collected (hard to do unless problem repeats). I’ll check cases…

Ideally one would have a log file running in advance to maybe catch something leading up to the error.

Network errors sometimes lead to issues later on, but such details are not logged very well by default.

–log-file with –log-file-log-level=Retry is a good level to catch those. There are higher levels but output becomes overwhelming at some point (so I hope it’s not necessary to go to Verbose or even Profiling).

Because you kept your old job, you can see if you have job Complete log to look for RetryAttempts. Recreate attempt might have wiped out the logs though. The per-job logs are kept in the job database.

Google Drive. These are roughly equivalent:

  1. Rename remote folder (to preserver data just in case), leaving Duplicati configuration alone.
  2. Change Duplicati configuration to a new folder, leaving old remote folder alone. You did this.

You also avoided needing Delete button on database by creating a new job (so a new database).

EDIT: missed this one:

Restoring files using the Recovery Tool and prior steps are command line tools, and things you might want from the Duplicati server installation would be the <remoteurl>, encryption password, and such from Export As Command-line. If you don’t have job information saved elsewhere, it’d be a good idea.

Exporting to a file is a good idea too, but if the reason for a deletion is because of some concern about configuration, you might prefer a manual retype based on clues from the command-line export version.

If you’re not worried about a bad config, you could import then try to recover, but I don’t know why that would work better than just the job database recreate, which was running too long and slow previously.

Similar issues with some comments and troubleshooting ideas which the users didn’t clearly pursue:

Need help, backup failing to B2 cloud has an antivirus theory and a Process Monitor debugging idea.

Backup error - sftp - put has SftpPermissionDeniedException further down in all the stack traces.

The backend failure that I notice further down in all your stack traces is the following:

System.Net.WebException: The remote server returned an error: (403) Forbidden

Delete dlist file not found & exclude ~$ temporary files was my history of odd Google Drive 403 errors.
Generally such errors will be retried based on –number-of-retries, but eventually retries might exhaust.
Running a log at Retry level will detail each error, otherwise you might just see how the last one failed.