FTP upload error with big files

As I had problems with the optimal FTP settings and the upload to the server is slow, I have only added small files to the backup so far. The backup runs without errors until I add larger files (100 MB) to the backup.

The backup then stops with the following error:

"Errors": [
    "2024-12-21 10:24:32 +01 - [Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error\r\nFtpException: Error while uploading the file to the server. See InnerException for more info.",
    "2024-12-21 10:24:32 +01 - [Error-Duplicati.Library.Main.Controller-FailedOperation]: Die Operation Backup ist mit folgenden Fehler fehlgeschlagen: One or more errors occurred. (Error while uploading the file to the server. See InnerException for more info. (Error while uploading the file to the server. See InnerException for more info.) (One or more errors occurred. (Error while uploading the file to the server. See InnerException for more info.)))\r\nAggregateException: One or more errors occurred. (Error while uploading the file to the server. See InnerException for more info. (Error while uploading the file to the server. See InnerException for more info.) (One or more errors occurred. (Error while uploading the file to the server. See InnerException for more info.)))"
  ],

I use Duplicati Version 2.1.0.2_beta_2024-11-29.

Any ideas / suggestions what the problem could be?

I assume you have a large volume size? The local file size does not change the size of uploaded files. But naturally the uploaded volume size does not max out until there is enough data.

Usually, there is a stack trace as the next message which includes more information. Do you have that?

My best guess is that this is a timeout of sorts, or an issue with creating multiple connections.

Do you see a pattern in time after the upload starts and until it fails?

You can try setting —asynchronous-upload-limit=1 to fix it if it is a concurrency issue.

I repeated the backup and had the output written to a file with log level “verbose”. The backup is stopped after approx. 20 minutes. Here is the output where the error starts:

2024-12-21 14:01:46 +01 - [Verbose-2024-12-21 14:02:09 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b5605f6cff0ef44469b4b4e4d657fcf02.dblock.zip.aes (9,36 MB)
2024-12-21 14:04:35 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b5605f6cff0ef44469b4b4e4d657fcf02.dblock.zip.aes attempt 1 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.TimeoutException: Timed out trying to read data from the socket stream!
   at FluentFTP.FtpSocketStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpSocketStream.ReadLineAsync(Encoding encoding, CancellationToken token)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop, Int32 timeOut, Boolean useSema)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 14:04:35 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b5605f6cff0ef44469b4b4e4d657fcf02.dblock.zip.aes (9,36 MB)
2024-12-21 14:04:45 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b5605f6cff0ef44469b4b4e4d657fcf02.dblock.zip.aes (9,36 MB)
2024-12-21 14:04:45 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b420b964fc04d4ed3b837dd3a05faf37b.dblock.zip.aes (9,36 MB)
2024-12-21 14:04:45 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b5605f6cff0ef44469b4b4e4d657fcf02.dblock.zip.aes" to "duplicati-b420b964fc04d4ed3b837dd3a05faf37b.dblock.zip.aes"
2024-12-21 14:04:45 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b420b964fc04d4ed3b837dd3a05faf37b.dblock.zip.aes (9,36 MB)
2024-12-21 14:07:16 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b420b964fc04d4ed3b837dd3a05faf37b.dblock.zip.aes attempt 2 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.TimeoutException: Timed out trying to read data from the socket stream!
   at FluentFTP.FtpSocketStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpSocketStream.ReadLineAsync(Encoding encoding, CancellationToken token)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop, Int32 timeOut, Boolean useSema)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 14:07:16 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b420b964fc04d4ed3b837dd3a05faf37b.dblock.zip.aes (9,36 MB)
2024-12-21 14:07:26 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b420b964fc04d4ed3b837dd3a05faf37b.dblock.zip.aes (9,36 MB)
2024-12-21 14:07:26 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b556aa45f438e4ac3a9df0260bd69b005.dblock.zip.aes (9,36 MB)
2024-12-21 14:07:26 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b420b964fc04d4ed3b837dd3a05faf37b.dblock.zip.aes" to "duplicati-b556aa45f438e4ac3a9df0260bd69b005.dblock.zip.aes"
2024-12-21 14:07:26 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b556aa45f438e4ac3a9df0260bd69b005.dblock.zip.aes (9,36 MB)
2024-12-21 14:10:01 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b556aa45f438e4ac3a9df0260bd69b005.dblock.zip.aes attempt 3 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.TimeoutException: Timed out trying to read data from the socket stream!
   at FluentFTP.FtpSocketStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpSocketStream.ReadLineAsync(Encoding encoding, CancellationToken token)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop, Int32 timeOut, Boolean useSema)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 14:10:01 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b556aa45f438e4ac3a9df0260bd69b005.dblock.zip.aes (9,36 MB)
