← Back to team overview

dulwich-users team mailing list archive

Re: Traceback when testing the web server

 

On Tue, Mar 1, 2011 at 13:39, David Blewett <david@xxxxxxxxxxxxxxxx> wrote:

> On Mon, Feb 28, 2011 at 6:31 PM, Dave Borowitz <dborowitz@xxxxxxxxxx>
> wrote:
> > 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.
>
> Is this expected output for the tests (notably the "error: [Errno 32]
> Broken pipe" tracebacks)?
>

Yes, the mechanism that kills the server is killing outstanding connections.
It didn't seem obvious how to fix it in a few minutes and by now I'm just
used to it.


> Thanks,
>
> David Blewett
>
> Tue Mar 1, 16:36 | /Users/davidb/src/dulwich
> dhmo% gmake check
> python setup.py build
> running build
> running build_py
> copying dulwich/protocol.py -> build/lib.macosx-10.6-x86_64-2.6/dulwich
> copying dulwich/web.py -> build/lib.macosx-10.6-x86_64-2.6/dulwich
> running build_ext
> running build_scripts
> python setup.py build_ext -i
> running build_ext
> copying build/lib.macosx-10.6-x86_64-2.6/dulwich/_objects.so -> dulwich
> copying build/lib.macosx-10.6-x86_64-2.6/dulwich/_pack.so -> dulwich
> copying build/lib.macosx-10.6-x86_64-2.6/dulwich/_diff_tree.so -> dulwich
> PYTHONPATH=.: python -m unittest2.__main__ dulwich.tests.test_suite
>
> ...........................................................sssssssss.s................................................................................................................................................................................................s..............................................................................................................................................................................................UnpUnpacking
> objects: 100% (20/20), done.
> Unpacking objects: 100% (20/20), done.
> error: denying non-fast-forward refs/heads/branch (you should pull first)
> error: denying non-fast-forward refs/heads/master (you should pull first)
> fatal: Not a git repository: '.'
> Unpacking objects: 100% (20/20), done.
> Unpacking objects: 100% (20/20), done.
> error: denying non-fast-forward refs/heads/master (you should pull first)
> fatal: Not a git repository: '.'
> Unpacking objects: 100% (20/20), done.
> ..........................Traceback (most recent call last):
>  File "/opt/python-build/parts/opt/lib/python2.6/wsgiref/handlers.py",
> line 94, in run
>    self.finish_response()
>   File "/opt/python-build/parts/opt/lib/python2.6/wsgiref/handlers.py",
> line 135, in finish_response
>    self.write(data)
>   File "/opt/python-build/parts/opt/lib/python2.6/wsgiref/handlers.py",
> line 218, in write
>    self.send_headers()
>   File "/opt/python-build/parts/opt/lib/python2.6/wsgiref/handlers.py",
> line 274, in send_headers
>    self.send_preamble()
>   File "/opt/python-build/parts/opt/lib/python2.6/wsgiref/handlers.py",
> line 203, in send_preamble
>    self._write('Server: %s\r\n' % self.server_software)
>   File "/opt/python-build/parts/opt/lib/python2.6/socket.py", line 318, in
> write
>    self.flush()
>  File "/opt/python-build/parts/opt/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', 54265)
> Traceback (most recent call last):
>   File "/opt/python-build/parts/opt/lib/python2.6/SocketServer.py",
> line 283, in _handle_request_noblock
>    self.process_request(request, client_address)
>   File "/opt/python-build/parts/opt/lib/python2.6/SocketServer.py",
> line 309, in process_request
>    self.finish_request(request, client_address)
>   File "/opt/python-build/parts/opt/lib/python2.6/SocketServer.py",
> line 322, in finish_request
>    self.RequestHandlerClass(request, client_address, self)
>   File "/opt/python-build/parts/opt/lib/python2.6/SocketServer.py",
> line 618, in __init__
>    self.finish()
>   File "/opt/python-build/parts/opt/lib/python2.6/SocketServer.py",
> line 661, in finish
>    self.wfile.flush()
>   File "/opt/python-build/parts/opt/lib/python2.6/socket.py", line 297, in
> flush
>     self._sock.sendall(buffer(data, write_offset, buffer_size))
> error: [Errno 32] Broken pipe
> ----------------------------------------
> ..s......
> ----------------------------------------------------------------------
> Ran 492 tests in 23.659s
>
> OK (skipped=12)
>

References