Folder structure must be in place in OneDrive (and missing log)

Hello!

First time user, setting up Duplicati on a headless Ubuntu 16.04.1 server, for backing up my NAS to Microsoft OneDrive. Have been struggling since yesterday morning to get it up and running. And finally got it working now.

Yesterday I was on v2.0.4.3-2.0.4.3_canary_2018-11-13, and today I have 2.0.4.4_canary_2018-11-14.

Installation was made according to instructions on GitHub (Headless installation on Debian or Ubuntu · duplicati/duplicati Wiki · GitHub). And running Duplicati as user duplicati. A suggestion is that the guide is updated so that this is the prefered way. And that you add steps for that so the ownership of the install dir is right.

The “bug” then…
Well I found out that you need to have the folder structure already created in OneDrive to get it working. And maybe you also need to have unix style slash in the path to the destination.

At first try (v2.0.4.3-2.0.4.3_canary_2018-11-13) the destination was “Backup\NAS_files” (Windows style slash), but only folder “Backup” existed on OneDrive. Giving a message in GUI saying:
“Error while running NAS_Files”, A task was canceled.
And in the log database i found the following:

    System.Threading.Tasks.TaskCanceledException: A task was canceled.
  at CoCoL.ChannelExtensions.WaitForTaskOrThrow (System.Threading.Tasks.Task task) <0x40e4b2d0 + 0x00123> in <filename unknown>:0 
  at Duplicati.Library.Main.Operation.BackupHandler.Run (System.String[] sources, IFilter filter) <0x41001940 + 0x0001f> in <filename unknown>:0 
  at Duplicati.Library.Main.Controller+<>c__DisplayClass13_0.<Backup>b__0 (Duplicati.Library.Main.BackupResults result) <0x40fff4e0 + 0x000af> in <filename unknown>:0 
  at Duplicati.Library.Main.Controller.RunAction[T] (Duplicati.Library.Main.T result, System.String[]& paths, IFilter& filter, System.Action`1 method) <0x40ff3f30 + 0x00597> in <filename unknown>:0 

Then updated to 2.0.4.4_canary_2018-11-14. Same message in GUI, and same in log:

System.Threading.Tasks.TaskCanceledException: A task was canceled.
  at CoCoL.ChannelExtensions.WaitForTaskOrThrow (System.Threading.Tasks.Task task) <0x41c6f0a0 + 0x00123> in <filename unknown>:0 
  at Duplicati.Library.Main.Operation.BackupHandler.Run (System.String[] sources, IFilter filter) <0x41e00b10 + 0x0001f> in <filename unknown>:0 
  at Duplicati.Library.Main.Controller+<>c__DisplayClass13_0.<Backup>b__0 (Duplicati.Library.Main.BackupResults result) <0x41dfe700 + 0x000af> in <filename unknown>:0 
  at Duplicati.Library.Main.Controller.RunAction[T] (Duplicati.Library.Main.T result, System.String[]& paths, IFilter& filter, System.Action`1 method) <0x41df0bc0 + 0x00597> in <filename unknown>:0 

Then I changed the path to destination to “Backup/NAS_files” (Unix style slash) and then I got a new message in the GUI saying:

"Error while running NAS_Files"
Item at https://graph.microsoft.com/v1.0/me/drive/root:/Backup/NAS_files:/children was not found Method: GET, RequestUri: 'https://graph.microsoft.com/v1.0/me/drive/root:/Backup/NAS_files:/children', Version: 1.1, Content: <null>, Headers:
 {
 User-Agent: Duplicati/2.0.4.4
 Authorization: Bearer ABC...XYZ
 } StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
 {
 Cache-Control: private
 Transfer-Encoding: chunked
 request-id: xxxxxxxxxxxxxxxxxxx
 client-request-id: xxxxxxxxxxxxxxxxxxxxxxxxx
 x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceC","Ring":"5","ScaleUnit":"002","Host":"AGSFE_IN_2","ADSiteName":"WEU"}}
 Duration: 552.5979
 Strict-Transport-Security: max-age=31536000
 Date: Thu, 15 Nov 2018 13:43:50 GMT
 Content-Type: application/json
 } { "error": { "code": "itemNotFound", "message": "Item does not exist", "innerError": { "request-id": "xxxxxxxxxxxxxx", "date": "2018-11-15T13:43:50" } } }

and in the log this is what I see:

