Exception with --http11 when browsing ticket other than last ticket added
|Reported by:||Owned by:||Remy Blank|
|Severity:||normal||Keywords:||http11 exception ticket tracd needinfo|
Found this issue while I was load testing and it is rather interesting.
This issue was discovered with tracd (so I don't know if it has any impact on mod_python with apache); however, if you start the tracd daemon with —htp11 and ask for a ticket other than the last ticket added, you get the following exception and backtrace:
Exception happened during processing of request from ('192.168.1.111', 53060) Traceback (most recent call last): File "/usr/lib/python2.5/SocketServer.py", line 464, in process_request_thread self.finish_request(request, client_address) File "/usr/lib/python2.5/SocketServer.py", line 254, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python2.5/SocketServer.py", line 522, in __init__ self.handle() File "/usr/lib/python2.5/BaseHTTPServer.py", line 318, in handle self.handle_one_request() File "/home/lance/workspace/trac-0.11-stable/trac/web/wsgi.py", line 181, in handle_one_request environ = self.setup_environ() File "/home/lance/workspace/trac-0.11-stable/trac/web/wsgi.py", line 132, in setup_environ self.raw_requestline = self.rfile.readline() File "/usr/lib/python2.5/socket.py", line 381, in readline data = self._sock.recv(self._rbufsize) error: (104, 'Connection reset by peer')
I can reproduce this with a new/default installation by creating a new ticket (#1) and then immediately creating a second ticket (#2). If you then either browse the tickets using the report (#1) or through directly entering the ticket number on the url and your request is for ticket #1, then tracd will give you the exception.
Another interesting thing about this is that the page *seems* to be properly rendered in the browser in spite of the issue. If you then use the exact same environment and do not use the —http11 option, you will not get the exception, but if you stop/kill tracd and start it up again with the —http11 option, you will get the exception again.
I have not checked for this issue in trunk as the work I was doing was in the trac-0.11-stable branch.