I just wanted to add that I made similar experiences. A backup startet about a year ago worked fine until three weeks ago it stopped with the invalid header marker error (v 2.0.4.5 under Windows 10, backing up to onedriveV2, usually not throttled, 50M block size).
Error message were not very helpful as they did not contain any specific information regarding a file:
System.Security.Cryptography.CryptographicException: Invalid header marker —> System.IO.InvalidDataException: Invalid header marker
bei SharpAESCrypt.SharpAESCrypt.ReadEncryptionHeader(String password, Boolean skipFileSizeCheck)
bei SharpAESCrypt.SharpAESCrypt…ctor(String password, Stream stream, OperationMode mode, Boolean skipFileSizeCheck)
bei Duplicati.Library.Encryption.AESEncryption.Decrypt(Stream input)
bei Duplicati.Library.Encryption.EncryptionBase.Decrypt(Stream input, Stream output)
bei Duplicati.Library.Main.BackendManager.<>c__DisplayClass36_0.b__0()
bei System.Threading.Tasks.Task.Execute()
— Ende der internen Ausnahmestapelüberwachung —
bei Duplicati.Library.Main.AsyncDownloader.AsyncDownloaderEnumerator.AsyncDownloadedFile.get_TempFile()
bei Duplicati.Library.Main.Operation.CompactHandler.DoCompact(LocalDeleteDatabase db, Boolean hasVerifiedBackend, IDbTransaction& transaction, BackendManager sharedBackend)
bei Duplicati.Library.Main.Operation.DeleteHandler.DoRun(LocalDeleteDatabase db, IDbTransaction& transaction, Boolean hasVerifiedBacked, Boolean forceCompact, BackendManager sharedManager)
bei Duplicati.Library.Main.Operation.BackupHandler.CompactIfRequired(BackendManager backend, Int64 lastVolumeSize)
bei Duplicati.Library.Main.Operation.BackupHandler.d__20.MoveNext()
— Ende der Stapelüberwachung vom vorhergehenden Ort, an dem die Ausnahme ausgelöst wurde —
bei System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
bei CoCoL.ChannelExtensions.WaitForTaskOrThrow(Task task)
bei Duplicati.Library.Main.Controller.<>c__DisplayClass14_0.b__0(BackupResults result)
bei Duplicati.Library.Main.Controller.RunAction[T](T result, String& paths, IFilter& filter, Action`1 method)
bei Duplicati.Library.Main.Controller.Backup(String inputsources, IFilter filter)
bei Duplicati.Server.Runner.Run(IRunnerData data, Boolean fromQueue)
I couldn’t determine the cause. I tried different things like rebuilding the database, switching between smart retention and other retention strategies, but nothing helped. I just found that according to duplicati the backup had a size of ~148 GB and according to onedrive the folder was ~249 so it must have been gone out of sync somehow. As I fiddeled around a bit over the year I have no idea what exactly might have contributed to going out of sync. I started a new backup as that was the least time consuming way to continue backups.
But it would be great if Duplicati would offer some remedy in the case of invalid header markers, like replacing the corrupt file with a new one if the files still exist in the same version as in the corrupt file or leading the user to a step-by-step solution of the problem and/or produce error messages with better information what went wrong.