Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
https://wiki.archlinux.org/title/Bug_reporting_guidelines
Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.
REPEAT: Do NOT report bugs for outdated packages!
FS#21687 - [woof] Server crash when client is trying to download
Attached to Project:
Community Packages
Opened by Peter B. Jørgensen (peder2tm) - Saturday, 13 November 2010, 14:12 GMT
Last edited by Chris Brannon (cmb) - Tuesday, 15 February 2011, 15:09 GMT
Opened by Peter B. Jørgensen (peder2tm) - Saturday, 13 November 2010, 14:12 GMT
Last edited by Chris Brannon (cmb) - Tuesday, 15 February 2011, 15:09 GMT
|
DetailsDescription:
After the transition to python 3 woof doesn't work anymore. Steps to reproduce: share a file with woof with 'woof TESTFILE' open another terminal and do 'wget localhost:8080' Additional info: The package version is 20091227-3 Here's the error message in the terminal: woof TESTFILE Now serving on http://10.0.0.100:8080/ localhost.localdomain - - [13/Nov/2010 15:10:21] "GET /TESTFILE HTTP/1.0" 200 - ---------------------------------------- Exception happened during processing of request from ('127.0.0.1', 54990) Traceback (most recent call last): File "/usr/lib/python2.7/SocketServer.py", line 284, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request self.finish_request(request, client_address) File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python2.7/SocketServer.py", line 641, in __init__ self.finish() File "/usr/lib/python2.7/SocketServer.py", line 694, in finish self.wfile.flush() File "/usr/lib/python2.7/socket.py", line 301, in flush self._sock.sendall(view[write_offset:write_offset+buffer_size]) error: [Errno 32] Broken pipe ---------------------------------------- |
This task depends upon
Closed by Chris Brannon (cmb)
Tuesday, 15 February 2011, 15:09 GMT
Reason for closing: Upstream
Additional comments about closing: Probably moving to AUR.
Tuesday, 15 February 2011, 15:09 GMT
Reason for closing: Upstream
Additional comments about closing: Probably moving to AUR.
> Hi Simon, I'm a packager for Arch Linux, and I have recently come
> across an issue with woof and Python 2.7. Here's the gist of it:
>
> $ woof example.txt
> Now serving on http://192.168.1.104:8080/
> aaronslaptop - - [21/Nov/2010 19:05:16] "GET /example.txt HTTP/1.1" 200 -
> ----------------------------------------
> Exception happened during processing of request from ('192.168.1.243', 58388)
> Traceback (most recent call last):
> File "/usr/lib/python2.7/SocketServer.py", line 284, in
> _handle_request_noblock
> self.process_request(request, client_address)
> File "/usr/lib/python2.7/SocketServer.py", line 310, in process_request
> self.finish_request(request, client_address)
> File "/usr/lib/python2.7/SocketServer.py", line 323, in finish_request
> self.RequestHandlerClass(request, client_address, self)
> File "/usr/lib/python2.7/SocketServer.py", line 641, in __init__
> self.finish()
> File "/usr/lib/python2.7/SocketServer.py", line 694, in finish
> self.wfile.flush()
> File "/usr/lib/python2.7/socket.py", line 301, in flush
> self._sock.sendall(view[write_offset:write_offset+buffer_size])
> error: [Errno 32] Broken pipe
> ----------------------------------------
>
> ...I don't do much Python development, and so thought I'd check with
> you to see if you had any suggestions. This has been reproduced by a
> number of users and on numerous machines. Googling for broken pipe
> errors wasn't too enlightening either. Any help you can give on
> working around this issue would be much appreciated!
Uh, I don't really know what is going on there. A "broken pipe" in this
context probably means, that the network connection broke down for some
reason. It would be helpful to see a wireshark dump of this, maybe it
then is possible to discern, what the actual reason for this bug is. It
at least is not some blatantly obvious programming error... :)
I did not see this too frequently here, so I'd be glad if you could
create a wireshark dump and maybe provide it to me. Note that there
might other sensitive data in the wireshark dump, so make sure you check
it before just sending it to me.
Hope this helps,
Simon
--
simon@budig.de http://simon.budig.de/
wget --tries=1 10.0.0.118:8080
--2011-01-08 19:29:11-- http://10.0.0.118:8080/
Connecting to 10.0.0.118:8080... connected.
HTTP request sent, awaiting response... 302 Found
Location: /TESTFILE [following]
--2011-01-08 19:29:11-- http://10.0.0.118:8080/TESTFILE
Connecting to 10.0.0.118:8080... connected.
HTTP request sent, awaiting response... No data received.
Giving up.
woof forks a child process to handle the actual download. And for whatever
reason, we're getting SIGPIPE in that child process. Could the parent
possibly be doing something to close the connection? I don't know,
but I'll try to contact upstream.
Sorry about this. It's basically my fault, because I rebuilt this during
the Great Python Transition of 2010.
-- Chris
an easy fix for Python 2.7.
I'm going to close the bug soon.
Since this package will likely be broken for the foreseeable future, I'm
probably going to send it back to [unsupported].
Most work is done by the 2to3 tool. This at least solved the problem for me.