-
Notifications
You must be signed in to change notification settings - Fork 528
"Broken Pipe" errors #164
Comments
Are you able to reproduce the issue locally? How about with or without NGNIX involved? Anything else you could try to attempt to narrow it down would be helpful. |
I haven't been able to reproduce the error locally yet, but according to my error log I've hit it 240 times in the past day. I haven't noticed anything actually broken on the site when I access it though. |
I'm getting the issue locally without nginx on Ubuntu 14.04 and Ubuntu 15.04. But instead with SignalR-Server. However it seems to work even with errors: warning : [Microsoft.AspNet.SignalR.Transports.LongPollingTransport] Exception thrown by Task
System.AggregateException: One or more errors occurred. ---> System.Exception: Error -32 EPIPE broken pipe
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[System.Boolean].GetResult () [0x00000] in <filename unknown>:0
at Microsoft.AspNet.SignalR.Messaging.Subscription+<Invoke>d__25.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[System.Boolean].GetResult () [0x00000] in <filename unknown>:0
at Microsoft.AspNet.SignalR.Messaging.Subscription+<Work>d__26.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <filename unknown>:0
at Microsoft.AspNet.SignalR.Messaging.MessageBroker+<DoWork>d__9.MoveNext () [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
---> (Inner Exception #0) System.Exception: Error -32 EPIPE broken pipe
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[System.Boolean].GetResult () [0x00000] in <filename unknown>:0
at Microsoft.AspNet.SignalR.Messaging.Subscription+<Invoke>d__25.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[System.Boolean].GetResult () [0x00000] in <filename unknown>:0
at Microsoft.AspNet.SignalR.Messaging.Subscription+<Work>d__26.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <filename unknown>:0
at Microsoft.AspNet.SignalR.Messaging.MessageBroker+<DoWork>d__9.MoveNext () [0x00000] in <filename unknown>:0 <---
error : [Microsoft.AspNet.SignalR.Messaging.MessageBus] Failed to process work - System.Exception: Error -32 EPIPE broken pipe
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[System.Boolean].GetResult () [0x00000] in <filename unknown>:0
at Microsoft.AspNet.SignalR.Messaging.Subscription+<Invoke>d__25.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter`1[System.Boolean].GetResult () [0x00000] in <filename unknown>:0
at Microsoft.AspNet.SignalR.Messaging.Subscription+<Work>d__26.MoveNext () [0x00000] in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) [0x00000] in <filename unknown>:0
at System.Runtime.CompilerServices.TaskAwaiter.GetResult () [0x00000] in <filename unknown>:0
at Microsoft.AspNet.SignalR.Messaging.MessageBroker+<DoWork>d__9.MoveNext () [0x00000] in <filename unknown>:0 |
I am getting the same EPIPE broken pipe on a fresh OS X install. |
SignalR-Server, inside microsoft/aspnet:1.0.0-rc1-final docker container;
|
I have another site running on rc1-final, mono, docker, aws. I watch for uptime with http://www.uptimerobot.com/. It seems the Broken Pipe error is thrown every time that service makes a request to my site. |
This is an interesting observation, I'm using Uptime Robot as well! Perhaps they don't close the connection properly? Still, Kestrel should be resilient to this rather than logging an exception. |
They probably only wait for the first bits on the wire and then close the socket in the middle of the request before the rest arrived. It's questionable if this should even result in a log entry. Clients are free to do that. |
Are you guys repro'ing this with Mono only, or with CoreCLR as well? |
Just mono for me. |
I'm using Mono. Haven't tried CoreCLR as I'm using some libraries that are Sent from my phone.
|
Likely related to #566 |
@JunTaoLuo Could you investigate? This seems Linux only -- we should probably swallow the exception. It's likely to happen when a client disconnects during a large response write. Feel free to ping @halter73 on this one. |
Assigning to @CesarBS instead. |
Can someone send me their nginx config file, and also |
I'm using the nginx config generated by this and I'm calling kestrel via;
|
Also I use this change. |
@CesarBS:
Command I'm using:
The entire site and all config is on my Github: https://github.com/Daniel15/Website/ I'm using RC1 + a patch to fix the Connection: close hang. |
@Daniel15 Thanks! |
@staff0rd Thanks! |
The issue does not repro on the current code - I could repro it on RC1 though. It's related or the same as this: With the post-RC1 changes to the |
I started running my blog on ASP.NET 5 + Kestrel behind Nginx to test it out, and I'm seeing a bunch of these errors in the log. Unfortunately I'm not too sure what's causing them or how to replicate the error. Is it possible it's caused by someone closing the browser tab before the response has finished being transmitted?
The text was updated successfully, but these errors were encountered: