Unexpected difference in fileset version error

I keep getting this error. I can’t seem to resolve it. I deleted the problematic version, but that did not do anything.

Here is the full error code: Unexpected difference in fileset version 3: 3/6/2024 1:24:59 PM (database id: 18), found 8416 entries, but expected 8512.

Thanks for your help.

What is Duplicati version? Is this a scheduled backup or manually run at varying times?
Scheduled is easier for an answer to next question – what happened on run before fail?
About → Show log → General may also have some errors even if usual log is not made.
Latest Canary is better at showing failures in usual log, but 2.0.7.1 Beta and older don’t.

EDIT:

2.0.7.100_canary_2023-12-27

Improve result reporting for interrupted/failed backups, thanks @Jojo-1000

but also this might avoid deleting versions one at a time. At least you get full view at first:

Report all filesets in error in VerifyConsistency, thanks @gpatel-fr

Problem is that Canary is not recommended for production. 2.0.7.100 has been very nice.
2.0.7.101_canary_2024-03-08 has not had enough test time to say much about its quality.
EDIT: Although it’s been doing fine for me, but sometimes one needs wider use than I run.

You are currently running Duplicati - 2.0.7.1_beta_2023-05-25

Scheduled to run. But I do manually run it at times as well.

Here is the error log from a scheduled run from a few minutes ago:

Mar 14, 2024 1:12 PM: Failed while executing “Backup” with id: 9
Duplicati.Library.Interface.UserInformationException: Unexpected difference in fileset version 3: 3/6/2024 1:24:59 PM (database id: 18), found 8416 entries, but expected 8512
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)
at Duplicati.Library.Main.Controller.Backup(String inputsources, IFilter filter)
at Duplicati.Server.Runner.Run(IRunnerData data, Boolean fromQueue)

I meant the run before the first failure, or perhaps the run of the first failure.

Got this just after a successful backup yesterday at 10:44 AM EDT.

Mar 13, 2024 12:00 PM: Failed while executing “Backup” with id: 9
Duplicati.Library.Interface.UserInformationException: Unexpected difference in fileset version 3: 3/6/2024 1:24:59 PM (database id: 18), found 8416 entries, but expected 8512
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)
at Duplicati.Library.Main.Controller.Backup(String inputsources, IFilter filter)
at Duplicati.Server.Runner.Run(IRunnerData data, Boolean fromQueue)

Thank you. So that was two backups? One at 10:44 that appeared to finish completely successfully, followed by one (maybe scheduled since the time is so even) that hit this, but probably lacked log in normal job logs location because 2.0.7.1 didn’t do that on a failure, so might have lost some history.

Sometimes reporting tools such as emails or http feeds into reporting systems can also have clues. Sometimes (rarely) people set their own additional log files which are the best, as one can see work.

If there’s nothing available to see how it broke or how badly, we can at least see how badly using the Canary release at least 2.0.7.100, or 2.0.7.101 if you’re more daring to run a less well tested release.

These will also do a better job of making a database bug report, if it comes down to my looking into it.

There is a chance that a simple database recreation will clear up the issue, but it could also fail worse. Caution and wish to preserve whatever history is left says to copy the database before trying recreate.

2.0.7.100 (so also in 2.0.7.101) added this too, which is sometimes handy in getting the recreate done:

Enhance database rebuilding of very damaged databases, thanks @gpatel-fr

If it gets past 70% on the progress bar, it’s hitting trouble, but the change will let it get through it faster. Your saving the old database before trying the recreate is the fallback if it can’t get the new one made.

Is this backup quite large or super critical, or just something where you’d prefer not to do a fresh start? Ultimately that’s often an option, but solving such issues more gracefully is a far more pleasant ending.

If you run the newer Canary, I think error should tell you how many versions would need to be deleted, when attempting to fix this by deletions. It might be few, it might be lots. Can’t say without any analysis.

You can probably get just the analysis by pushing the Verify files button, instead of trying a backup.

If you happen to be good with SQL databases (few are), we can try investigating the situation that way.

Correct.

I’m cool with downloading this. This is a beta, right? On Github?

Have tried to do this already, unfortunately.

Don’t understand what you’re saying here.

Nothing super important. Just a redundancy backup for my normal backup routine. I am OK with doing a delete and creation of a new job, but obviously, that is not preferred.[quote=“ts678, post:6, topic:17541”]
If you run the newer Canary, I think error should tell you how many versions would need to be deleted, when attempting to fix this by deletions. It might be few, it might be lots. Can’t say without any analysis.
[/quote]

I’m cool with trying this.

Is this in the command line?

Zero experience with SQL databases.

No. A Canary is built after limited developer testing and automated testing, but has had no users yet. Eventually after some willing users pick it up, it goes Beta which is as good as things get at this time.

So if you mean it’s a pre-release, yes. 2.0.6.100 was quite nice, but had at least one (obscure) bug… Resolving that opened the door for other things to get in, which then requiress more testing time, etc.

Database recreate shows a progress bar that slides to the right at the top of the screen. When length becomes 70% to 100% of the full amount (especially at 90% to 100%), it’s searching for missing data which it should already have found in the dindex files for the dblock files, but didn’t, so it downloads dblock files directly to see what they have. This can be slow, as they’re large files, not mere indexes.

This is not a normal thing, and likely you won’t hit it, but if you do hit it, it moves faster on new release.

It’s called The TEST command there, but I was referring to the button on the job menu, as seen below:

image

It probably puts the verification result in a job log entry, similarly to how a backup puts the results there.

EDIT:

