Ticket #1 (closed defect: fixed)

Opened 3 months ago

Last modified 3 months ago

socket.error: (32, 'Broken pipe')

Reported by: dcaoyuan Owned by: dcaoyuan
Priority: major Milestone:
Component: fcgi Version:
Keywords: Cc:

Description

trac.cgi.daemon sometime throws:

Unhandled exception in thread started by <bound method Connection.run of <trac.web._fcgi.Connection object at 0x7f2e47542c10>>
Traceback (most recent call last):
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 658, in run
    self.process_input()
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 694, in process_input
    self._do_params(rec)
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 793, in _do_params
    self._start_request(req)
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 777, in _start_request
    req.run()
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 573, in run
    self.stderr.flush()
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 340, in flush
    self._write(data)
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 311, in _write
    self._conn.writeRecord(rec)
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 709, in writeRecord
    rec.write(self._sock)
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 542, in write
    self._sendall(sock, header)
  File "/usr/lib/python2.4/site-packages/Trac-0.11.6-py2.4.egg/trac/web/_fcgi.py", line 519, in _sendall
    sent = sock.send(data)
socket.error: (32, 'Broken pipe')

And may die silently.

Change History

Changed 3 months ago by dcaoyuan

It seems exceptions throwable during read socket inputstream were not caught, thus if an exception causes socket disconnect on the servlet side will leave fcgi daemon write to broken pipe.

Solution: see r76:55c0802f79c3

Changed 3 months ago by dcaoyuan

  • status changed from new to closed
  • resolution set to fixed

Fixed in r76:55c0802f79c3

Changed 3 months ago by dcaoyuan

  • component changed from cgi-bin to fcgi

Changed 3 months ago by dcaoyuan

  • status changed from closed to reopened
  • resolution fixed deleted

Changed 3 months ago by dcaoyuan

  • owner changed from daoyuan to dcaoyuan
  • status changed from reopened to assigned

Changed 3 months ago by dcaoyuan

  • status changed from assigned to closed
  • resolution set to fixed
Note: See TracTickets for help on using tickets.