A task was cancelled and other errors

I have a number of backup jobs running, some of them quite big (1-2TB) with lots of files. I am using Duplicati 2.1.0.3_beta_2025-01-22 running in a Docker container on an Asustor NAS and all jobs use WebDAV. The destination for all jobs is my friend’s NAS who uses the exact same setup to backup his files on my NAS. We have been running this setup successfully for years.

For 1-2 months now I keep getting weird errors. The very small jobs do not have them, the medium ones do randomly and the big ones almost all the time. My friend has jobs comparable in size and amount of files but does not have any of these problems.

From what I can see the jobs start, verify the backend, then gather the local files, do the backup, delete obsolete files and then verify some remote files - and then the errors occurr:

{
  "DeletedFiles": 0,
  "DeletedFolders": 0,
  "ModifiedFiles": 0,
  "ExaminedFiles": 131841,
  "OpenedFiles": 0,
  "AddedFiles": 0,
  "SizeOfModifiedFiles": 0,
  "SizeOfAddedFiles": 0,
  "SizeOfExaminedFiles": 940296395245,
  "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": {
    "DeletedSetsActualLength": 0,
    "DeletedSets": [],
    "Dryrun": false,
    "MainOperation": "Delete",
    "CompactResults": null,
    "ParsedResult": "Success",
    "Interrupted": false,
    "Version": "2.1.0.3 (2.1.0.3_beta_2025-01-22)",
    "EndTime": "2025-02-02T17:27:31.4274279Z",
    "BeginTime": "2025-02-02T17:22:14.2549805Z",
    "Duration": "00:05:17.1724474",
    "MessagesActualLength": 0,
    "WarningsActualLength": 0,
    "ErrorsActualLength": 0,
    "Messages": null,
    "Warnings": null,
    "Errors": null,
    "BackendStatistics": {
      "RemoteCalls": 123,
      "BytesUploaded": 0,
      "BytesDownloaded": 79071627,
      "FilesUploaded": 0,
      "FilesDownloaded": 23,
      "FilesDeleted": 0,
      "FoldersCreated": 0,
      "RetryAttempts": 80,
      "UnknownFileSize": 0,
      "UnknownFileCount": 0,
      "KnownFileCount": 17992,
      "KnownFileSize": 941514800728,
      "LastBackupDate": "2025-01-21T04:12:53+00:00",
      "BackupListCount": 5,
      "TotalQuotaSpace": 0,
      "FreeQuotaSpace": 0,
      "AssignedQuotaSpace": -1,
      "ReportedQuotaError": false,
      "ReportedQuotaWarning": false,
      "MainOperation": "Backup",
      "ParsedResult": "Success",
      "Interrupted": false,
      "Version": "2.1.0.3 (2.1.0.3_beta_2025-01-22)",
      "EndTime": "0001-01-01T00:00:00",
      "BeginTime": "2025-02-02T17:19:20.443248Z",
      "Duration": "00:00:00",
      "MessagesActualLength": 0,
      "WarningsActualLength": 0,
      "ErrorsActualLength": 0,
      "Messages": null,
      "Warnings": null,
      "Errors": null
    }
  },
  "RepairResults": null,
  "TestResults": {
    "MainOperation": "Test",
    "VerificationsActualLength": 41,
    "Verifications": [
      {
        "Key": "duplicati-20240520T032031Z.dlist.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-20250117T060545Z.dlist.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-20240926T030616Z.dlist.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-20250121T041253Z.dlist.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-20240221T030657Z.dlist.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-i28ff18a115034a3ababd18040d170d60.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-i0966f832880648bdb5a79c20f3cde72f.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-i843d4db94158409194c00ba36b86c67c.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-i63687af844114f89961821440f6a76aa.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-id0f5c86ab0e44d1184943d61d4d86eb2.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-ie09c821de2db4bedada4326193f16e4e.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-i40a951a4ab624e529e7359b45492f6f1.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-i0c15fd3de39e4ae9b5a8f350de6fcc83.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-ic58020b7883e4c3ab010d369fde9e627.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-i6c51bc3a42944f42abea8b3ee9919026.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-ied8ce90e22aa48af8e8fe373f32d9787.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-ifaaba43d52f442debaf24895c18a78fb.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-ib00eb1c17d804855ad5dc637bf8d549e.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-i48869c23a68b4992ba31a2d2fbd2ae45.dindex.zip.aes",
        "Value": []
      },
      {
        "Key": "duplicati-i3d961a240da94245a9544a883aaf7e54.dindex.zip.aes",
        "Value": []
      }
    ],
    "ParsedResult": "Success",
    "Interrupted": false,
    "Version": "2.1.0.3 (2.1.0.3_beta_2025-01-22)",
    "EndTime": "2025-02-02T22:08:00.4589673Z",
    "BeginTime": "2025-02-02T17:27:50.8262877Z",
    "Duration": "04:40:09.6326796",
    "MessagesActualLength": 0,
    "WarningsActualLength": 0,
    "ErrorsActualLength": 0,
    "Messages": null,
    "Warnings": null,
    "Errors": null,
    "BackendStatistics": {
      "RemoteCalls": 123,
      "BytesUploaded": 0,
      "BytesDownloaded": 79071627,
      "FilesUploaded": 0,
      "FilesDownloaded": 23,
      "FilesDeleted": 0,
      "FoldersCreated": 0,
      "RetryAttempts": 80,
      "UnknownFileSize": 0,
      "UnknownFileCount": 0,
      "KnownFileCount": 17992,
      "KnownFileSize": 941514800728,
      "LastBackupDate": "2025-01-21T04:12:53+00:00",
      "BackupListCount": 5,
      "TotalQuotaSpace": 0,
      "FreeQuotaSpace": 0,
      "AssignedQuotaSpace": -1,
      "ReportedQuotaError": false,
      "ReportedQuotaWarning": false,
      "MainOperation": "Backup",
      "ParsedResult": "Success",
      "Interrupted": false,
      "Version": "2.1.0.3 (2.1.0.3_beta_2025-01-22)",
      "EndTime": "0001-01-01T00:00:00",
      "BeginTime": "2025-02-02T17:19:20.443248Z",
      "Duration": "00:00:00",
      "MessagesActualLength": 0,
      "WarningsActualLength": 0,
      "ErrorsActualLength": 0,
      "Messages": null,
      "Warnings": null,
      "Errors": null
    }
  },
  "ParsedResult": "Error",
  "Interrupted": false,
  "Version": "2.1.0.3 (2.1.0.3_beta_2025-01-22)",
  "EndTime": "2025-02-02T22:08:04.1677097Z",
  "BeginTime": "2025-02-02T17:19:20.4432415Z",
  "Duration": "04:48:43.7244682",
  "MessagesActualLength": 253,
  "WarningsActualLength": 0,
  "ErrorsActualLength": 19,
  "Messages": [
    "2025-02-02 17:19:20 +00 - [Information-Duplicati.Library.Main.Controller-StartingOperation]: The operation Backup has started",
    "2025-02-02 17:20:12 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()",
    "2025-02-02 17:20:42 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Retrying:  ()",
    "2025-02-02 17:20:52 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()",
    "2025-02-02 17:20:57 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Completed:  (17.57 KB)",
    "2025-02-02 17:22:14 +00 - [Information-Duplicati.Library.Main.Operation.DeleteHandler:RetentionPolicy-StartCheck]: Start checking if backups can be removed",
    "2025-02-02 17:22:14 +00 - [Information-Duplicati.Library.Main.Operation.DeleteHandler:RetentionPolicy-FramesAndIntervals]: Time frames and intervals pairs: 7.00:00:00 / 1.00:00:00, 28.00:00:00 / 7.00:00:00, 365.00:00:00 / 31.00:00:00",
    "2025-02-02 17:22:14 +00 - [Information-Duplicati.Library.Main.Operation.DeleteHandler:RetentionPolicy-BackupList]: Backups to consider: 01/17/2025 06:05:45, 09/26/2024 03:06:16, 05/20/2024 03:20:31, 02/21/2024 03:06:57",
    "2025-02-02 17:22:14 +00 - [Information-Duplicati.Library.Main.Operation.DeleteHandler:RetentionPolicy-BackupsToDelete]: Backups outside of all time frames and thus getting deleted: ",
    "2025-02-02 17:22:14 +00 - [Information-Duplicati.Library.Main.Operation.DeleteHandler:RetentionPolicy-AllBackupsToDelete]: All backups to delete: ",
    "2025-02-02 17:27:31 +00 - [Information-Duplicati.Library.Main.Operation.DeleteHandler-DeleteResults]: No remote filesets were deleted",
    "2025-02-02 17:27:31 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()",
    "2025-02-02 17:27:50 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Completed:  (17.57 KB)",
    "2025-02-02 17:27:50 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20240520T032031Z.dlist.zip.aes (15.08 MB)",
    "2025-02-02 17:28:07 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Completed: duplicati-20240520T032031Z.dlist.zip.aes (15.08 MB)",
    "2025-02-02 17:28:07 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20250117T060545Z.dlist.zip.aes (15.08 MB)",
    "2025-02-02 17:31:17 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Completed: duplicati-20250117T060545Z.dlist.zip.aes (15.08 MB)",
    "2025-02-02 17:31:17 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20240926T030616Z.dlist.zip.aes (15.08 MB)",
    "2025-02-02 17:31:29 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Completed: duplicati-20240926T030616Z.dlist.zip.aes (15.08 MB)",
    "2025-02-02 17:31:29 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: Get - Started: duplicati-20250121T041253Z.dlist.zip.aes (15.08 MB)"
  ],
  "Warnings": [],
  "Errors": [
    "2025-02-02 18:15:25 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-bd88f3b975909424d93fc6b721e2cc1f3.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 18:27:48 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-bc9a1b83a2c26453584edf7f6733e726f.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 18:43:29 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b02efd09058f247bd8036805f8b7c880d.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 19:02:54 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b9818619d75854fa0b08e215779bb58f5.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 19:29:00 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-bf623c889c50d424fb67855e0a77f7a47.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 19:49:03 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b4bdb82a990274a3597bc792b4bf72bb5.dblock.zip.aes\nIOException: Received an unexpected EOF or 0 bytes from the transport stream.",
    "2025-02-02 20:00:31 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b2b3288aa5b084615bb0edabb537971d8.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 20:09:48 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-ba69b1c89c2164e94a42d5cbfad28083d.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 20:27:40 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b011d44d85c4048b0a260b6e52476c7f9.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 20:38:44 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-be46e8e4cfeee4520b584d94e8192d125.dblock.zip.aes\nHttpRequestException: Resource temporarily unavailable (figment.myasustor.com:33566)",
    "2025-02-02 20:45:16 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b152f8849466f499db133879baf0ab29a.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 20:58:21 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-bdae54830419e4041b10346645875bb14.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 21:10:06 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b801614091c154437b53d0f63d2565ef8.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 21:23:35 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b2be9a4e41a7a4fcea1c5223201d72449.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 21:30:45 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b93c6381fdba04242b5d6959f0d29f0ee.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 21:42:20 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b3b48b5a1b7cb4adab8552b94b27cbd3f.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 21:49:37 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-b3767663ce2ee4ae89fc036c0d40d658f.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 22:08:00 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-FailedToProcessFile]: Failed to process file duplicati-bef6f93e4749442d1a859aad88e6cd89f.dblock.zip.aes\nTaskCanceledException: The operation was canceled.",
    "2025-02-02 22:08:00 +00 - [Error-Duplicati.Library.Main.Operation.TestHandler-Test results]: Verified 41 remote files with 18 problem(s)"
  ],
  "BackendStatistics": {
    "RemoteCalls": 123,
    "BytesUploaded": 0,
    "BytesDownloaded": 79071627,
    "FilesUploaded": 0,
    "FilesDownloaded": 23,
    "FilesDeleted": 0,
    "FoldersCreated": 0,
    "RetryAttempts": 80,
    "UnknownFileSize": 0,
    "UnknownFileCount": 0,
    "KnownFileCount": 17992,
    "KnownFileSize": 941514800728,
    "LastBackupDate": "2025-01-21T04:12:53+00:00",
    "BackupListCount": 5,
    "TotalQuotaSpace": 0,
    "FreeQuotaSpace": 0,
    "AssignedQuotaSpace": -1,
    "ReportedQuotaError": false,
    "ReportedQuotaWarning": false,
    "MainOperation": "Backup",
    "ParsedResult": "Success",
    "Interrupted": false,
    "Version": "2.1.0.3 (2.1.0.3_beta_2025-01-22)",
    "EndTime": "0001-01-01T00:00:00",
    "BeginTime": "2025-02-02T17:19:20.443248Z",
    "Duration": "00:00:00",
    "MessagesActualLength": 0,
    "WarningsActualLength": 0,
    "ErrorsActualLength": 0,
    "Messages": null,
    "Warnings": null,
    "Errors": null
  }
}

After this has happened a couple of times it gets worse. The process seems to be the same but while in the first situation the backup shows as successful but with errors in the second situation it shows as failed:

{
  "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.1.0.3 (2.1.0.3_beta_2025-01-22)",
  "EndTime": "2025-02-03T04:12:23.0130154Z",
  "BeginTime": "2025-02-03T04:07:09.1588366Z",
  "Duration": "00:05:13.8541788",
  "MessagesActualLength": 11,
  "WarningsActualLength": 0,
  "ErrorsActualLength": 1,
  "Messages": [
    "2025-02-03 04:07:09 +00 - [Information-Duplicati.Library.Main.Controller-StartingOperation]: The operation Backup has started",
    "2025-02-03 04:09:12 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()",
    "2025-02-03 04:09:42 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Retrying:  ()",
    "2025-02-03 04:09:52 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()",
    "2025-02-03 04:10:22 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Retrying:  ()",
    "2025-02-03 04:10:32 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()",
    "2025-02-03 04:11:02 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Retrying:  ()",
    "2025-02-03 04:11:12 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()",
    "2025-02-03 04:11:42 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Retrying:  ()",
    "2025-02-03 04:11:52 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Started:  ()",
    "2025-02-03 04:12:22 +00 - [Information-Duplicati.Library.Main.BasicResults-BackendEvent]: Backend event: List - Failed:  ()"
  ],
  "Warnings": [],
  "Errors": [
    "2025-02-03 04:12:23 +00 - [Error-Duplicati.Library.Main.Controller-FailedOperation]: The operation Backup has failed with error: A task was canceled.\nTaskCanceledException: A task was canceled."
  ],
  "BackendStatistics": {
    "RemoteCalls": 5,
    "BytesUploaded": 0,
    "BytesDownloaded": 0,
    "FilesUploaded": 0,
    "FilesDownloaded": 0,
    "FilesDeleted": 0,
    "FoldersCreated": 0,
    "RetryAttempts": 4,
    "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.1.0.3 (2.1.0.3_beta_2025-01-22)",
    "EndTime": "0001-01-01T00:00:00",
    "BeginTime": "2025-02-03T04:07:09.158841Z",
    "Duration": "00:00:00",
    "MessagesActualLength": 0,
    "WarningsActualLength": 0,
    "ErrorsActualLength": 0,
    "Messages": null,
    "Warnings": null,
    "Errors": null
  }
}

Please note that I never cancelled anything manually and the exact error messages (files) and the number of error entries (how many times) varies from run to run.

There are 2 things to mention:

  1. I can see that the stats of the Docker container running Duplicati on my NAS show a very high memory usage, currently 5-6GB, see below. Every new job increases the memory usage - the memory gets freed occasionally but it never goes down to the starting value of about 150MB after some big jobs were run unless I restart the container. CPU usage is also high at some points but this seems to make sense as these are the moments Duplicati really has to do something.

  2. The other thing we observe is that the CPU usage of my friend’s NAS goes to 100% during the moments when these errors occurr. I assume this has to do with the listing of files but I wonder why this would cause such a high CPU usage…?

I am pretty much stuck on this. As it is related to large, old backup jobs it is difficult to reproduce, say by using a different destination. It could be related to my friend’s NAS - but then why don’t I have the same problem in the reverse configuration? It could be that the remote files are corrupted - but how could this happen for all jobs out of the blue and wouldn’t this cause different error messages?

I tend to think that it has to be something on my side as the behavior varies when I restart the container - are there any options to reduce the memory footprint? I saw posts on “disable-piped-streaming” but I don’t have that option (anymore?). There is a “disable-filepath-cache” option which is marked as deprecated. I didn’t see any other option that seemed to have an impact on the memory usage… but I found this post: Duplicati doesn't release memory after completing a backup · Issue #5015 · duplicati/duplicati · GitHub

