I can't tell for sure, but this traceback looks like what happens when the git client decides its POST data is large enough to gzip, which is not handled transparently by the wsgiref server. I happen to be using a server that does handle it transparently, which is why I haven't been bugged by this enough to fix it.
In these cases I usually find it helpful to sniff the wire protocol with Wireshark or similar. To test if my guess is correct, you could also run git with GIT_CURL_VERBOSE=1 and look for a Content-Encoding: gzip header. Hope this helps. On Fri, Feb 25, 2011 at 19:29, David Blewett <[email protected]> wrote: > In working on the patch to add Paster integration, I came across this > traceback from the WSGI app: > > 2011-02-25 19:11:58,383 INFO: Listening for HTTP connections on :8000 > 2011-02-25 19:12:01,984 INFO: "GET /info/refs?service=git-upload-pack > HTTP/1.1" 200 1777 > 2011-02-25 19:12:02,030 INFO: Handling service request for git-upload-pack > Traceback (most recent call last): > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 94, in run > self.finish_response() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 134, in > finish_response > for data in self.result: > File "/usr/home/david/src/dulwich/dulwich/web.py", line 250, in > handle_service_request > handler.handle() > File "/usr/home/david/src/dulwich/dulwich/server.py", line 274, in handle > get_tagged=self.get_tagged) > File "/usr/home/david/src/dulwich/dulwich/repo.py", line 836, in > fetch_objects > wants = determine_wants(self.get_refs()) > File "/usr/home/david/src/dulwich/dulwich/server.py", line 383, in > determine_wants > want = self.proto.read_pkt_line() > File "/usr/home/david/src/dulwich/dulwich/protocol.py", line 104, in > read_pkt_line > size = int(sizestr, 16) > ValueError: invalid literal for int() with base 16: '\x1f\x8b\x08\x00' > 2011-02-25 19:12:02,037 INFO: "POST /git-upload-pack HTTP/1.1" 500 59 > ---------------------------------------- > Exception happened during processing of request from ('76.219.161.85', > 50168) > Traceback (most recent call last): > File "/usr/local/lib/python2.6/SocketServer.py", line 283, in > _handle_request_noblock > self.process_request(request, client_address) > File "/usr/local/lib/python2.6/SocketServer.py", line 309, in > process_request > self.finish_request(request, client_address) > File "/usr/local/lib/python2.6/SocketServer.py", line 322, in > finish_request > self.RequestHandlerClass(request, client_address, self) > File "/usr/local/lib/python2.6/SocketServer.py", line 617, in __init__ > self.handle() > File "/usr/local/lib/python2.6/wsgiref/simple_server.py", line 138, in > handle > handler.run(self.server.get_app()) > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 97, in run > self.handle_error() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 310, in > handle_error > self.finish_response() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 135, in > finish_response > self.write(data) > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 218, in write > self.send_headers() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 274, in > send_headers > self.send_preamble() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 203, in > send_preamble > self._write('Server: %s\r\n' % self.server_software) > File "/usr/local/lib/python2.6/socket.py", line 318, in write > self.flush() > File "/usr/local/lib/python2.6/socket.py", line 297, in flush > self._sock.sendall(buffer(data, write_offset, buffer_size)) > error: [Errno 32] Broken pipe > > When running the tests, I get this: > Traceback (most recent call last): > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 94, in run > self.finish_response() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 135, in > finish_response > self.write(data) > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 218, in write > self.send_headers() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 274, in > send_headers > self.send_preamble() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 203, in > send_preamble > self._write('Server: %s\r\n' % self.server_software) > File "/usr/local/lib/python2.6/socket.py", line 318, in write > self.flush() > File "/usr/local/lib/python2.6/socket.py", line 297, in flush > self._sock.sendall(buffer(data, write_offset, buffer_size)) > error: [Errno 32] Broken pipe > ---------------------------------------- > Exception happened during processing of request from ('127.0.0.1', 16238) > Traceback (most recent call last): > File "/usr/local/lib/python2.6/SocketServer.py", line 283, in > _handle_request_noblock > self.process_request(request, client_address) > File "/usr/local/lib/python2.6/SocketServer.py", line 309, in > process_request > self.finish_request(request, client_address) > File "/usr/local/lib/python2.6/SocketServer.py", line 322, in > finish_request > self.RequestHandlerClass(request, client_address, self) > File "/usr/local/lib/python2.6/SocketServer.py", line 618, in __init__ > self.finish() > File "/usr/local/lib/python2.6/SocketServer.py", line 661, in finish > self.wfile.flush() > File "/usr/local/lib/python2.6/socket.py", line 297, in flush > self._sock.sendall(buffer(data, write_offset, buffer_size)) > error: [Errno 32] Broken pipe > ---------------------------------------- > Traceback (most recent call last): > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 94, in run > self.finish_response() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 135, in > finish_response > self.write(data) > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 218, in write > self.send_headers() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 274, in > send_headers > self.send_preamble() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 203, in > send_preamble > self._write('Server: %s\r\n' % self.server_software) > File "/usr/local/lib/python2.6/socket.py", line 318, in write > self.flush() > File "/usr/local/lib/python2.6/socket.py", line 297, in flush > self._sock.sendall(buffer(data, write_offset, buffer_size)) > error: [Errno 32] Broken pipe > ---------------------------------------- > Traceback (most recent call last): > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 94, in run > self.finish_response() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 135, in > finish_response > self.write(data) > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 218, in write > self.send_headers() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 274, in > send_headers > self.send_preamble() > File "/usr/local/lib/python2.6/wsgiref/handlers.py", line 203, in > send_preamble > self._write('Server: %s\r\n' % self.server_software) > File "/usr/local/lib/python2.6/socket.py", line 318, in write > self.flush() > File "/usr/local/lib/python2.6/socket.py", line 297, in flush > self._sock.sendall(buffer(data, write_offset, buffer_size)) > error: [Errno 32] Broken pipe > ---------------------------------------- > Exception happened during processing of request from ('127.0.0.1', 62255) > Traceback (most recent call last): > File "/usr/local/lib/python2.6/SocketServer.py", line 283, in > _handle_request_noblock > self.process_request(request, client_address) > File "/usr/local/lib/python2.6/SocketServer.py", line 309, in > process_request > self.finish_request(request, client_address) > File "/usr/local/lib/python2.6/SocketServer.py", line 322, in > finish_request > self.RequestHandlerClass(request, client_address, self) > File "/usr/local/lib/python2.6/SocketServer.py", line 618, in __init__ > self.finish() > File "/usr/local/lib/python2.6/SocketServer.py", line 661, in finish > self.wfile.flush() > File "/usr/local/lib/python2.6/socket.py", line 297, in flush > self._sock.sendall(buffer(data, write_offset, buffer_size)) > error: [Errno 32] Broken pipe > ---------------------------------------- > > > Thanks, > > David Blewett > > _______________________________________________ > Mailing list: https://launchpad.net/~dulwich-users > Post to : [email protected] > Unsubscribe : https://launchpad.net/~dulwich-users > More help : https://help.launchpad.net/ListHelp >
_______________________________________________ Mailing list: https://launchpad.net/~dulwich-users Post to : [email protected] Unsubscribe : https://launchpad.net/~dulwich-users More help : https://help.launchpad.net/ListHelp

