I'm facing a strange issue with file uploads in the new release.

Anytime I try to upload files bigger than 100k or so, the upload hangs forever. 
Nothing returned to the client, the upload just stalls.

If I stop the request, I get a traceback from my Django app showing that it 
hanged at consuming the input stream [1]. I'm guessing this is somehow related 
to X-Sendfile, as it plays with content-length? But actually in my config I 
have X-Sendfile disabled.

I'm puzzled on this and have no idea where to look further. In fact, I had this 
in production and this bug slipped by, so I had to setup a brand new Amazon EC2 
server with Cherokee 0.99.19 to get things back to normal. This means that I'm 
kinda blocked on this release (and its bugs) until I get it sorted out.

Could this be related to upgrading from 0.99.19 to 0.99.44? Cherokee warned me 
about an error on the config file, which I went and corrected manually. After 
that it launched, so I'm assuming there weren't other erros.

I'm deploying with Ubuntu 9.10 server. The issue happens on both 32bit and 
64bit.

Any help appreciated, it might be an error from my side too, maybe a misconfig.


[1] Traceback:
===
Traceback (most recent call last):

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/core/handlers/base.py",
 line 92, in get_response
   response = callback(request, *callback_args, **callback_kwargs)

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/contrib/auth/decorators.py",
 line 78, in __call__
   return self.view_func(request, *args, **kwargs)

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/db/transaction.py",
 line 240, in _commit_on_success
   res = func(*args, **kw)

 File "/mnt/storage/live/colibri/property/views.py", line 205, in edit
   property_form = PropertyForm(prefix='property', data=request.POST, 
instance=property)

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/core/handlers/wsgi.py",
 line 171, in _get_post
   self._load_post_and_files()

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/core/handlers/wsgi.py",
 line 137, in _load_post_and_files
   self._post, self._files = self.parse_file_upload(self.META, 
self.environ['wsgi.input'])

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/http/__init__.py",
 line 124, in parse_file_upload
   return parser.parse()

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/http/multipartparser.py",
 line 192, in parse
   for chunk in field_stream:

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/http/multipartparser.py",
 line 314, in next
   output = self._producer.next()

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/http/multipartparser.py",
 line 468, in next
   for bytes in stream:

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/http/multipartparser.py",
 line 314, in next
   output = self._producer.next()

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/http/multipartparser.py",
 line 375, in next
   data = self.flo.read(self.chunk_size)

 File 
"/usr/local/lib/python2.6/dist-packages/Django-1.1.1-py2.6.egg/django/http/multipartparser.py",
 line 405, in read
   return self._file.read(num_bytes)

 File "/usr/lib/pymodules/python2.6/flup/server/fcgi_base.py", line 161, in read
   self._waitForData()

 File "/usr/lib/pymodules/python2.6/flup/server/fcgi_base.py", line 147, in 
_waitForData
   self._conn.process_input()

 File "/usr/lib/pymodules/python2.6/flup/server/fcgi_base.py", line 673, in 
process_input
   rec.read(self._sock)

 File "/usr/lib/pymodules/python2.6/flup/server/fcgi_base.py", line 474, in read
   raise EOFError
===


_______________________________________________
Cherokee mailing list
[email protected]
http://lists.octality.com/listinfo/cherokee

Reply via email to