Arc Forumnew | comments | leaders | submitlogin
Broken Pipe oddities with Arc tcp-write: error writing (Broken pipe; errno=32)
2 points by thaddeus 5822 days ago | 6 comments
Every once and a while, using arc3, I get the below error when hitting the browsers back button. This happens even just using news.arc.

  * tcp-write error writing (Broken pipe; errno=32)
I have been having a difficult time tracking down why the error happens when it appears I have changed no code or only changed something really small.

I am wildly guessing it has to do with arc3's memory custodian changes shutting down the server loop based upon some internet searching.

  http://www.cs.brown.edu/pipermail/plt-scheme/2007-July/019673.html
  http://www.cs.brown.edu/pipermail/plt-scheme/2007-July/019674.html
but not sure....

Note:

  1. One time I changed asv from port 9002 to 8080 which seemed to fix the issue.
  2. Another time I deleted a hidden file .DS_Store from the arc directory to fix it.
Anyway I am hoping # 2 solves it for me from now on, but I thought other members might like to know.

T.



3 points by pg 5822 days ago | link

This is not a real error. It just means a client flaked. It has always happened on HN.

-----

1 point by thaddeus 5821 days ago | link

  * cleared my browser cache.
  * flushed my airport cache and renewed the DCHP lease.
  * I had my machine off last night.
Turned it on this morning and loaded the same process. and it's happening everytime. That kind of replication and consistency suggests it's not just myclient flaking out correct?.

I mean it could be, but why ? It's like my client is flaking out because of the code loaded into it ? Maybe bad javascript or meta tags or something the browser need to process so it flakes out?

Anyway I just don't believe it's not a real error. There's more to it than clients flaking out. T.

-----

3 points by CatDancer 5821 days ago | link

You'll get an "tcp error writing" when in your browser you navigate away from a page before the browser has finished downloading everything.

Usually Arc sends the entire response and closes the connection. When the browser doesn't wait, it closes the connection. Arc is then complaining that the connection has been closed on it.

If you're absolutely sure that everything has been loaded in the page before you click on anything, that would be something to look into further.

-----

1 point by conanite 5821 days ago | link

What CatDancer said, plus: do you get the same error on all browsers? If you use wget or curl instead of a browser, do you still get this error?

-----

1 point by shader 5822 days ago | link

I get the error myself as well, but for me it is generally caused by navigating away from a page before arc is finished serving it. I think it is because arc tries to continue writing to the output-port associated with the tcp-port, but the connection has been broken so that port no longer works.

It hasn't caused any problems though, so I've ignored it for the most part.

-----

1 point by thaddeus 5822 days ago | link

As a note I was able to determine the error was coming from

  (def handle-request-1 
as arc outputs:

=== context === .../arc/ac.scm:1297:0: ar-close th1

after the the broken pipe error.

T.

[EDIT] option 2 isn't useful - just happened again and I no longer have hidden files to delete.

-----