Why do I get these "Broken Pipe" errors
Sometimes, you can see a traceback that looks like this in your CherryPy console window or logs:
[...]
File "/usr/src/build/394694-i386/install/usr/lib/python2.3/socket.py", line 241, in flush
self._sock.sendall(buffer) error: (32, 'Broken pipe')
There is nothing to worry about as this just means that the client closed the connection before the server. After this traceback, your CherryPy server will still keep running normally.
One easy way to reproduce the traceback is to do this:
- Implement a CherryPy page that takes several seconds to buid
- Request this page with a browser
- Before CherryPy is finished building the page, hit "Stop" in your browser
- When you hit "Stop", your browser closes the connection
- You'll see the traceback in your CherryPy logs when CherryPy finishes to build the page and tries to send it to the browser, because the connection has been closed in the mean time
You might also see this error if you're trying to benchmark your CherryPy site with "ab" from Apache, as "ab" seems to close the connections before the server.
This behavior probably only occurred when using the new WSGI server, and such errors probably will vanish with changeset [407]. If they persist (with slightly different error numbers), please open a ticket with the exact version of CherryPy.

