Keep getting FileNotFoundException

Hello! I have been trying to setup duplicati in Docker on my Synology NAS for the past couple weeks but i keep running into different problems. Right now im stumbling upon a continuous FileNotFoundException every time i start a backup of my “video” folder, which is about 2.7TB total. It will go for a night and actually start backing up, then the next morning i wake up to a FileNotFoundException with the backup stopped.

This is the entire exception:

Aug 24, 2020 12:12 AM: The operation Backup has failed with error: Could not find file “/tmp/dup-17f1cea6-2579-4f0c-becc-06835d74fc7c”
{“ClassName”:“System.IO.FileNotFoundException”,“Message”:“Could not find file “/tmp/dup-17f1cea6-2579-4f0c-becc-06835d74fc7c””,“Data”:null,“InnerException”:null,“HelpURL”:null,“StackTraceString”:" at System.IO.FileStream…ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0019e] in <254335e8c4aa42e3923a8ba0d5ce8650>:0 \n at System.IO.FileStream…ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00000] in <254335e8c4aa42e3923a8ba0d5ce8650>:0 \n at (wrapper remoting-invoke-with-check) System.IO.FileStream…ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)\n at Duplicati.Library.Main.Volumes.VolumeReaderBase.LoadCompressor (System.String compressor, System.String file, Duplicati.Library.Main.Options options, System.IO.Stream& stream) [0x00000] in <8f1de655bd1240739a78684d845cecc8>:0 \n at Duplicati.Library.Main.Volumes.VolumeReaderBase…ctor (System.String compressor, System.String file, Duplicati.Library.Main.Options options) [0x00007] in <8f1de655bd1240739a78684d845cecc8>:0 \n at Duplicati.Library.Main.Volumes.BlockVolumeReader…ctor (System.String compressor, System.String file, Duplicati.Library.Main.Options options) [0x00010] in <8f1de655bd1240739a78684d845cecc8>:0 \n at Duplicati.Library.Main.Operation.Backup.SpillCollectorProcess+<>c__DisplayClass0_0.b__0 (<>f__AnonymousType112[<Input>j__TPar,<Output>j__TPar] self) [0x0023c] in <8f1de655bd1240739a78684d845cecc8>:0 \n at CoCoL.AutomationExtensions.RunTask[T] (T channels, System.Func2[T,TResult] method, System.Boolean catchRetiredExceptions) [0x000d5] in <9a758ff4db6c48d6b3d4d0e5c2adf6d1>: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 filesetid, System.Int64 lastfilesetid, System.Threading.CancellationToken token) [0x0035f] in <8f1de655bd1240739a78684d845cecc8>:0 \n at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String[] sources, Duplicati.Library.Utility.IFilter filter, System.Threading.CancellationToken token) [0x01033] in <8f1de655bd1240739a78684d845cecc8>:0 \n at CoCoL.ChannelExtensions.WaitForTaskOrThrow (System.Threading.Tasks.Task task) [0x00050] in <9a758ff4db6c48d6b3d4d0e5c2adf6d1>:0 \n at Duplicati.Library.Main.Operation.BackupHandler.Run (System.String[] sources, Duplicati.Library.Utility.IFilter filter, System.Threading.CancellationToken token) [0x00009] in <8f1de655bd1240739a78684d845cecc8>:0 \n at Duplicati.Library.Main.Controller+<>c__DisplayClass14_0.<Backup>b__0 (Duplicati.Library.Main.BackupResults result) [0x0004b] in <8f1de655bd1240739a78684d845cecc8>:0 \n at Duplicati.Library.Main.Controller.RunAction[T] (T result, System.String[]& paths, Duplicati.Library.Utility.IFilter& filter, System.Action1[T] method) [0x0026f] in <8f1de655bd1240739a78684d845cecc8>:0 \n at Duplicati.Library.Main.Controller.Backup (System.String inputsources, Duplicati.Library.Utility.IFilter filter) [0x00074] in <8f1de655bd1240739a78684d845cecc8>:0 \n at Duplicati.Server.Runner.Run (Duplicati.Server.Runner+IRunnerData data, System.Boolean fromQueue) [0x00349] in :0 “,“RemoteStackTraceString”:null,“RemoteStackIndex”:0,“ExceptionMethod”:null,“HResult”:-2147024894,“Source”:“mscorlib”,“FileNotFound_FileName”:”/tmp/dup-17f1cea6-2579-4f0c-becc-06835d74fc7c",“FileNotFound_FusionLog”:null}

I do not understand where to start to solve this problem. Any help would be greatly appreciated. Every time i restart the backup, it will go for a bit, and then eventually end up with this error. I also wonder if it happens on a specific file, but as far as i’m aware i can’t see that with the above error.

Thank you.

Edit: To add a bit more information. In the Synology Docker app the Duplicati container does run with “High privilege” enabled and i have variabled PGID = 0 and PUID = 0, i think i read somewhere that has something to do with privileges, i thought i’d at least mention it.

Which version of Duplicati is this, and which docker image did you get? Duplicati has an official one but linuxserver also publishes one.

I personally use the Duplicati official one on Synology. Haven’t run into this problem myself…

Thank you very much for your reply. The support i’ve been receiving is really great.

I see i am using the linuxserver version of Duplicati. I will try to switch to the official Duplicati one and see if that solved my problem. I hope the backups for as far as they’ve been done won’t go to waste with the transition, but i’ll see. Will report back on my findings.

Ok, be aware that there is currently a bug in the canary Duplicati docker package (related to the mono dependency). I recommend you stick with the latest beta release.

Thanks for the heads up, however I don’t really understand which release that would be. Do i just take the “beta” release? It says last updated 7 months ago on Dockerhub, and the last canary update was 14 days ago. That seems off. Sorry i’m still relatively new to Docker.

Edit: I just chose the “Latest” tag because i figured if thats a release from 7 months ago, the bug you’re talking about shouldnt be in there either so i should be fine with that. And apparently it gave me 2.0.5.1_beta_2020-01-18. I’m now verifying the backend of my 300 gb backup, and then hope that i wont see the error again on the 2.7TB one.

I don’t run Docker, but can anyone say whether it has the strace command? I’d like to have someone who is seeing the problem well make a big log to watch file activity to help understand if file got deleted or not made. While there’s a new problem with the Docker, the missing /tmp file issue is not new, just extremely elusive…

What the channels mean in docker is up to the image maintainer. Per the docker hub page for Duplicati:

latest - an alias for beta

So yeah that’s why you ended up getting 2.0.5.1. I’d recommend you stick with the beta channel for production, at least until stable is released! Canary can have bleeding edge features so it can be more risky.

The docker image does not have strace. Not surprising, most include just the bare essentials required to run the software. It doesn’t even have ping, nslookup, traceroute, etc.

I wonder if strace on the host would work.

The backup is currently running on the Duplicati/Duplicati docker, however i’m noticing that my upload speeds are much slower, about half, than what they were on the linuxserver/duplicati container.
My photo backup on linuxserver/duplicati took 20 hours with about 8 MB/s. On duplicati/duplicati this took ~30 hours with about 4-6 MB/s
My video backup on linuxserver/duplicati used to go with about 4 MB/s but on duplicati/duplicati it’s currently running with 1.8 MB/s.

What could be the cause of this? Any way to increase upload speed? Doing 2.7TB with 1.8 MB/s isn’t exactly ideal as you may be able to imagine.

The source server is on a 500/500 Fiber connection and the backup server is on an 80/30 copper connection.