NullReference Exception

Trying to backup ~2 dozen users’ machines (all MacOS 10.12 or higher; for most users just backing up their home directories) to an Ubuntu 18.04.3 LTS server with more than enough processing power and storage capacity for this particular project (different user accounts/directories for each backup). All Backups have been configured through Duplicati in the same way, and worked on all but one machine for reasons I can’t understand from log output. Any assistance would be greatly appreciated

Below are the partially redacted configuration file contents, and the log error traceback.

Configuration (IP address, user/pass, id_rsa redacted, all else intact):
{
“CreatedByVersion”: “2.0.4.23”,
“Schedule”: {
“ID”: 1,
“Tags”: [
“ID=5”
],
“Time”: “2019-08-23T17:00:00Z”,
“Repeat”: “1D”,
“LastRun”: “0001-01-01T04:57:00Z”,
“Rule”: “AllowedWeekDays=Monday,Tuesday,Wednesday,Thursday,Friday,Saturday,Sunday”,
“AllowedDays”: [
“mon”,
“tue”,
“wed”,
“thu”,
“fri”,
“sat”,
“sun”
]
},
“Backup”: {
“ID”: “5”,
“Name”: “’s iMac",
“Description”: “”,
“Tags”: [],
“TargetURL”: "ssh://...:22//home/
/backups?auth-username=
&auth-password=&ssh-keyfile=%2FUsers%2F******%2F.ssh%2Fid_rsa&ssh-fingerprint=ssh-rsa**************************************************************************”,
“DBPath”: “/Users//.config/Duplicati/78808986806884888671.sqlite",
“Sources”: [
"/Users/
/Desktop/”,
“/Users//Documents/",
"/Users/
/Dropbox/”,
“/Users//Downloads/",
"/Users/
/Zotero/”
],
“Settings”: [
{
“Filter”: “”,
“Name”: “encryption-module”,
“Value”: “aes”,
“Argument”: null
},
{
“Filter”: “”,
“Name”: “compression-module”,
“Value”: “zip”,
“Argument”: null
},
{
“Filter”: “”,
“Name”: “dblock-size”,
“Value”: “50mb”,
“Argument”: null
},
{
“Filter”: “”,
“Name”: “keep-time”,
“Value”: “1Y”,
“Argument”: null
},
{
“Filter”: “”,
“Name”: “passphrase”,
“Value”: “",
“Argument”: null
}
],
“Filters”: [],
“Metadata”: {
“LastErrorDate”: “20190822T172244Z”,
“LastErrorMessage”: “One or more errors occurred. (Object reference not set to an instance of an object (Object reference not set to an instance of an object) (One or more errors occurred. (Permission denied)))”
},
“IsTemporary”: false
},
“DisplayNames”: {
"/Users/
/Desktop/": “Desktop”,
"/Users/
/Documents/": “Documents”,
"/Users/
/Dropbox/": “Dropbox”,
"/Users/
/Downloads/": “Downloads”,
"/Users/
******/Zotero/”: “Zotero”
}
}

Log output:

{“ClassName”:“System.AggregateException”,“Message”:“One or more errors occurred.”,“Data”:null,“InnerException”:{“ClassName”:“System.AggregateException”,“Message”:“Object reference not set to an instance of an object”,“Data”:null,“InnerException”:{“ClassName”:“System.NullReferenceException”,“Message”:“Object reference not set to an instance of an object”,“Data”:null,“InnerException”:null,“HelpURL”:null,“StackTraceString”:" at Duplicati.Library.Main.Volumes.BlockVolumeWriter.AddBlock (System.String hash, System.Byte data, System.Int32 offset, System.Int32 size, Duplicati.Library.Interface.CompressionHint hint) [0x00032] in :0 \n at Duplicati.Library.Main.Operation.Backup.SpillCollectorProcess+<>c__DisplayClass0_0.b__0 (<>f__AnonymousType92[<Input>j__TPar,<Output>j__TPar] self) [0x003df] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at CoCoL.AutomationExtensions.RunTask[T] (T channels, System.Func2[T,TResult] method, System.Boolean catchRetiredExceptions) [0x000cc] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 \n at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperation (System.Collections.Generic.IEnumerable1[T] sources, Duplicati.Library.Snapshots.ISnapshotService snapshot, Duplicati.Library.Snapshots.UsnJournalService journalService, Duplicati.Library.Main.Operation.Backup.BackupDatabase database, Duplicati.Library.Main.Operation.Backup.BackupStatsCollector stats, Duplicati.Library.Main.Options options, Duplicati.Library.Utility.IFilter sourcefilter, Duplicati.Library.Utility.IFilter filter, Duplicati.Library.Main.BackupResults result, Duplicati.Library.Main.Operation.Common.ITaskReader taskreader, System.Int64 lastfilesetid) [0x00349] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String[] sources, Duplicati.Library.Utility.IFilter filter) [0x00a43] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 ","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2147467261,"Source":"mscorlib"},"HelpURL":null,"StackTraceString":" at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String[] sources, Duplicati.Library.Utility.IFilter filter) [0x01033] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 ","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2146233088,"Source":"Duplicati.Library.Main","InnerExceptions":[{"ClassName":"System.NullReferenceException","Message":"Object reference not set to an instance of an object","Data":null,"InnerException":null,"HelpURL":null,"StackTraceString":" at Duplicati.Library.Main.Volumes.BlockVolumeWriter.AddBlock (System.String hash, System.Byte[] data, System.Int32 offset, System.Int32 size, Duplicati.Library.Interface.CompressionHint hint) [0x00032] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Backup.SpillCollectorProcess+<>c__DisplayClass0_0.<Run>b__0 (<>f__AnonymousType92[j__TPar,j__TPar] self) [0x003df] in :0 \n at CoCoL.AutomationExtensions.RunTask[T] (T channels, System.Func2[T,TResult] method, System.Boolean catchRetiredExceptions) [0x000cc] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 \n at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperation (System.Collections.Generic.IEnumerable1[T] sources, Duplicati.Library.Snapshots.ISnapshotService snapshot, Duplicati.Library.Snapshots.UsnJournalService journalService, Duplicati.Library.Main.Operation.Backup.BackupDatabase database, Duplicati.Library.Main.Operation.Backup.BackupStatsCollector stats, Duplicati.Library.Main.Options options, Duplicati.Library.Utility.IFilter sourcefilter, Duplicati.Library.Utility.IFilter filter, Duplicati.Library.Main.BackupResults result, Duplicati.Library.Main.Operation.Common.ITaskReader taskreader, System.Int64 lastfilesetid) [0x00349] in :0 \n at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String sources, Duplicati.Library.Utility.IFilter filter) [0x00a43] in :0 “,“RemoteStackTraceString”:null,“RemoteStackIndex”:0,“ExceptionMethod”:null,“HResult”:-2147467261,“Source”:“mscorlib”},{“ClassName”:“System.AggregateException”,“Message”:“One or more errors occurred.”,“Data”:null,“InnerException”:{“ClassName”:“Renci.SshNet.Common.SftpPermissionDeniedException”,“Message”:“Permission denied”,“Data”:null,“InnerException”:null,“HelpURL”:null,“StackTraceString”:” at Renci.SshNet.Sftp.SftpSession.RequestOpen (System.String path, Renci.SshNet.Sftp.Flags flags, System.Boolean nullOnError) [0x00099] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.InternalUploadFile (System.IO.Stream input, System.String path, Renci.SshNet.Sftp.Flags flags, Renci.SshNet.Sftp.SftpUploadAsyncResult asyncResult, System.Action1[T] uploadCallback) [0x0004f] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.UploadFile (System.IO.Stream input, System.String path, System.Boolean canOverride, System.Action1[T] uploadCallback) [0x00017] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.UploadFile (System.IO.Stream input, System.String path, System.Action1[T] uploadCallback) [0x00000] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Duplicati.Library.Backend.SSHv2.Put (System.String remotename, System.IO.Stream stream) [0x00012] in <3bb874d28f9e4f4ba0342a049f16319d>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.DoPut (Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, System.Boolean updatedHash) [0x0037c] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler+<>c__DisplayClass13_0.<UploadFileAsync>b__2 () [0x00170] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.DoWithRetry[T] (Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, System.Func1[TResult] method) [0x004c0] in :0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler+<>c__DisplayClass13_0.b__1 () [0x000b1] in :0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.UploadFileAsync (Duplicati.Library.Main.Volumes.VolumeWriterBase item, System.Func2[T,TResult] createIndexFile) [0x00181] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Backup.BackendUploader+<>c__DisplayClass0_0.<Run>b__0 (<>f__AnonymousType111[j__TPar] self) [0x00519] in :0 \n at CoCoL.AutomationExtensions.RunTask[T] (T channels, System.Func2[T,TResult] method, System.Boolean catchRetiredExceptions) [0x000cc] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 ","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2146233088,"Source":"mscorlib"},"HelpURL":null,"StackTraceString":null,"RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2146233088,"Source":null,"InnerExceptions":[{"ClassName":"Renci.SshNet.Common.SftpPermissionDeniedException","Message":"Permission denied","Data":null,"InnerException":null,"HelpURL":null,"StackTraceString":" at Renci.SshNet.Sftp.SftpSession.RequestOpen (System.String path, Renci.SshNet.Sftp.Flags flags, System.Boolean nullOnError) [0x00099] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.InternalUploadFile (System.IO.Stream input, System.String path, Renci.SshNet.Sftp.Flags flags, Renci.SshNet.Sftp.SftpUploadAsyncResult asyncResult, System.Action1[T] uploadCallback) [0x0004f] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.UploadFile (System.IO.Stream input, System.String path, System.Boolean canOverride, System.Action1[T] uploadCallback) [0x00017] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.UploadFile (System.IO.Stream input, System.String path, System.Action1[T] uploadCallback) [0x00000] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Duplicati.Library.Backend.SSHv2.Put (System.String remotename, System.IO.Stream stream) [0x00012] in <3bb874d28f9e4f4ba0342a049f16319d>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.DoPut (Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, System.Boolean updatedHash) [0x0037c] in :0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler+<>c__DisplayClass13_0.b__2 () [0x00170] in :0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.DoWithRetry[T] (Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, System.Func1[TResult] method) [0x004c0] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler+<>c__DisplayClass13_0.<UploadFileAsync>b__1 () [0x000b1] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.UploadFileAsync (Duplicati.Library.Main.Volumes.VolumeWriterBase item, System.Func2[T,TResult] createIndexFile) [0x00181] in :0 \n at Duplicati.Library.Main.Operation.Backup.BackendUploader+<>c__DisplayClass0_0.b__0 (<>f__AnonymousType111[<Input>j__TPar] self) [0x00519] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at CoCoL.AutomationExtensions.RunTask[T] (T channels, System.Func2[T,TResult] method, System.Boolean catchRetiredExceptions) [0x000cc] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 “,“RemoteStackTraceString”:null,“RemoteStackIndex”:0,“ExceptionMethod”:null,“HResult”:-2146233088,“Source”:“mscorlib”}]}]},“HelpURL”:null,“StackTraceString”:” at CoCoL.ChannelExtensions.WaitForTaskOrThrow (System.Threading.Tasks.Task task) [0x0005d] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 \n at Duplicati.Library.Main.Operation.BackupHandler.Run (System.String sources, Duplicati.Library.Utility.IFilter filter) [0x00008] in :0 \n at Duplicati.Library.Main.Controller+<>c__DisplayClass13_0.b__0 (Duplicati.Library.Main.BackupResults result) [0x00035] in :0 \n at Duplicati.Library.Main.Controller.RunAction[T] (T result, System.String& paths, Duplicati.Library.Utility.IFilter& filter, System.Action1[T] method) [0x00271] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Controller.Backup (System.String[] inputsources, Duplicati.Library.Utility.IFilter filter) [0x00068] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Server.Runner.Run (Duplicati.Server.Runner+IRunnerData data, System.Boolean fromQueue) [0x00307] in <be73c239d77d4180b5147067144fc237>:0 ","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2146233088,"Source":"CoCoL","InnerExceptions":[{"ClassName":"System.AggregateException","Message":"Object reference not set to an instance of an object","Data":null,"InnerException":{"ClassName":"System.NullReferenceException","Message":"Object reference not set to an instance of an object","Data":null,"InnerException":null,"HelpURL":null,"StackTraceString":" at Duplicati.Library.Main.Volumes.BlockVolumeWriter.AddBlock (System.String hash, System.Byte[] data, System.Int32 offset, System.Int32 size, Duplicati.Library.Interface.CompressionHint hint) [0x00032] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Backup.SpillCollectorProcess+<>c__DisplayClass0_0.<Run>b__0 (<>f__AnonymousType92[j__TPar,j__TPar] self) [0x003df] in :0 \n at CoCoL.AutomationExtensions.RunTask[T] (T channels, System.Func2[T,TResult] method, System.Boolean catchRetiredExceptions) [0x000cc] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 \n at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperation (System.Collections.Generic.IEnumerable1[T] sources, Duplicati.Library.Snapshots.ISnapshotService snapshot, Duplicati.Library.Snapshots.UsnJournalService journalService, Duplicati.Library.Main.Operation.Backup.BackupDatabase database, Duplicati.Library.Main.Operation.Backup.BackupStatsCollector stats, Duplicati.Library.Main.Options options, Duplicati.Library.Utility.IFilter sourcefilter, Duplicati.Library.Utility.IFilter filter, Duplicati.Library.Main.BackupResults result, Duplicati.Library.Main.Operation.Common.ITaskReader taskreader, System.Int64 lastfilesetid) [0x00349] in :0 \n at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String sources, Duplicati.Library.Utility.IFilter filter) [0x00a43] in :0 “,“RemoteStackTraceString”:null,“RemoteStackIndex”:0,“ExceptionMethod”:null,“HResult”:-2147467261,“Source”:“mscorlib”},“HelpURL”:null,“StackTraceString”:” at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String sources, Duplicati.Library.Utility.IFilter filter) [0x01033] in :0 “,“RemoteStackTraceString”:null,“RemoteStackIndex”:0,“ExceptionMethod”:null,“HResult”:-2146233088,“Source”:“Duplicati.Library.Main”,“InnerExceptions”:[{“ClassName”:“System.NullReferenceException”,“Message”:“Object reference not set to an instance of an object”,“Data”:null,“InnerException”:null,“HelpURL”:null,“StackTraceString”:” at Duplicati.Library.Main.Volumes.BlockVolumeWriter.AddBlock (System.String hash, System.Byte data, System.Int32 offset, System.Int32 size, Duplicati.Library.Interface.CompressionHint hint) [0x00032] in :0 \n at Duplicati.Library.Main.Operation.Backup.SpillCollectorProcess+<>c__DisplayClass0_0.b__0 (<>f__AnonymousType92[<Input>j__TPar,<Output>j__TPar] self) [0x003df] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at CoCoL.AutomationExtensions.RunTask[T] (T channels, System.Func2[T,TResult] method, System.Boolean catchRetiredExceptions) [0x000cc] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 \n at Duplicati.Library.Main.Operation.BackupHandler.RunMainOperation (System.Collections.Generic.IEnumerable1[T] sources, Duplicati.Library.Snapshots.ISnapshotService snapshot, Duplicati.Library.Snapshots.UsnJournalService journalService, Duplicati.Library.Main.Operation.Backup.BackupDatabase database, Duplicati.Library.Main.Operation.Backup.BackupStatsCollector stats, Duplicati.Library.Main.Options options, Duplicati.Library.Utility.IFilter sourcefilter, Duplicati.Library.Utility.IFilter filter, Duplicati.Library.Main.BackupResults result, Duplicati.Library.Main.Operation.Common.ITaskReader taskreader, System.Int64 lastfilesetid) [0x00349] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String[] sources, Duplicati.Library.Utility.IFilter filter) [0x00a43] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 ","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2147467261,"Source":"mscorlib"},{"ClassName":"System.AggregateException","Message":"One or more errors occurred.","Data":null,"InnerException":{"ClassName":"Renci.SshNet.Common.SftpPermissionDeniedException","Message":"Permission denied","Data":null,"InnerException":null,"HelpURL":null,"StackTraceString":" at Renci.SshNet.Sftp.SftpSession.RequestOpen (System.String path, Renci.SshNet.Sftp.Flags flags, System.Boolean nullOnError) [0x00099] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.InternalUploadFile (System.IO.Stream input, System.String path, Renci.SshNet.Sftp.Flags flags, Renci.SshNet.Sftp.SftpUploadAsyncResult asyncResult, System.Action1[T] uploadCallback) [0x0004f] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.UploadFile (System.IO.Stream input, System.String path, System.Boolean canOverride, System.Action1[T] uploadCallback) [0x00017] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.UploadFile (System.IO.Stream input, System.String path, System.Action1[T] uploadCallback) [0x00000] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Duplicati.Library.Backend.SSHv2.Put (System.String remotename, System.IO.Stream stream) [0x00012] in <3bb874d28f9e4f4ba0342a049f16319d>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.DoPut (Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, System.Boolean updatedHash) [0x0037c] in :0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler+<>c__DisplayClass13_0.b__2 () [0x00170] in :0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.DoWithRetry[T] (Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, System.Func1[TResult] method) [0x004c0] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler+<>c__DisplayClass13_0.<UploadFileAsync>b__1 () [0x000b1] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.UploadFileAsync (Duplicati.Library.Main.Volumes.VolumeWriterBase item, System.Func2[T,TResult] createIndexFile) [0x00181] in :0 \n at Duplicati.Library.Main.Operation.Backup.BackendUploader+<>c__DisplayClass0_0.b__0 (<>f__AnonymousType111[<Input>j__TPar] self) [0x00519] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at CoCoL.AutomationExtensions.RunTask[T] (T channels, System.Func2[T,TResult] method, System.Boolean catchRetiredExceptions) [0x000cc] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 “,“RemoteStackTraceString”:null,“RemoteStackIndex”:0,“ExceptionMethod”:null,“HResult”:-2146233088,“Source”:“mscorlib”},“HelpURL”:null,“StackTraceString”:null,“RemoteStackTraceString”:null,“RemoteStackIndex”:0,“ExceptionMethod”:null,“HResult”:-2146233088,“Source”:null,“InnerExceptions”:[{“ClassName”:“Renci.SshNet.Common.SftpPermissionDeniedException”,“Message”:“Permission denied”,“Data”:null,“InnerException”:null,“HelpURL”:null,“StackTraceString”:” at Renci.SshNet.Sftp.SftpSession.RequestOpen (System.String path, Renci.SshNet.Sftp.Flags flags, System.Boolean nullOnError) [0x00099] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.InternalUploadFile (System.IO.Stream input, System.String path, Renci.SshNet.Sftp.Flags flags, Renci.SshNet.Sftp.SftpUploadAsyncResult asyncResult, System.Action1[T] uploadCallback) [0x0004f] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.UploadFile (System.IO.Stream input, System.String path, System.Boolean canOverride, System.Action1[T] uploadCallback) [0x00017] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Renci.SshNet.SftpClient.UploadFile (System.IO.Stream input, System.String path, System.Action1[T] uploadCallback) [0x00000] in <502177f7126d48e4be01a83c8cdb4c79>:0 \n at Duplicati.Library.Backend.SSHv2.Put (System.String remotename, System.IO.Stream stream) [0x00012] in <3bb874d28f9e4f4ba0342a049f16319d>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.DoPut (Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, System.Boolean updatedHash) [0x0037c] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler+<>c__DisplayClass13_0.<UploadFileAsync>b__2 () [0x00170] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.DoWithRetry[T] (Duplicati.Library.Main.Operation.Common.BackendHandler+FileEntryItem item, System.Func1[TResult] method) [0x004c0] in :0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler+<>c__DisplayClass13_0.b__1 () [0x000b1] in :0 \n at Duplicati.Library.Main.Operation.Common.BackendHandler.UploadFileAsync (Duplicati.Library.Main.Volumes.VolumeWriterBase item, System.Func2[T,TResult] createIndexFile) [0x00181] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 \n at Duplicati.Library.Main.Operation.Backup.BackendUploader+<>c__DisplayClass0_0.<Run>b__0 (<>f__AnonymousType111[j__TPar] self) [0x00519] in :0 \n at CoCoL.AutomationExtensions.RunTask[T] (T channels, System.Func`2[T,TResult] method, System.Boolean catchRetiredExceptions) [0x000cc] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 ",“RemoteStackTraceString”:null,“RemoteStackIndex”:0,“ExceptionMethod”:null,“HResult”:-2146233088,“Source”:“mscorlib”}]}]}]}