2024-12-21 14:10:11 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b556aa45f438e4ac3a9df0260bd69b005.dblock.zip.aes (9,36 MB)
2024-12-21 14:10:11 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-be9f3de3108f446ea803af5628b1f5aba.dblock.zip.aes (9,36 MB)
2024-12-21 14:10:11 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b556aa45f438e4ac3a9df0260bd69b005.dblock.zip.aes" to "duplicati-be9f3de3108f446ea803af5628b1f5aba.dblock.zip.aes"
2024-12-21 14:10:11 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-be9f3de3108f446ea803af5628b1f5aba.dblock.zip.aes (9,36 MB)
2024-12-21 14:12:40 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-be9f3de3108f446ea803af5628b1f5aba.dblock.zip.aes attempt 4 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.TimeoutException: Timed out trying to read data from the socket stream!
   at FluentFTP.FtpSocketStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpSocketStream.ReadLineAsync(Encoding encoding, CancellationToken token)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop, Int32 timeOut, Boolean useSema)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 14:12:40 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-be9f3de3108f446ea803af5628b1f5aba.dblock.zip.aes (9,36 MB)
2024-12-21 14:12:48 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b5421f6f5b6a94a208ac5508767a2d8fb.dblock.zip.aes attempt 1 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.TimeoutException: Timed out trying to read data from the socket stream!
   at FluentFTP.FtpSocketStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpSocketStream.ReadLineAsync(Encoding encoding, CancellationToken token)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop, Int32 timeOut, Boolean useSema)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 14:12:48 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b5421f6f5b6a94a208ac5508767a2d8fb.dblock.zip.aes (49,30 MB)
2024-12-21 14:12:50 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-be9f3de3108f446ea803af5628b1f5aba.dblock.zip.aes (9,36 MB)
2024-12-21 14:12:50 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b81cedda9b3ed461e86e86b90b502e52f.dblock.zip.aes (9,36 MB)
2024-12-21 14:12:50 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-be9f3de3108f446ea803af5628b1f5aba.dblock.zip.aes" to "duplicati-b81cedda9b3ed461e86e86b90b502e52f.dblock.zip.aes"
2024-12-21 14:12:50 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b81cedda9b3ed461e86e86b90b502e52f.dblock.zip.aes (9,36 MB)
2024-12-21 14:12:56 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b82fe366080ae43ba8b81c3d8ae0ee676.dblock.zip.aes attempt 1 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.TimeoutException: Timed out trying to read data from the socket stream!
   at FluentFTP.FtpSocketStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpSocketStream.ReadLineAsync(Encoding encoding, CancellationToken token)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop, Int32 timeOut, Boolean useSema)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 14:12:56 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b82fe366080ae43ba8b81c3d8ae0ee676.dblock.zip.aes (49,36 MB)
2024-12-21 14:12:58 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b5421f6f5b6a94a208ac5508767a2d8fb.dblock.zip.aes (49,30 MB)
2024-12-21 14:12:58 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b7e65f1b4162f47b4b59fb823ecccb830.dblock.zip.aes (49,30 MB)
2024-12-21 14:12:58 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b5421f6f5b6a94a208ac5508767a2d8fb.dblock.zip.aes" to "duplicati-b7e65f1b4162f47b4b59fb823ecccb830.dblock.zip.aes"
2024-12-21 14:12:58 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b7e65f1b4162f47b4b59fb823ecccb830.dblock.zip.aes (49,30 MB)
2024-12-21 14:13:06 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b82fe366080ae43ba8b81c3d8ae0ee676.dblock.zip.aes (49,36 MB)
2024-12-21 14:13:06 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-bc7dcae738c3d4039a835239b30329f16.dblock.zip.aes (49,36 MB)
2024-12-21 14:13:06 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b82fe366080ae43ba8b81c3d8ae0ee676.dblock.zip.aes" to "duplicati-bc7dcae738c3d4039a835239b30329f16.dblock.zip.aes"
2024-12-21 14:13:06 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bc7dcae738c3d4039a835239b30329f16.dblock.zip.aes (49,36 MB)
2024-12-21 14:15:07 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b81cedda9b3ed461e86e86b90b502e52f.dblock.zip.aes attempt 5 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.TimeoutException: Timed out trying to read data from the socket stream!
   at FluentFTP.FtpSocketStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpSocketStream.ReadLineAsync(Encoding encoding, CancellationToken token)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop, Int32 timeOut, Boolean useSema)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 14:15:07 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b81cedda9b3ed461e86e86b90b502e52f.dblock.zip.aes (9,36 MB)