I didn’t follow that. Yes on GitHub, and clicking on the links I posted will get your there. You can inspect Assets there, but probably you want the 64 bit .msi installer. You can also get there using the updater, but it’s probably messier, especially if you decide you want to drop back to Beta after solving this issue.

So should I start to try and resolve the issue by using the “Verify files” command?

EDIT: This is what I got when I ran the “Verify Files” command.

Duplicati.Library.Interface.UserInformationException: Unexpected difference in fileset version 3: 3/6/2024 1:24:59 PM (database id: 18), found 8416 entries, but expected 8512
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)
at Duplicati.Library.Main.Controller.Test(Int64 samples)
at Duplicati.Server.Runner.Run(IRunnerData data, Boolean fromQueue)

I went to the Github and found the Canary release (from December of last year). I have a Windows 11 machine. I want the X64.msi and not the zip file?

After you install the new one, otherwise it’s no different than what you already know.

Your choice. How do you usually install? The .zip file won’t do all the fancy stuff such as desktop shortcut and going in Apps to do uninstall. The Download page offers .msi at top, but .zip below.

image

other versions and operating systems:

image

If you use .zip, you must do things yourself to get Duplicati started. Maybe you used .msi before?

Downloaded the .MSI. Just install that? I don’t need to uninstall the stable Duplicati first?

Most likely. I’m pretty sure tons of people do.

You can if you like. I don’t think it’s necessary, but I’d be less certain if you downgrade to 2.0.7.1. Because Canary can be risky at first, you probably should at least change Settings off of Canary, otherwise you might install a bad one by accident. At some time, there should be a Beta release.

I downloaded and installed the canary version. I ran the backup job. Failed again with the different version error. Here is the result:

    {

“DeletedFiles”: 0,
“DeletedFolders”: 0,
“ModifiedFiles”: 0,
“ExaminedFiles”: 0,
“OpenedFiles”: 0,
“AddedFiles”: 0,
“SizeOfModifiedFiles”: 0,
“SizeOfAddedFiles”: 0,
“SizeOfExaminedFiles”: 0,
“SizeOfOpenedFiles”: 0,
“NotProcessedFiles”: 0,
“AddedFolders”: 0,
“TooLargeFiles”: 0,
“FilesWithError”: 0,
“ModifiedFolders”: 0,
“ModifiedSymlinks”: 0,
“AddedSymlinks”: 0,
“DeletedSymlinks”: 0,
“PartialBackup”: false,
“Dryrun”: false,
“MainOperation”: “Backup”,
“CompactResults”: null,
“VacuumResults”: null,
“DeleteResults”: null,
“RepairResults”: null,
“TestResults”: null,
“ParsedResult”: “Fatal”,
“Interrupted”: false,
“Version”: “2.0.7.100 (2.0.7.100_canary_2023-12-27)”,
“EndTime”: “2024-03-18T15:46:53.4451929Z”,
“BeginTime”: “2024-03-18T15:46:47.2817805Z”,
“Duration”: “00:00:06.1634124”,
“MessagesActualLength”: 1,
“WarningsActualLength”: 0,
“ErrorsActualLength”: 1,
“Messages”: [
“2024-03-18 11:46:47 -04 - [Information-Duplicati.Library.Main.Controller-StartingOperation]: The operation Backup has started”
],
“Warnings”: ,
“Errors”: [
“2024-03-18 11:46:53 -04 - [Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error\r\nUserInformationException: Unexpected difference in fileset version 3: 3/6/2024 1:24:59 PM (database id: 18), found 8416 entries, but expected 8512”
],
“BackendStatistics”: {
“RemoteCalls”: 0,
“BytesUploaded”: 0,
“BytesDownloaded”: 0,
“FilesUploaded”: 0,
“FilesDownloaded”: 0,
“FilesDeleted”: 0,
“FoldersCreated”: 0,
“RetryAttempts”: 0,
“UnknownFileSize”: 0,
“UnknownFileCount”: 0,
“KnownFileCount”: 0,
“KnownFileSize”: 0,
“LastBackupDate”: “0001-01-01T00:00:00”,
“BackupListCount”: 0,
“TotalQuotaSpace”: 0,
“FreeQuotaSpace”: 0,
“AssignedQuotaSpace”: 0,
“ReportedQuotaError”: false,
“ReportedQuotaWarning”: false,
“MainOperation”: “Backup”,
“ParsedResult”: “Success”,
“Interrupted”: false,
“Version”: “2.0.7.100 (2.0.7.100_canary_2023-12-27)”,
“EndTime”: “0001-01-01T00:00:00”,
“BeginTime”: “2024-03-18T15:46:47.2817805Z”,
“Duration”: “00:00:00”,
“MessagesActualLength”: 0,
“WarningsActualLength”: 0,
“ErrorsActualLength”: 0,
“Messages”: null,
“Warnings”: null,
“Errors”: null
}
}

Do you recall problematic version, or do you mean you deleted the one above with no effect?

The latter would be really strange. Good thing is that if the latest posts are from new Canary,
there’s apparently no other broken version, as I don’t think I saw any others mentioned there.

The posts are from the canary (You are currently running Duplicati - 2.0.7.100_canary_2023-12-27). Before changing to the Canary version, I tried to delete the version number mentioned in the error code (I think it was 3), but that did not get rid of the error. Still got it after manually trying to run the backup job.

Did it seem like it deleted something without having an error on that? Can you find any logs from that?

EDIT:

Regardless of history, I suppose you could try it again. Look over Restore dropdown before then after, because the date on whatever version you delete (3, per current message) should change backup date to what used to be 4. 0 is always the latest, and numbers go up by 1 for each older version still saved.

Trying it now. It seems to be working (as in actually running the backup as opposed to just spitting out an error message immediately). I will let you know the result.