Duplicati.CommandLine.exe crash

Hi,

I have just started using Duplicati and I like what I see so far, but I have encountered a problem with Duplicati.CommandLine.exe. At the end of a successful backup, it will crash with this message:


Backup completed successfully!

Unhandled Exception: System.AggregateException: One or more errors occurred. —> System.IO.IOException: Not enough storage is available to process this command.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.__ConsoleStream.Read(Byte buffer, Int32 offset, Int32 count)
at System.IO.Stream.<>c.b__39_0(Object )
at System.Threading.Tasks.Task1.InnerInvoke() at System.Threading.Tasks.Task.Execute() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at System.IO.Stream.EndRead(IAsyncResult asyncResult) at System.Threading.Tasks.TaskFactory1.FromAsyncTrimPromise1.Complete(TInstance thisRef, Func3 endMethod, IAsyncResult asyncResult, Boolean requiresSynchronization)
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.IO.Stream.d__27.MoveNext()
— End of inner exception stack trace —
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken)
at Duplicati.Library.AutoUpdater.UpdaterManager.RunFromMostRecentSpawn(MethodInfo method, String cmdargs, AutoUpdateStrategy defaultstrategy)
at Duplicati.CommandLine.Program.Main(String args)

It appears to be happening when checking for updates? This crash doesn’t happen when doing the same backup via the GUI. Perhaps it doesn’t check for updates then?

I’m running on 64-bit Windows 7, with 8GB RAM and 16GB free space on the main HD. Let me know if you need any more info.

Thanks.

Hi @freezy, welcome to the forum!

What version of Duplicati are you running and is that the version you installed or have you done an update since the install?

A few canary versions ago there was a shift in how updates were handled and I believe a few users ran into an issue where not everything got updated correctly. So it’s possible that your GUI and command line versions are out of sync… (Or not - I’m not saying this is absolutely what you’re running into. :wink: )

It looks like it is trying to read something from the console? Are you running it in a way that prevents it from reading from the console?

I think this happens because it tries to forward the stdin/stdout to the spawned process, and perhaps it just happens when the spawned process exits.

Thanks for the replies.

Sorry, I forgot to mention the version that I’m using. It is “2.0.2.14_canary_2017-12-22”. Duplicati.CommandLine.exe and the GUI show the same. I’m not certain but I think that would be the version that I had from the start, as I installed after 22/12.

I’m primarily running Duplicati.CommandLine.exe from a BAT file (run as a scheduled task), but the problem also happened when running the same command directly in a “Command Prompt” window.

Anyway, the good news is that the problem has disappeared! I’m not sure why, but the problem hasn’t happened in the last 2 days. That seems to have coincided with my deleting the local database and deleting the backup files from the destination (SFTP server), and starting again with the “Upload volume size” setting lowered to 20MB (the rest of the config is the same as before). I did initially try lowering the “Upload volume size” setting while the original backup was in progress. That didn’t seem to have any effect on the backup (the uploads were still 50MB), and subsequent backup and restore operations were successful, but perhaps it did actually break something?

It won’t work if you change it while the backup is running. It snapshots the options at the start of the backup, and runs with that.

That should have absolutely no impact on that problem. It is possible that it is a race condition where the stdin is closed, but depending on what state the reader is in, it will either give an error or just continue as it should.