2024-12-21 14:15:17 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b81cedda9b3ed461e86e86b90b502e52f.dblock.zip.aes (9,36 MB)
2024-12-21 14:15:17 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b0b35efb9fbfe494bbb30c2210715c1f3.dblock.zip.aes (9,36 MB)
2024-12-21 14:15:17 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b81cedda9b3ed461e86e86b90b502e52f.dblock.zip.aes" to "duplicati-b0b35efb9fbfe494bbb30c2210715c1f3.dblock.zip.aes"
2024-12-21 14:15:17 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b0b35efb9fbfe494bbb30c2210715c1f3.dblock.zip.aes (9,36 MB)
2024-12-21 14:17:39 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b0b35efb9fbfe494bbb30c2210715c1f3.dblock.zip.aes attempt 6 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.TimeoutException: Timed out trying to read data from the socket stream!
   at FluentFTP.FtpSocketStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpSocketStream.ReadLineAsync(Encoding encoding, CancellationToken token)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop, Int32 timeOut, Boolean useSema)
   at FluentFTP.Client.BaseClient.BaseFtpClient.FluentFTP.IInternalFtpClient.GetReplyInternal(CancellationToken token, String command, Boolean exhaustNoop)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 14:17:39 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Failed: duplicati-b0b35efb9fbfe494bbb30c2210715c1f3.dblock.zip.aes (9,36 MB)