The other machines also have the double forward slashes in the various paths?

also seems wrong. Backup not starting, unable to find problem got SftpPermissionDeniedException from:

There was in issue with write access in the folder in the backup destination.

It had NullReferenceException in AddBlock too, but that may be a secondary failure from file upload failure.

Do you have SFTP server logs to show what went wrong? Do uploads using a different SFTP client work?

@BlueBlock Sorry the double forward slashes are not real, they exist only because I manually attempted to redact the username from the log output. None of the machines have “//” in their backup paths.

I do not have SFTP server logs at the moment but I can try to get those later today. I will also attempt using Cyberduck later today to see if another SFTP client can write from the client to the backup server location.

Are you thinking there might be a file somewhere in the client’s backup path that requires root access (or elevated permissions) to move?

@ts678 or something more like was mentioned as a possibility on the post you linked, where perhaps too many concurrent users is problematic?

SOLUTION:

Many thanks to @ts678, as their reply led me to the solution. I tried using Cyberduck to SFTP a random text file to the server, which failed with an error message similar to the SFTP error from the Duplicati log I posted: “Permission Denied. Please contact your web administrator…”.

After reading through a couple of the top Google hits for “Cyberduck SFTP Permission Denied”, I came across this blog (architeering: Cyberduck Permission Denied (Editing file in Ubuntu Server)) which suggested making the login username the owner of the backup directory. That’s when I realized I had created the backup directory as root. Dumb!

I logged back into my account, entered superuser mode, and transfered ownership of the backup directory back to that login account with the following command: chown -R username /home/username/backups. Cyberduck SFTP transfer worked without issue. Duplicati backup worked without issue. Thank you for your help!

1 Like