All just wild guesses - any ideas, suggestions please?

Here’s another log from a run I did today by using the command line and adding the full-remote-verification option, maybe it reveals something new?

Backup started at 02/03/2025 08:18:58
Checking remote backup ...
  Listing remote folder ...
Scanning local files ...
  1 files need to be examined (0 bytes) (still counting)
  11308 files need to be examined (31.64 GB) (still counting)
  15477 files need to be examined (2.53 GB) (still counting)
  28037 files need to be examined (4.59 GB) (still counting)
  51043 files need to be examined (8.46 GB) (still counting)
  82437 files need to be examined (185.23 GB) (still counting)
  106199 files need to be examined (239.56 GB)
  102923 files need to be examined (238.30 GB)
  98877 files need to be examined (237.08 GB)
  94478 files need to be examined (235.89 GB)
  90163 files need to be examined (234.06 GB)
  85268 files need to be examined (232.20 GB)
  74140 files need to be examined (173.28 GB)
  61602 files need to be examined (100.90 GB)
  48987 files need to be examined (26.31 GB)
  37468 files need to be examined (901.68 MB)
  0 files need to be examined (0 bytes)
Checking remote backup ...
  Listing remote folder ...
  Listing remote folder ...
Verifying remote backup ...
Remote backup verification completed
  Downloading file duplicati-20250203T010648Z.dlist.zip.aes (11.98 MB) ...
  Downloading file duplicati-20240206T054028Z.dlist.zip.aes (11.91 MB) ...
  Downloading file duplicati-20240206T054028Z.dlist.zip.aes (11.91 MB) ...
  Downloading file duplicati-20240206T054028Z.dlist.zip.aes (11.91 MB) ...
  Downloading file duplicati-20240206T054028Z.dlist.zip.aes (11.91 MB) ...
  Downloading file duplicati-20240206T054028Z.dlist.zip.aes (11.91 MB) ...
  Downloading file duplicati-20241206T044314Z.dlist.zip.aes (11.99 MB) ...
  Downloading file duplicati-20240815T135308Z.dlist.zip.aes (11.97 MB) ...
  Downloading file duplicati-20240314T030010Z.dlist.zip.aes (11.94 MB) ...
  Downloading file duplicati-20250131T120612Z.dlist.zip.aes (11.98 MB) ...
  Downloading file duplicati-i7e0e9554579942a6ae03a69624e50869.dindex.zip.aes (71.25 KB) ...
  Downloading file duplicati-ia853b4eb3e094865bd546c079c5ab075.dindex.zip.aes (70.28 KB) ...
  Downloading file duplicati-i2263d0a4b7884ba380485e0215b443d5.dindex.zip.aes (75.06 KB) ...
  Downloading file duplicati-i30700752972640a2b43ba4dd6fae8e84.dindex.zip.aes (72.54 KB) ...
  Downloading file duplicati-i5aef7870102c470295024a1f2c751430.dindex.zip.aes (71.28 KB) ...
  Downloading file duplicati-id5fc710bfe4c4f559cb838d59b8b14b6.dindex.zip.aes (80.06 KB) ...
  Downloading file duplicati-bf821fd46292140ce9f0a8d3e8d0c6437.dblock.zip.aes (99.91 MB) ...
  Downloading file duplicati-bf821fd46292140ce9f0a8d3e8d0c6437.dblock.zip.aes (99.91 MB) ...
  Downloading file duplicati-bf821fd46292140ce9f0a8d3e8d0c6437.dblock.zip.aes (99.91 MB) ...
  Downloading file duplicati-bf821fd46292140ce9f0a8d3e8d0c6437.dblock.zip.aes (99.91 MB) ...
  Downloading file duplicati-bf821fd46292140ce9f0a8d3e8d0c6437.dblock.zip.aes (99.91 MB) ...
Failed to retrieve file duplicati-bf821fd46292140ce9f0a8d3e8d0c6437.dblock.zip.aes => The operation was canceled.
Failed to process file duplicati-bf821fd46292140ce9f0a8d3e8d0c6437.dblock.zip.aes => The operation was canceled.
  Downloading file duplicati-b376a30e090d5476e9a01a7b4deffe2d4.dblock.zip.aes (99.99 MB) ...
  Downloading file duplicati-b376a30e090d5476e9a01a7b4deffe2d4.dblock.zip.aes (99.99 MB) ...
  Downloading file duplicati-b376a30e090d5476e9a01a7b4deffe2d4.dblock.zip.aes (99.99 MB) ...
  Downloading file duplicati-b376a30e090d5476e9a01a7b4deffe2d4.dblock.zip.aes (99.99 MB) ...
  Downloading file duplicati-b376a30e090d5476e9a01a7b4deffe2d4.dblock.zip.aes (99.99 MB) ...
Failed to retrieve file duplicati-b376a30e090d5476e9a01a7b4deffe2d4.dblock.zip.aes => The operation was canceled.
Failed to process file duplicati-b376a30e090d5476e9a01a7b4deffe2d4.dblock.zip.aes => The operation was canceled.
  Downloading file duplicati-ba8fb065ff92b47ab9b5e769461f41444.dblock.zip.aes (99.93 MB) ...
  Downloading file duplicati-ba8fb065ff92b47ab9b5e769461f41444.dblock.zip.aes (99.93 MB) ...
  Downloading file duplicati-ba8fb065ff92b47ab9b5e769461f41444.dblock.zip.aes (99.93 MB) ...
  Downloading file duplicati-ba8fb065ff92b47ab9b5e769461f41444.dblock.zip.aes (99.93 MB) ...
  Downloading file duplicati-ba8fb065ff92b47ab9b5e769461f41444.dblock.zip.aes (99.93 MB) ...
Failed to retrieve file duplicati-ba8fb065ff92b47ab9b5e769461f41444.dblock.zip.aes => The operation was canceled.
Failed to process file duplicati-ba8fb065ff92b47ab9b5e769461f41444.dblock.zip.aes => The operation was canceled.
  Downloading file duplicati-be3ef41b67fd24148a460c6fe4f2ac318.dblock.zip.aes (99.95 MB) ...
  Downloading file duplicati-be3ef41b67fd24148a460c6fe4f2ac318.dblock.zip.aes (99.95 MB) ...
  Downloading file duplicati-be3ef41b67fd24148a460c6fe4f2ac318.dblock.zip.aes (99.95 MB) ...
  Downloading file duplicati-be3ef41b67fd24148a460c6fe4f2ac318.dblock.zip.aes (99.95 MB) ...
  Downloading file duplicati-be3ef41b67fd24148a460c6fe4f2ac318.dblock.zip.aes (99.95 MB) ...
Failed to retrieve file duplicati-be3ef41b67fd24148a460c6fe4f2ac318.dblock.zip.aes => The operation was canceled.
Failed to process file duplicati-be3ef41b67fd24148a460c6fe4f2ac318.dblock.zip.aes => The operation was canceled.
  Downloading file duplicati-b5b9e2965debb4b9989740e0c313c5bd5.dblock.zip.aes (100.00 MB) ...
  Downloading file duplicati-b5b9e2965debb4b9989740e0c313c5bd5.dblock.zip.aes (100.00 MB) ...
  Downloading file duplicati-b5b9e2965debb4b9989740e0c313c5bd5.dblock.zip.aes (100.00 MB) ...
  Downloading file duplicati-b5b9e2965debb4b9989740e0c313c5bd5.dblock.zip.aes (100.00 MB) ...
  Downloading file duplicati-b5b9e2965debb4b9989740e0c313c5bd5.dblock.zip.aes (100.00 MB) ...
Failed to retrieve file duplicati-b5b9e2965debb4b9989740e0c313c5bd5.dblock.zip.aes => A task was canceled.
Failed to process file duplicati-b5b9e2965debb4b9989740e0c313c5bd5.dblock.zip.aes => A task was canceled.
  Downloading file duplicati-bdb5d6f4d29f44eb4b184773ae57250df.dblock.zip.aes (99.91 MB) ...
  Downloading file duplicati-bdb5d6f4d29f44eb4b184773ae57250df.dblock.zip.aes (99.91 MB) ...
  Downloading file duplicati-bdb5d6f4d29f44eb4b184773ae57250df.dblock.zip.aes (99.91 MB) ...
  Downloading file duplicati-bdb5d6f4d29f44eb4b184773ae57250df.dblock.zip.aes (99.91 MB) ...
  Downloading file duplicati-bdb5d6f4d29f44eb4b184773ae57250df.dblock.zip.aes (99.91 MB) ...
Failed to retrieve file duplicati-bdb5d6f4d29f44eb4b184773ae57250df.dblock.zip.aes => Received an unexpected EOF or 0 bytes from the transport stream.
Failed to process file duplicati-bdb5d6f4d29f44eb4b184773ae57250df.dblock.zip.aes => Received an unexpected EOF or 0 bytes from the transport stream.
Verified 18 remote files with 6 problem(s)
  Duration of backup: 03:13:21.3889554
  Remote files: 6199
  Remote size: 300.38 GB
  Total remote quota: 0 bytes
  Available remote quota: 0 bytes
  Files added: 0
  Files deleted: 0
  Files changed: 0
  Data uploaded: 0 bytes
  Data downloaded: 72.20 MB
Backup completed successfully!
Return code: 3

The error message “A task was cancelled” can mean a few things, but in this context, I am fairly sure this is a timeout guard that was introduced in 2.1.0.2 to prevent transfers from hanging forever.

The way it should work is to monitor if any data is flowing and keep resetting the timer while data flows. If there is a stall longer than 30s, this will cause the task to be cancelled.

What we have noticed is that there seems to be a pattern where this check is triggered in places where it should not, and I think your case is similar.

You can try setting --read-write-timeout=0 to disable the timeout or --read-write-timeout=5m to wait for 5 minutes before considering it a timeout.

I don’t have a good explanation for why the download would ever stall for several seconds, but I still think this is the cause of the error messages.

Let me know if it works or not, then I will dig deeper into understanding the problem.

1 Like

2.1.0.3 is when help text arrived. 2.1.0.3_beta_2025-01-22 release notice shows this as:

Added read-write timeout to most backends

Personally, I wish there had been over 9 days (as little as 2 due to notifier) before Stable.

Regardless, changing the option value manually is a good way out, assuming test works.

I have just started receiving this error message as well after updating to the latest version (2.1.0.3_beta_2025-01-22). Only on one backup out of many, but it’s a backup that contains large media files. I’ll try @kenkendk 's suggestion and see if that helps.

I changed to --read-write-timeout=5m and that seems to have cleared the problem. Is there a disposition on whether this is a bug or a feature, and if this will be addressed in a later release?

I have already set a number of options on one of my big backups (before I received any answers here), among them read-write-timeout=10s, and started a full-remote-verification=true run. I will update the result here when the job is finished, probably later today or tomorrow. The fact that it has been running for about a day already is rather promising, I think.

A bit surprised to see something like this happening in the stable release channel though. I have chosen the stable channel to avoid exactly these kind of unexpected, time eating issues popping out of nowhere. No offense - but if I need to wait and check feedback for some months first before installing a stable release to make sure it is really stable than the basic concept of the different channels is useless imo.

So further investigation shows that (for some inexplicable reason) the Remote File Size option for these backups has been sent to 2GB. I believe that might explain the elongated processing time I am seeing for backups on that system and the need to extended timeout values.

Was that a typo? Default is 30s.

If you know what it was supposed to be, you might be able to find when it changed by looking for remote files beyond that size (if any managed to make it up). I haven’t heard other reports of this.

@ts678

If you know what it was supposed to be, you might be able to find when it changed by looking for remote files beyond that size (if any managed to make it up). I haven’t heard other reports of this.

I can almost guarantee this was user error. I recently made a bunch of changes to the backup configs on a particular server and most likely didn’t double-check my work before updating the config.

Setting the read-write-timeout didn’t help for me.

I tried 2 or 3 of my big backup jobs using 10s (not a typo), 3m and 10m. The error message then changed from “A task was cancelled” to “Unexpected EOF or 0 bytes from transport stream” but the backup showed a failure or an error nonetheless. And it still took very long (several hours) to finish (even without the full-remote-verification=true), although I would expect that with a 10s timeout it should time out after some minutes.

I have now rolled back to 2.0.8.1_beta_2024-05-07 and voilà, everything is working fine again. I finished resynching and running 2 big backup jobs already without any timeouts, errors or failures (still 3 more to go). So at the moment I would say that it wasn’t a network issue and it wasn’t a problem with my backups - it must be related to Duplicati 2.1.0.3_beta_2025-01-22. There seems to be something bad in that release that urgently requires a serious fix!

That conclusion is not entirely consistent with original post:

Something before 2.1.0.3 had issues. What did 2.1.0.2 do?
Any other post-2.0.8.1 releases run that can be spoken of?

EDIT:

Where did the error occur? Original post showed locations. At least job log is a bit of a clue.
Once such general nature is known, then isolated testing is possible, e.g. with tools for that:

BackendTool for manual test, e.g. if something won’t list or get, you can test it manually.
BackendTester to do auto-test to an empty folder based on Export As Command-line URL.

To avoid uninstalling Duplicati 2.0.8.1, you could install (e.g.) 2.1.0.2 from .zip to run tests.
Install can be to a folder of your choice. I don’t use Docker, so don’t know how to do it there.
What might work is a 2.1.0.2 Docker without Duplicati actually up, if commands are in there.

I see your point, but I think that there were 2 issues: First there was a performance problem with the other NAS and after that was fixed I upgraded to the new Duplicati version and run into the exceptions. There is some evidence for that but I fully admit that I am not 100% sure of what really was/is the problem and how many problems there were/are.

Facts are:

  • I am only using Duplicati Beta (stable) releases and I usually upgrade within days to weeks after they are released on DockerHub. The last one was 2.0.8.1_beta_2024-05-07 and now it is 2.1.0.3_beta_2025-01-22 - no other releases were run on my system in the last 6 months or so.
  • Running 2.0.8.1 has constantly failed every backup larger than 100GB with the errors previously described. After downgrading to 2.1.0.3 I have not seen this error anymore.

I agree that my evidence is not really bullet-proof. However, you need to understand that this is my home system and I just DO things without testing everything first and keeping tracks and change logs as I do at work, so analyzing complex issues may get somewhat difficult.

