The pipe has been ended

I start Duplicati from the command line. This problem occurs with various commands. BACKUP, PURGE, lastly with a COMPACT and I had it with the 2 versions of duplicati also before. At the moment I have the current BETA (Duplicati Version 2.0.6.3_beta_2021-06-17).

Problem occurs with Windows 10 and Windows 7. But only sometimes. I would estimate 1 of 15 to 1 of 25 runs?

The current stack trace is from Win 7, this was a compact. I have backups where this error occured and duplicatir monitoring got a report with successful backup. So this PIPE errors seems in that case to come at the really end?!?

Unhandled Exception: System.AggregateException: One or more errors occurred. —> System.IO.IOException: The pipe has been ended.

at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.FileStream.FlushOSBuffer()
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.StreamWriter.d__68.MoveNext()
— 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.StreamWriter.d__55.MoveNext()
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at Duplicati.Library.AutoUpdater.UpdaterManager.<>c__DisplayClass58_1.<b__1>d.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)

And a Windows message

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: Duplicati.CommandLine.exe
Problem Signature 02: 2.0.6.3
Problem Signature 03: 60cb15b8
Problem Signature 04: mscorlib
Problem Signature 05: 4.8.4069.0
Problem Signature 06: 5dc611cd
Problem Signature 07: 1693
Problem Signature 08: f
Problem Signature 09: System.AggregateException
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1031
Additional Information 1: 4def
Additional Information 2: 4def3b33d7c7278176a1e1e2092c5cd4
Additional Information 3: ab54
Additional Information 4: ab541a98ba3cadfaff42957ee7f90df7

Read our privacy statement online:
Windows 7 Privacy Statement

If the online privacy statement is not available, please read our privacy statement offline:
C:\Windows\system32\en-US\erofflps.txt

Any idea why this occurs?

What environment is the command line running in? Some background thing? Where is output going?

System Error Codes (0-499) suggests that, at the Windows native level, error below had taken place:

ERROR_BROKEN_PIPE

    109 (0x6D)

    The pipe has been ended.

We’ve traced the pipe, and it’s coming from inside the process! adds some context which seems to fit

because that would possibly produce a write. The question (that I asked) is what is being written into?
If you really want to try to find a failed write, there’s a chance Sysinternals Process Monitor can see it.

That’s often enough that you could consider seeing what different run environments show it (or don’t).

I wonder if it needs anything to actually happen? A compact that doesn’t compact would run quite fast.
You can decide whether or not you want to take a chance on a faster command, or just test with usual.

Internet search finds lots on this, but most I saw doesn’t seem to fit. You might try uninstalling Duplicati then reinstalling it just to dodge the common response that there must be something wrong with install.

My belief is that this is .NET Framework crashing (which IMO it shouldn’t do despite bad environment).

what does “CLR20r3” stand for? (what version of the clr is it) says don’t believe the CLR details shown.

Hello ts678

In that case it is a VirtualBox with Windows 7 VM.

.Net are 2 versions installed:

image

ADO Database Runtime is not installed. But I think Duplicati does not need this.

This Guest is decicated for a self written scheduler that starts duplicati and some robocopy job, some rclone jobs aso. BUT ALL SYNCHRON! Never 2 jobs at the same time.

If I make a manual compact or backup I stop the scheduler program and run commands in a DOS Box. So there is nothing running parallel. The output goes into this dos box. No “>” or “|” used.

I think this error is shown most AFTER! the “Backup completed successfully!” message. Is it possible that this “Pipe” is a stream for the send-report?

I send reports to duplicati monitoring.

I tried around 30 small backup runs with procmon running in background and got no Pipe error *** grrr ***

I will keep trying. Maybe I will get the error and see something in procmon.

Ha. Now with ProcMon!
Does this help?

The last 3 pages procmon has for processes starting with “Dupli”

Because lots of people send reports to Duplicati Monitoring, I’m not inclined to consider reports a suspect.

I’d like to think it’s something in common on your two Windows systems. Are both running that scheduler? Question might be where a program’s output goes in that environment. The wrinkle with that theory is that apparently you got one from what you call a DOS Box (Command Prompt?) while watching output. Right?

On Process Monitor, there’s a Detail column towards the right that might show a failed write.
Your screenshots don’t show that column at all. Seemingly you can even set Filter on Detail.

I see you have box saying “View problem details”. What’s there, or have we seen that before?
Possibly there’s also something then in Event Viewer. This is way way below Duplicati though.

I’d like to think it’s something in common on your two Windows systems. Are both running that scheduler?

I think this 2 machines have nothing in common. The second is my Windows 11 Work PC. On that I only make time critical things with duplicati because this PC hosts the Hard-Disk were the main backups are stored as local disk.

So If I need a restore I copy the database to this machine and make the restore here. I remembered that I had this Pipe error on a restore also (but the restore has done everything fine).

On Process Monitor, there’s a Detail column towards the right that might show a failed write.
Your screenshots don’t show that column at all. Seemingly you can even set Filter on Detail .

Ah. I closed it already… Which column do you mean?
image

I see you have box saying “View problem details”.

The message in the dialog was the same as in my first post.

Event Viewer

19:02:10 seconds, StackTrace that is also shown in the DOS-Box

Application: Duplicati.CommandLine.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.IOException
   at System.IO.__Error.WinIOError(Int32, System.String)
   at System.IO.FileStream.FlushOSBuffer()
   at System.Threading.Tasks.Task.Execute()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   at System.IO.StreamWriter+<FlushAsyncInternal>d__68.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
   at System.IO.StreamWriter+<WriteAsyncInternal>d__55.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Duplicati.Library.AutoUpdater.UpdaterManager+<>c__DisplayClass58_1+<<RunFromMostRecentSpawn>b__1>d.MoveNext()

Exception Info: System.AggregateException
   at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
   at System.Threading.Tasks.Task.Wait(Int32, System.Threading.CancellationToken)
   at Duplicati.Library.AutoUpdater.UpdaterManager.RunFromMostRecentSpawn(System.Reflection.MethodInfo, System.String[], Duplicati.Library.AutoUpdater.AutoUpdateStrategy)
   at Duplicati.CommandLine.Program.Main(System.String[])

19:02:16

Faulting application name: Duplicati.CommandLine.exe, version: 2.0.6.3, time stamp: 0x60cb15b8
Faulting module name: KERNELBASE.dll, version: 6.1.7601.24545, time stamp: 0x5e0eb6bd
Exception code: 0xe0434352
Fault offset: 0x000000000000b87d
Faulting process id: 0xe58
Faulting application start time: 0x01d92778f9115b11
Faulting application path: C:\Program Files\Duplicati 2\Duplicati.CommandLine.exe
Faulting module path: C:\Windows\system32\KERNELBASE.dll
Report Id: 69441c25-936c-11ed-b4be-080027b8578a

So at least one is running the “self written scheduler” (written in what?). What’s the other running?

The Detail column (which is checked) is what I mean. Maybe it’s horizontal-scrolled off the shot?.

This gives details of the event. Maybe if you get a pipe error it will say that. I have no idea offhand.