Invalid header marker cryptographic when trying to delete unwanted files

Thanks for the tips – I’ll throw my scripting cap on later and start to pull it apart.

Regarding list-broken-files versus affected, try described test to see if those two ever disagree.
You were having troubles with list-broken-files, and I’m not sure affected was tried for that case.
If you can find a disagreement, then some of the later checks will help when you file the isse about that.

Regarding WebDAV upload integrity issues, feel free to work with verification, but another useful check would look into some jobs’ Complete log for RetryAttempts to see how easily the files are uploaded.

Just because it only took one try doesn’t prove it got there OK, so you can go to the list at backup end (see my example) to click it to see if it saw that file right after backup. Especially handy for missing files. Corrupted files might show a good list however there’s not a whole lot of information in the listing, e.g.:


Above is a file to Google Drive, but the format should be similar. If size or time changes later, at least the listing looked OK once. I’d note, though, that file presence and size (but not contents) are checked often.

Your missing file should have been noticed at start of any backup unless you set no-backend-verification.

Finding old list operations in the GUI is hard, so I was trying to get either a DB bug report posted or you going into the DB read-only to browse around. Browsing my own DB, the above-mentioned dblock is like:

Remotevolume table

ID      OperationID     Name                                                            Type    Size            Hash                                            State           VerificationCount       DeleteGraceTime
17315   1990        Blocks  52371869        LQ4rHLxj455A/IHCKx/cWSdEr5BE1xF+gpOtsm3oCw8=    Verified        58                      0

RemoteOperation table, searching in Path:

ID      OperationID     Timestamp       Operation       Path                                                            Data
48042   1990            1612222899      put         {"Size":52371869,"Hash":"LQ4rHLxj455A/IHCKx/cWSdEr5BE1xF+gpOtsm3oCw8="}
48054   1990            1612223039      get         {"Size":52371869,"Hash":"LQ4rHLxj455A/IHCKx/cWSdEr5BE1xF+gpOtsm3oCw8="}

UNIX timestamps above are probably backup upload, and verification after backup.

1612222899      Monday, February 1, 2021 6:41:39 PM GMT-05:00
1612223039      Monday, February 1, 2021 6:43:59 PM GMT-05:00

Remote file time seen at server will likely be the put time plus maybe some delay.

RemoteOperation table, searching in Data:

ID      OperationID     Timestamp       Operation       Path    Data
48049   1990            1612223023      list                    [ ... ]

Data is a big JSON array containing what should look familiar from GUI:


So this saves having to flip through GUI, and also traces file history.

Got a new one – backup goes thru all of steps with maybe a handful of errors, then tries to upload the verification json and blows up

(423) locked

I appreciate all of your help, but I believe the root cause of my grief was a failed array two weeks ago. I will start making fresh backups from scratch on Tuesday whenever I can grab the machines. I’ll move the ‘bad’ backups to an external disk in case I need to pull something from several months ago. Hopefully, the remake count will be less than a third of my total load.

I’ll probably keep playing around with it, but at some point, it’s time to stop cutting bait and get your hook in the water. But please if you have any brilliant ideas you’d like me to try (in the spirit of helping the developers), I’m game.

I did find a forum post ( that had a lot of the same problems I did, especially in regards to the list-broken and purge-broken not returning anything.



At least this one is something that a Google search finds that other Nextcloud systems are giving.
There are even lots at I’m not reading them, and never did find much on 503.

Nextcloud was said to have “raid controller”? If this system is ill, maybe it’s causing HTTP errors?
Regardless, I hope your fresh backup plan works, but I worry about the health of Nextcloud server.
If it needs more debugging, you have ideas, and there are more too, but rare errors are still hard…


Running the python script locally on my nextcloud server takes about an hour to complete on user LIN.

Logging onto LIN and running commandline test with all and -full-remote-verification takes 1/4th of that time

And as I understand the full-remote part, it’s going beyond the hash check. So why is there such a time differential?

In addition, the python check shows 6 missing files. The commandline test all (full-verification) shows no such problems.

Since the commandline test is also doing a hash check, why aren’t the missing files flagged?

Is this a huge problem, or will a simple db rebuild fix the issue?



Different implementations in different languages on different systems?
I’d have guessed local Python would win the race, but seemingly not…

Are you sure you ran it when Duplicati was idle? I would have expected agreement, unless those files happen to be in a state where one check forgives and the other doesn’t. What is state from looking at duplicati-verification.json or browsing the database’s Remotevolume table in DB Browser for SQLite?