This also has implications with the framing issues seen in https://bugs.launchpad.net/swift/+bug/1709185 and https://github.com/eventlet/eventlet/pull/578; I was just uploading from /dev/zero like
$ curl http://saio:8090/v1/AUTH_test/c2/o -T /dev/zero
and would see some logs like
Jul 21 21:08:37 saio proxy-server: ERROR WSGI: code 400, message Bad request syntax ('\x00\x00...
afterwards -- followed by a badly-formatted traceback coming up out of eventlet:
Jul 21 21:08:37 saio proxy-server: STDERR: Traceback (most recent call last): Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/hub.py", line 461, in fire_timers Jul 21 21:08:37 saio proxy-server: STDERR: timer() Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/hubs/timer.py", line 59, in __call__ Jul 21 21:08:37 saio proxy-server: STDERR: cb(*args, **kw) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/event.py", line 175, in _do_send Jul 21 21:08:37 saio proxy-server: STDERR: waiter.switch(result) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/greenthread.py", line 221, in main Jul 21 21:08:37 saio proxy-server: STDERR: result = function(*args, **kwargs) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 818, in process_request Jul 21 21:08:37 saio proxy-server: STDERR: proto.__init__(conn_state, self) Jul 21 21:08:37 saio proxy-server: STDERR: File "/vagrant/swift/swift/common/wsgi.py", line 421, in __init__ Jul 21 21:08:37 saio proxy-server: STDERR: wsgi.HttpProtocol.__init__(self, *args, **kwargs) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 357, in __init__ Jul 21 21:08:37 saio proxy-server: STDERR: self.handle() Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 390, in handle Jul 21 21:08:37 saio proxy-server: STDERR: self.handle_one_request() Jul 21 21:08:37 saio proxy-server: STDERR: File "/vagrant/swift/swift/common/wsgi.py", line 541, in handle_one_request Jul 21 21:08:37 saio proxy-server: STDERR: got = wsgi.HttpProtocol.handle_one_request(self) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 431, in handle_one_request Jul 21 21:08:37 saio proxy-server: STDERR: if not self.parse_request(): Jul 21 21:08:37 saio proxy-server: STDERR: File "/vagrant/swift/swift/common/wsgi.py", line 482, in parse_request Jul 21 21:08:37 saio proxy-server: STDERR: return wsgi.HttpProtocol.parse_request(self) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/lib/python2.7/BaseHTTPServer.py", line 286, in parse_request Jul 21 21:08:37 saio proxy-server: STDERR: self.send_error(400, "Bad request syntax (%r)" % requestline) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/lib/python2.7/BaseHTTPServer.py", line 384, in send_error Jul 21 21:08:37 saio proxy-server: STDERR: self.wfile.write(content) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/lib/python2.7/socket.py", line 328, in write Jul 21 21:08:37 saio proxy-server: STDERR: self.flush() Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/lib/python2.7/socket.py", line 307, in flush Jul 21 21:08:37 saio proxy-server: STDERR: self._sock.sendall(view[write_offset:write_offset+buffer_size]) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py", line 406, in sendall Jul 21 21:08:37 saio proxy-server: STDERR: tail += self.send(data[tail:], flags) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py", line 397, in send Jul 21 21:08:37 saio proxy-server: STDERR: return self._send_loop(self.fd.send, data, flags) Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/lib/python2.7/dist-packages/eventlet/greenio/base.py", line 384, in _send_loop Jul 21 21:08:37 saio proxy-server: STDERR: return send_method(data, *args) Jul 21 21:08:37 saio proxy-server: STDERR: Connection reset by peer
This also has implications with the framing issues seen in https:/ /bugs.launchpad .net/swift/ +bug/1709185 and https:/ /github. com/eventlet/ eventlet/ pull/578; I was just uploading from /dev/zero like
$ curl http:// saio:8090/ v1/AUTH_ test/c2/ o -T /dev/zero
and would see some logs like
Jul 21 21:08:37 saio proxy-server: ERROR WSGI: code 400, message Bad request syntax ('\x00\x00...
afterwards -- followed by a badly-formatted traceback coming up out of eventlet:
Jul 21 21:08:37 saio proxy-server: STDERR: Traceback (most recent call last): lib/python2. 7/dist- packages/ eventlet/ hubs/hub. py", line 461, in fire_timers lib/python2. 7/dist- packages/ eventlet/ hubs/timer. py", line 59, in __call__ lib/python2. 7/dist- packages/ eventlet/ event.py" , line 175, in _do_send switch( result) lib/python2. 7/dist- packages/ eventlet/ greenthread. py", line 221, in main lib/python2. 7/dist- packages/ eventlet/ wsgi.py" , line 818, in process_request _init__ (conn_state, self) swift/swift/ common/ wsgi.py" , line 421, in __init__ ol.__init_ _(self, *args, **kwargs) lib/python2. 7/dist- packages/ eventlet/ wsgi.py" , line 357, in __init__ lib/python2. 7/dist- packages/ eventlet/ wsgi.py" , line 390, in handle one_request( ) swift/swift/ common/ wsgi.py" , line 541, in handle_one_request ol.handle_ one_request( self) lib/python2. 7/dist- packages/ eventlet/ wsgi.py" , line 431, in handle_one_request request( ): swift/swift/ common/ wsgi.py" , line 482, in parse_request ol.parse_ request( self) python2. 7/BaseHTTPServe r.py", line 286, in parse_request error(400, "Bad request syntax (%r)" % requestline) python2. 7/BaseHTTPServe r.py", line 384, in send_error write(content) python2. 7/socket. py", line 328, in write python2. 7/socket. py", line 307, in flush sendall( view[write_ offset: write_offset+ buffer_ size]) lib/python2. 7/dist- packages/ eventlet/ greenio/ base.py" , line 406, in sendall data[tail: ], flags) lib/python2. 7/dist- packages/ eventlet/ greenio/ base.py" , line 397, in send loop(self. fd.send, data, flags) lib/python2. 7/dist- packages/ eventlet/ greenio/ base.py" , line 384, in _send_loop
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: timer()
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: cb(*args, **kw)
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: waiter.
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: result = function(*args, **kwargs)
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: proto._
Jul 21 21:08:37 saio proxy-server: STDERR: File "/vagrant/
Jul 21 21:08:37 saio proxy-server: STDERR: wsgi.HttpProtoc
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: self.handle()
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: self.handle_
Jul 21 21:08:37 saio proxy-server: STDERR: File "/vagrant/
Jul 21 21:08:37 saio proxy-server: STDERR: got = wsgi.HttpProtoc
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: if not self.parse_
Jul 21 21:08:37 saio proxy-server: STDERR: File "/vagrant/
Jul 21 21:08:37 saio proxy-server: STDERR: return wsgi.HttpProtoc
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/lib/
Jul 21 21:08:37 saio proxy-server: STDERR: self.send_
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/lib/
Jul 21 21:08:37 saio proxy-server: STDERR: self.wfile.
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/lib/
Jul 21 21:08:37 saio proxy-server: STDERR: self.flush()
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/lib/
Jul 21 21:08:37 saio proxy-server: STDERR: self._sock.
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: tail += self.send(
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: return self._send_
Jul 21 21:08:37 saio proxy-server: STDERR: File "/usr/local/
Jul 21 21:08:37 saio proxy-server: STDERR: return send_method(data, *args)
Jul 21 21:08:37 saio proxy-server: STDERR: Connection reset by peer