I will now complete the full restore of my backups and make sure they run reliably on 2.0.8.1.
After that is achieved I will upgrade to 2.1.0.3 again and check if I still have the same problems.
Will keep you posted.

Original post mentioned a CPU usage mystery. So that was fixed at NAS since then?

I’ll assume the versions are reversed.

I was suggesting 2.1.0.2 since we saw how 2.1.0.3 used to be, but maybe NAS was contributing.
Regardless, if you get on something and can keep the 2.1.0.3 “task was cancelled away”, with or without timeout tweak, then we can get some fresh logs on the EOF issue. If job log isn’t enough, log-file=<path> log-file-log-level=retry may get more. There are other levels, if needed.

What I stated in my first post was all true, but I just threw in everything I observed hoping that it might help to find a starting point. Something like the read-write-timeout. But now that this didn’t work I think we need to analyze more carefully. For example I had the feeling that memory was freed more rapidly with 2.1.0.3 than with 2.0.8.1 - but a feeling is not a fact. That’s why I suggest to finish the rollback and then restart the upgrade and compare the behavior.

Ah yes, sorry for that.

Sounds good. I’ll be back after the restoring is finished and works. My biggest job is currently running and I’m unsure if it is stuck or not so it might take a few more days…

1 Like

True, but this had been in Canary for a while, so I assumed it was working as expected.

We have removed the timeout in the current canary. I am thinking of making a new beta/stable release without the timeout. We are working to add back the timeout, but in a much more controlled way.

I agree. That is not the intention for the stable release channel. It was tested in the canary channel without being flagged. The problem here is that the timeouts seem to trigger mostly for larger backups, and apparently we did not hit enough large backups during canary testing.

I think this is caused by having different points in the response pipeline where the the timeout occurs. If the timeout occurs before the server sends data, you will likely get “A task was cancelled” (terrible error message btw), but if you are uploading/downloading data when the timeout occurs, you can get “Unexpected EOF”.

So I have more or less repaired my backups now. Before I upgrade again there is one problem left: One big backup jobs keep checking every single file which takes ages for the backup to complete. I don’t understand why?

What I did is first I repaired the database, then run a first and after that a second backup job. With every of my 10 or so backups the repairing took a moment, then the first run somehow checked all the files which also took a lot longer than normal - but then from the second run on it would be very quick if there were no changes, even 1TB would finish in just a handful of minutes. This one big job though (2TB) continues behaving like the first run again and again. (No, of course I have not set any options such as full-block-verification or full-remote-verification.) I run it 3 times already but it continues to take almost 2 days for a single run with no changes…

Any suggestions how to fix this? Or just delete and start from scratch?

Try making a change (even just add a small file that you’ll delete right after backup run).
The goal is to create an actual new backup version, assuming Restore menu lacks one.

Fix not storing updated timestamps #5948 (made Feb 10, 2024)

Implemented fix that pushes updated timestamps to previous version, in the case that no files were changed, and no new backup is recorded in remote storage.

inspires my suggestion, though I must say there has been confusion around issues here.

Very similar issue. Backup system is EndeavourOS. Duplicati is 2.1.0.3_beta_2025-01-22. Backup for selected folders in my home directory to a NAS using WEBDAV. Ends with the rather generic message about Task was cancelled. After reading this thread, I added the 5 minute read-write-timeout and that seems to have resolved the issue. It’s not really a huge backup, maybe about 51G and 1000 or so files. However there are a couple of .iso files in the bunch that are in excess of 5G each. Just a little extra info that might help in a resolution.

Thanks!

Thanks for the hint @ts678 - making a small change indeed fixed the problem.

So after this was fixed I upgraded to 2.1.0.4_stable_2025-01-31. I have run the backups 2-3 times now and - everything worked. I compared the times as well as the container stats: The cpu stats are distributed a bit differently, but that’s probably intended and very much in the “normal” range. The times as well as memory and network stats are very similar.

In terms of errors and warnings there was one single TaskCancelledException (which may have really been a connection problem) and some “Failed to process path: …/portainer.db
IOException: The process cannot access the file ‘portainer.db’ because it is being used by another process.” during auto-vacuum - which is not too cool but a completely different issue. Besides that all looks fine and all backups succeeded.

I have no real explanation why the errors happened in the first place. Maybe the database repair helped? Or version 2.1.0.4 is more stable? I didn’t even had to add any timeouts as suggested above…

Well, for now I assume everything is fine and and you can do as well unless I report it back here. Thanks for the support anyway!

1 Like