2024-12-21 14:17:39 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-bc7dcae738c3d4039a835239b30329f16.dblock.zip.aes attempt 2 of 6 failed with message: The operation was canceled.
System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Security.SslStream.<WriteSingleChunk>g__CompleteWriteAsync|157_1[TIOAdapter](ValueTask writeTask, Byte[] bufferToReturn)
   at System.Net.Security.SslStream.WriteAsyncChunked[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at FluentFTP.FtpSocketStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpDataStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 14:17:39 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b7e65f1b4162f47b4b59fb823ecccb830.dblock.zip.aes attempt 2 of 6 failed with message: The operation was canceled.
System.OperationCanceledException: The operation was canceled.
   at System.Threading.CancellationToken.ThrowOperationCanceledException()

... (skiped some data)

   --- End of inner exception stack trace ---
   at CoCoL.ChannelExtensions.WaitForTaskOrThrow(Task task)
   at Duplicati.Library.Main.Operation.BackupHandler.Run(String[] sources, IFilter filter, CancellationToken token)
   at Duplicati.Library.Main.Controller.<>c__DisplayClass17_0.<Backup>b__0(BackupResults result)
   at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Action`1 method)

I had to remove some lines of the output because answers are limited to 3200 characters. If the complete error log is needed, I can provide it!

If I repeat the backup after the first error occurs, the restarted backup aborts with the following error:

[Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error\r\nFtpCommandException: Code: 421 Message: Client limit reached. Try again later.",
[Error-Duplicati.Library.Main.Controller-FailedOperation]: Die Operation Backup ist mit folgenden Fehler fehlgeschlagen: One or more errors occurred. (Code: 421 Message: Client limit reached. Try again later. (Code: 421 Message: Client limit reached. Try again later.) (One or more errors occurred. (Code: 421 Message: Client limit reached. Try again later.)))\r\nAggregateException: One or more errors occurred. (Code: 421 Message: Client limit reached. Try again later. (Code: 421 Message: Client limit reached. Try again later.) (One or more errors occurred. (Code: 421 Message: Client limit reached. Try again later.)))" ],

Error 421 is discussed here!

The remote device I use support 20 FTP connections simultaneously.
I have currently set the default value --asynchronous-upload-limit = 4.

When I change --asynchronous-upload-limit = 1, I the error message (connection closed by Remotehost):

2024-12-21 15:18:09 +01 - [Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error

SocketException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen.
2024-12-21 15:18:09 +01 - [Error-Duplicati.Library.Main.Controller-FailedOperation]: Die Operation Backup ist mit folgenden Fehler fehlgeschlagen: One or more errors occurred. (Eine vorhandene Verbindung wurde vom Remotehost geschlossen. (Eine vorhandene Verbindung wurde vom Remotehost geschlossen.) (One or more errors occurred. (Eine vorhandene Verbindung wurde vom Remotehost geschlossen.)))

AggregateException: One or more errors occurred. (Eine vorhandene Verbindung wurde vom Remotehost geschlossen. (Eine vorhandene Verbindung wurde vom Remotehost geschlossen.) (One or more errors occurred. (Eine vorhandene Verbindung wurde vom Remotehost geschlossen.)))

Below is the complete error output of the log file:

2024-12-21 15:12:41 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b134c57ef47764456b582f694d3218cb1.dblock.zip.aes (49,22 MB)
2024-12-21 15:13:21 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b134c57ef47764456b582f694d3218cb1.dblock.zip.aes attempt 1 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.AggregateException: Additional error occured while trying to resume uploading the file '/duplicati-b134c57ef47764456b582f694d3218cb1.dblock.zip.aes' at position 4849664 (Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..) (You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.)
 ---> System.IO.IOException: Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..
 ---> System.Net.Sockets.SocketException (10054): Eine vorhandene Verbindung wurde vom Remotehost geschlossen.
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Security.SslStream.<WriteSingleChunk>g__CompleteWriteAsync|157_1[TIOAdapter](ValueTask writeTask, Byte[] bufferToReturn)
   at System.Net.Security.SslStream.WriteAsyncChunked[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at FluentFTP.FtpSocketStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpDataStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
 ---> (Inner Exception #1) System.InvalidOperationException: You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.
   at FluentFTP.FtpDataStream.set_Position(Int64 value)
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)<---

   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 15:13:21 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b134c57ef47764456b582f694d3218cb1.dblock.zip.aes (49,22 MB)
2024-12-21 15:13:46 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b134c57ef47764456b582f694d3218cb1.dblock.zip.aes (49,22 MB)
2024-12-21 15:13:46 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b3e980340adc9453eb5031357390958ee.dblock.zip.aes (49,22 MB)
2024-12-21 15:13:46 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b134c57ef47764456b582f694d3218cb1.dblock.zip.aes" to "duplicati-b3e980340adc9453eb5031357390958ee.dblock.zip.aes"
2024-12-21 15:13:46 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b3e980340adc9453eb5031357390958ee.dblock.zip.aes (49,22 MB)
2024-12-21 15:14:18 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b3e980340adc9453eb5031357390958ee.dblock.zip.aes attempt 2 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.AggregateException: Additional error occured while trying to resume uploading the file '/duplicati-b3e980340adc9453eb5031357390958ee.dblock.zip.aes' at position 4521984 (Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..) (You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.)
 ---> System.IO.IOException: Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..
 ---> System.Net.Sockets.SocketException (10054): Eine vorhandene Verbindung wurde vom Remotehost geschlossen.
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Security.SslStream.<WriteSingleChunk>g__CompleteWriteAsync|157_1[TIOAdapter](ValueTask writeTask, Byte[] bufferToReturn)
   at System.Net.Security.SslStream.WriteAsyncChunked[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at FluentFTP.FtpSocketStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpDataStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
 ---> (Inner Exception #1) System.InvalidOperationException: You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.
   at FluentFTP.FtpDataStream.set_Position(Int64 value)
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)<---

   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 15:14:18 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b3e980340adc9453eb5031357390958ee.dblock.zip.aes (49,22 MB)
2024-12-21 15:14:43 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b3e980340adc9453eb5031357390958ee.dblock.zip.aes (49,22 MB)
2024-12-21 15:14:43 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b3dde978e1e0d42c686c5ba2fd5860638.dblock.zip.aes (49,22 MB)
2024-12-21 15:14:43 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b3e980340adc9453eb5031357390958ee.dblock.zip.aes" to "duplicati-b3dde978e1e0d42c686c5ba2fd5860638.dblock.zip.aes"
2024-12-21 15:14:43 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b3dde978e1e0d42c686c5ba2fd5860638.dblock.zip.aes (49,22 MB)
2024-12-21 15:15:14 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b3dde978e1e0d42c686c5ba2fd5860638.dblock.zip.aes attempt 3 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.AggregateException: Additional error occured while trying to resume uploading the file '/duplicati-b3dde978e1e0d42c686c5ba2fd5860638.dblock.zip.aes' at position 4784128 (Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..) (You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.)
 ---> System.IO.IOException: Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..
 ---> System.Net.Sockets.SocketException (10054): Eine vorhandene Verbindung wurde vom Remotehost geschlossen.
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Security.SslStream.<WriteSingleChunk>g__CompleteWriteAsync|157_1[TIOAdapter](ValueTask writeTask, Byte[] bufferToReturn)
   at System.Net.Security.SslStream.WriteAsyncChunked[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at FluentFTP.FtpSocketStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpDataStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
 ---> (Inner Exception #1) System.InvalidOperationException: You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.
   at FluentFTP.FtpDataStream.set_Position(Int64 value)
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)<---

   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 15:15:14 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b3dde978e1e0d42c686c5ba2fd5860638.dblock.zip.aes (49,22 MB)
2024-12-21 15:15:39 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b3dde978e1e0d42c686c5ba2fd5860638.dblock.zip.aes (49,22 MB)
2024-12-21 15:15:39 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b426b86a2d41b4c75b12770ef3d1bc82e.dblock.zip.aes (49,22 MB)
2024-12-21 15:15:39 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b3dde978e1e0d42c686c5ba2fd5860638.dblock.zip.aes" to "duplicati-b426b86a2d41b4c75b12770ef3d1bc82e.dblock.zip.aes"
2024-12-21 15:15:39 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b426b86a2d41b4c75b12770ef3d1bc82e.dblock.zip.aes (49,22 MB)
2024-12-21 15:16:08 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b426b86a2d41b4c75b12770ef3d1bc82e.dblock.zip.aes attempt 4 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.AggregateException: Additional error occured while trying to resume uploading the file '/duplicati-b426b86a2d41b4c75b12770ef3d1bc82e.dblock.zip.aes' at position 4194304 (Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..) (You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.)
 ---> System.IO.IOException: Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..
 ---> System.Net.Sockets.SocketException (10054): Eine vorhandene Verbindung wurde vom Remotehost geschlossen.
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Security.SslStream.<WriteSingleChunk>g__CompleteWriteAsync|157_1[TIOAdapter](ValueTask writeTask, Byte[] bufferToReturn)
   at System.Net.Security.SslStream.WriteAsyncChunked[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at FluentFTP.FtpSocketStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpDataStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
 ---> (Inner Exception #1) System.InvalidOperationException: You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.
   at FluentFTP.FtpDataStream.set_Position(Int64 value)
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)<---

   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 15:16:08 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b426b86a2d41b4c75b12770ef3d1bc82e.dblock.zip.aes (49,22 MB)
2024-12-21 15:16:33 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b426b86a2d41b4c75b12770ef3d1bc82e.dblock.zip.aes (49,22 MB)
2024-12-21 15:16:33 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b24a1c134f5064479ab81ae478a909702.dblock.zip.aes (49,22 MB)
2024-12-21 15:16:33 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b426b86a2d41b4c75b12770ef3d1bc82e.dblock.zip.aes" to "duplicati-b24a1c134f5064479ab81ae478a909702.dblock.zip.aes"
2024-12-21 15:16:33 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-b24a1c134f5064479ab81ae478a909702.dblock.zip.aes (49,22 MB)
2024-12-21 15:17:03 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-b24a1c134f5064479ab81ae478a909702.dblock.zip.aes attempt 5 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.AggregateException: Additional error occured while trying to resume uploading the file '/duplicati-b24a1c134f5064479ab81ae478a909702.dblock.zip.aes' at position 4063232 (Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..) (You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.)
 ---> System.IO.IOException: Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..
 ---> System.Net.Sockets.SocketException (10054): Eine vorhandene Verbindung wurde vom Remotehost geschlossen.
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Security.SslStream.<WriteSingleChunk>g__CompleteWriteAsync|157_1[TIOAdapter](ValueTask writeTask, Byte[] bufferToReturn)
   at System.Net.Security.SslStream.WriteAsyncChunked[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at FluentFTP.FtpSocketStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpDataStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
 ---> (Inner Exception #1) System.InvalidOperationException: You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.
   at FluentFTP.FtpDataStream.set_Position(Int64 value)
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)<---

   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 15:17:03 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Retrying: duplicati-b24a1c134f5064479ab81ae478a909702.dblock.zip.aes (49,22 MB)
2024-12-21 15:17:28 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-b24a1c134f5064479ab81ae478a909702.dblock.zip.aes (49,22 MB)
2024-12-21 15:17:28 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Rename: duplicati-bb779ba7a8f6f4a5f89c1f7d740bf9719.dblock.zip.aes (49,22 MB)
2024-12-21 15:17:28 +01 - [Information-Duplicati.Library.Main.Operation.Backup.BackendUploader-RenameRemoteTargetFile]: Renaming "duplicati-b24a1c134f5064479ab81ae478a909702.dblock.zip.aes" to "duplicati-bb779ba7a8f6f4a5f89c1f7d740bf9719.dblock.zip.aes"
2024-12-21 15:17:28 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Started: duplicati-bb779ba7a8f6f4a5f89c1f7d740bf9719.dblock.zip.aes (49,22 MB)
2024-12-21 15:17:54 +01 - [Retry-Duplicati.Library.Main.Operation.Backup.BackendUploader-RetryPut]: Operation Put with file duplicati-bb779ba7a8f6f4a5f89c1f7d740bf9719.dblock.zip.aes attempt 6 of 6 failed with message: Error while uploading the file to the server. See InnerException for more info.
FluentFTP.Exceptions.FtpException: Error while uploading the file to the server. See InnerException for more info.
 ---> System.AggregateException: Additional error occured while trying to resume uploading the file '/duplicati-bb779ba7a8f6f4a5f89c1f7d740bf9719.dblock.zip.aes' at position 4194304 (Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..) (You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.)
 ---> System.IO.IOException: Unable to write data to the transport connection: Eine vorhandene Verbindung wurde vom Remotehost geschlossen..
 ---> System.Net.Sockets.SocketException (10054): Eine vorhandene Verbindung wurde vom Remotehost geschlossen.
   --- End of inner exception stack trace ---
   at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
   at System.Net.Security.SslStream.<WriteSingleChunk>g__CompleteWriteAsync|157_1[TIOAdapter](ValueTask writeTask, Byte[] bufferToReturn)
   at System.Net.Security.SslStream.WriteAsyncChunked[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at System.Net.Security.SslStream.WriteAsyncInternal[TIOAdapter](ReadOnlyMemory`1 buffer, CancellationToken cancellationToken)
   at FluentFTP.FtpSocketStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.FtpDataStream.WriteAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
 ---> (Inner Exception #1) System.InvalidOperationException: You cannot modify the position of a FtpDataStream. This property is updated as data is read or written to the stream.
   at FluentFTP.FtpDataStream.set_Position(Int64 value)
   at FluentFTP.AsyncFtpClient.ResumeUploadAsync(String remotePath, Stream upStream, Int64 remotePosition, IOException ex, CancellationToken token)<---

   --- End of inner exception stack trace ---
   at FluentFTP.AsyncFtpClient.UploadFileInternalAsync(Stream fileData, String localPath, String remotePath, Boolean createRemoteDir, FtpRemoteExists existsMode, Boolean fileExists, Boolean fileExistsKnown, IProgress`1 progress, CancellationToken token, FtpProgress metaProgress)
   at FluentFTP.AsyncFtpClient.UploadStream(Stream fileStream, String remotePath, FtpRemoteExists existsMode, Boolean createRemoteDir, IProgress`1 progress, CancellationToken token)
   at Duplicati.Library.Backend.FTP.PutAsync(String remotename, Stream input, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoPut(FileEntryItem item, IBackend backend, CancellationToken cancelToken)
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.<>c__DisplayClass20_0.<<UploadFileAsync>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Duplicati.Library.Main.Operation.Backup.BackendUploader.DoWithRetry(Func`1 method, FileEntryItem item, Worker worker, CancellationToken cancelToken)
2024-12-21 15:17:54 +01 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Put - Failed: duplicati-bb779ba7a8f6f4a5f89c1f7d740bf9719.dblock.zip.aes (49,22 MB)
2024-12-21 15:18:09 +01 - [Error-Duplicati.Library.Main.Operation.BackupHandler-FatalError]: Fatal error

... (deleted some information due to 3200 character limitation)

   --- End of inner exception stack trace ---
   at CoCoL.ChannelExtensions.WaitForTaskOrThrow(Task task)
   at Duplicati.Library.Main.Operation.BackupHandler.Run(String[] sources, IFilter filter, CancellationToken token)
   at Duplicati.Library.Main.Controller.<>c__DisplayClass17_0.<Backup>b__0(BackupResults result)
   at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Action`1 method)