Duplicati.Library.Backend.MicrosoftGraph.DriveItemNotFoundException: Item at https://graph.microsoft.com/v1.0/me/drive/root:/Backup/NAS_files:/children was not found
Method: GET, RequestUri: 'https://graph.microsoft.com/v1.0/me/drive/root:/Backup/NAS_files:/children', Version: 1.1, Content: <null>, Headers:
{
User-Agent: Duplicati/2.0.4.4
Authorization: Bearer ABC...XYZ
}
StatusCode: 404, ReasonPhrase: 'Not Found', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
Cache-Control: private
Transfer-Encoding: chunked
request-id: xxxxxxxxxxxxxxxxxxxxxx
client-request-id: xxxxxxxxxxxxxxxxxxxxxxxxx
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"SliceC","Ring":"5","ScaleUnit":"002","Host":"AGSFE_IN_2","ADSiteName":"WEU"}}
Duration: 552.5979
Strict-Transport-Security: max-age=31536000
Date: Thu, 15 Nov 2018 13:43:50 GMT
Content-Type: application/json
}
{
  "error": {
    "code": "itemNotFound",
    "message": "Item does not exist",
    "innerError": {
      "request-id": "xxxxxxxxxxxxxxxxxxxxxxxxxx",
      "date": "2018-11-15T13:43:50"
    }
  }
}
  at Duplicati.Library.Main.BackendManager.List () <0x41e48f30 + 0x000df> in <filename unknown>:0 
  at Duplicati.Library.Main.Operation.FilelistProcessor.RemoteListAnalysis (Duplicati.Library.Main.BackendManager backend, Duplicati.Library.Main.Options options, Duplicati.Library.Main.Database.LocalDatabase database, IBackendWriter log, System.String protectedfile) <0x41e45000 + 0x00173> in <filename unknown>:0 
  at Duplicati.Library.Main.Operation.FilelistProcessor.VerifyRemoteList (Duplicati.Library.Main.BackendManager backend, Duplicati.Library.Main.Options options, Duplicati.Library.Main.Database.LocalDatabase database, IBackendWriter log, System.String protectedfile) <0x41e41e50 + 0x000d7> in <filename unknown>:0 
  at Duplicati.Library.Main.Operation.BackupHandler.PreBackupVerify (Duplicati.Library.Main.BackendManager backend, System.String protectedfile) <0x41e41840 + 0x00183> in <filename unknown>:0 
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <0x7f9cdd3856d0 + 0x00029> in <filename unknown>:0 
  at CoCoL.ChannelExtensions.WaitForTaskOrThrow (System.Threading.Tasks.Task task) <0x41c6f0a0 + 0x000de> in <filename unknown>:0 
  at Duplicati.Library.Main.Operation.BackupHandler.Run (System.String[] sources, IFilter filter) <0x41e00b10 + 0x0001f> in <filename unknown>:0 
  at Duplicati.Library.Main.Controller+<>c__DisplayClass13_0.<Backup>b__0 (Duplicati.Library.Main.BackupResults result) <0x41dfe700 + 0x000af> in <filename unknown>:0 
  at Duplicati.Library.Main.Controller.RunAction[T] (Duplicati.Library.Main.T result, System.String[]& paths, IFilter& filter, System.Action`1 method) <0x41df0bc0 + 0x00597> in <filename unknown>:0 

Then finally I tried creating “Backup” folder and subfolder “NAS_files” in OneDrive in the web GUI. And it started working.

And by the way, one more thing I have noticed. When clicking the button “Show” on the message in GUI a page without any information at all shows.
And also in both versions I have tried, there is no link to watch the log. When searching the internet for help on this problem I saw screenshots where you on the left side in GUI can click to see the server log. But that is missing on my installation.

Hello @strixx, welcome to the forum! (And thanks for the suggested wiki update - hopefully somebody who knows headless installs can take care of that.)

While there are a number of places where Duplicati needs to better handle forward vs. backslashes, I don’t recall hearing of others having to pre-create paths for Duplicati use.

Did the “A task was canceled” errors come up when using the “Test connection” button on step 2 (Destination) of editing your job or where they during actual (attempted) backups?


There are 4 different GUI based log locations in Duplicati and the “Show” button seems to default to the Job log (job -> Show log) even though issues like yours get logged in the Global log (About -> Show log).

I’m not sure about any “left side in GUI” server log but I’m guessing that’s just due to the responsive UI shifting things around. :slight_smile: Try the “Live” button in the Global log - is that what you were looking for?

The error was when attempting to do an actual backup.
I remember I got some error when testing the connection when I was creating the job. But don’t remember what I changed to get it working. Sorry…

About the log in the GUI, I have found it now. That was my mistake. I was my memory playing a trick with my mind. So please ignore that part about a link to the left in the GUI… :anguished: