Okay. Well, the stack trace indicates it has to do with reading the uploaded 
file. There's an I/O error at some point reading that. I wouldn't be able to 
say why without some extensive debugging in there.

I should point out that this is all inside Django code where this loading is 
happening, and that's code that I wouldn't expect to be fundamentally broken… 
Hmm.

Is there something like a proxy server between you and the server? Or something 
like nginx/varnish?

Christian

-- 
Christian Hammond - chip...@chipx86.com
Review Board - http://www.reviewboard.org
Beanbag, Inc. - http://www.beanbaginc.com

On May 24, 2013, at 3:39 PM, J Arrizza <cppge...@gmail.com> wrote:

> No, it's quite small:
>  
>     hg diff -r 4 | wc
>     106     539    3737
> 
> 
> 
> On Fri, May 24, 2013 at 3:00 PM, Christian Hammond <chip...@chipx86.com> 
> wrote:
> How big is the diff you're trying to upload? Could it be just too large and 
> timing out?
> 
> Christian
> 
> -- 
> Christian Hammond - chip...@chipx86.com
> Review Board - http://www.reviewboard.org
> Beanbag, Inc. - http://www.beanbaginc.com
> 
> 
> On Fri, May 24, 2013 at 2:40 PM, J Arrizza <cppge...@gmail.com> wrote:
> Hi Christian,
> 
> I fixed the directory owner to be -R www-data:www-data (it was incorrect).
> I deleted the current reviewboard.log
> I pressed "Save" in the Logging Settings
> I redid the hg postreview
> 
> Here is the complete log
> 
> cm5@cm5:/fmcapps/log$ cat reviewboard.log 
> 2013-05-24 21:36:58,071 - INFO -  - Reloading logging settings
> 2013-05-24 21:37:23,119 - ERROR -  - Exception thrown for user jarrizza at 
> http://cm5/reviews/api/review-requests/870/diffs/
> 
> request data read error
> Traceback (most recent call last):
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/base.py",
>  line 111, in get_response
>     response = callback(request, *callback_args, **callback_kwargs)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/views/decorators/cache.py",
>  line 89, in _wrapped_view_func
>     response = view_func(request, *args, **kwargs)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/views/decorators/vary.py",
>  line 19, in inner_func
>     response = func(*args, **kwargs)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Djblets-0.7.14-py2.6.egg/djblets/webapi/resources.py",
>  line 426, in __call__
>     method = request.POST.get('_method', kwargs.get('_method', method))
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/wsgi.py",
>  line 180, in _get_post
>     self._load_post_and_files()
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/__init__.py",
>  line 368, in _load_post_and_files
>     self._post, self._files = self.parse_file_upload(self.META, data)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/__init__.py",
>  line 328, in parse_file_upload
>     return parser.parse()
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 194, in parse
>     for chunk in field_stream:
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 316, in next
>     output = self._producer.next()
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 449, in next
>     for bytes in stream:
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 316, in next
>     output = self._producer.next()
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 377, in next
>     data = self.flo.read(self.chunk_size)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/__init__.py",
>  line 392, in read
>     return self._stream.read(*args, **kwargs)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/wsgi.py",
>  line 104, in read
>     result = self.buffer + self._read_limited(size - len(self.buffer))
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/wsgi.py",
>  line 92, in _read_limited
>     result = self.stream.read(size)
> IOError: request data read error
> 2013-05-24 21:37:23,124 - ERROR - jarrizza - 
> /reviews/api/review-requests/870/diffs/ - Internal Server Error: 
> /reviews/api/review-requests/870/diffs/
> Traceback (most recent call last):
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/base.py",
>  line 111, in get_response
>     response = callback(request, *callback_args, **callback_kwargs)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/views/decorators/cache.py",
>  line 89, in _wrapped_view_func
>     response = view_func(request, *args, **kwargs)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/views/decorators/vary.py",
>  line 19, in inner_func
>     response = func(*args, **kwargs)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Djblets-0.7.14-py2.6.egg/djblets/webapi/resources.py",
>  line 426, in __call__
>     method = request.POST.get('_method', kwargs.get('_method', method))
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/wsgi.py",
>  line 180, in _get_post
>     self._load_post_and_files()
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/__init__.py",
>  line 368, in _load_post_and_files
>     self._post, self._files = self.parse_file_upload(self.META, data)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/__init__.py",
>  line 328, in parse_file_upload
>     return parser.parse()
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 194, in parse
>     for chunk in field_stream:
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 316, in next
>     output = self._producer.next()
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 449, in next
>     for bytes in stream:
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 316, in next
>     output = self._producer.next()
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 377, in next
>     data = self.flo.read(self.chunk_size)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/__init__.py",
>  line 392, in read
>     return self._stream.read(*args, **kwargs)
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/wsgi.py",
>  line 104, in read
>     result = self.buffer + self._read_limited(size - len(self.buffer))
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/wsgi.py",
>  line 92, in _read_limited
>     result = self.stream.read(size)
> IOError: request data read error
> cm5@cm5:/fmcapps/log$ 
> 
> 
> 
> On Fri, May 24, 2013 at 2:28 PM, Christian Hammond <chip...@chipx86.com> 
> wrote:
> Hi,
> 
> Can you check to see what reviewboard.log says when doing this?
> 
> Christian
> 
> -- 
> Christian Hammond - chip...@chipx86.com
> Review Board - http://www.reviewboard.org
> Beanbag, Inc. - http://www.beanbaginc.com
> 
> 
> On Fri, May 24, 2013 at 2:25 PM, J Arrizza <cppge...@gmail.com> wrote:
> We recently upgraded from RB 1.7 Beta 1 to 1.7.7.1 and are now getting 
> Internal Server Errors on one repository, see below for the traceback. 
> 
> - Posting a review creates an empty review, i.e. no diffs.  
> - I can create reviews with diffs in other repositories. Only one repo (so 
> far) that is failing.
> - I checked all the repos and all files and directories are owned by 
> www-data:www-data (the apache user).
> - Tried a 
>     sudo -u www-data hg diff --rev 4
> which worked fine
> 
> Not sure what else to try or even look at. Any help would be greatly 
> appreciated.
> 
> Thanks in advance,
> John
> 
> ====================
> Some config info:
> Server:  Ubuntu 10.04.4
> Python 2.6.5
> Django 1.4.5 (from the traceback
> Repo: Mercurial 2.6.1
> 
> Client: Ubuntu 12.04
> 
> ====================
> Traceback (most recent call last):
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/base.py",
>  line 111, in get_response
>     response = callback(request, *callback_args, **callback_kwargs)
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/views/decorators/cache.py",
>  line 89, in _wrapped_view_func
>     response = view_func(request, *args, **kwargs)
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/views/decorators/vary.py",
>  line 19, in inner_func
>     response = func(*args, **kwargs)
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Djblets-0.7.14-py2.6.egg/djblets/webapi/resources.py",
>  line 426, in __call__
>     method = request.POST.get('_method', kwargs.get('_method', method))
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/wsgi.py",
>  line 180, in _get_post
>     self._load_post_and_files()
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/__init__.py",
>  line 368, in _load_post_and_files
>     self._post, self._files = self.parse_file_upload(self.META, data)
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/__init__.py",
>  line 328, in parse_file_upload
>     return parser.parse()
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 194, in parse
>     for chunk in field_stream:
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 316, in next
>     output = self._producer.next()
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 449, in next
>     for bytes in stream:
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 316, in next
>     output = self._producer.next()
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/multipartparser.py",
>  line 377, in next
>     data = self.flo.read(self.chunk_size)
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/http/__init__.py",
>  line 392, in read
>     return self._stream.read(*args, **kwargs)
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/wsgi.py",
>  line 104, in read
>     result = self.buffer + self._read_limited(size - len(self.buffer))
> 
>   File 
> "/usr/local/lib/python2.6/dist-packages/Django-1.4.5-py2.6.egg/django/core/handlers/wsgi.py",
>  line 92, in _read_limited
>     result = self.stream.read(size)
> 
> IOError: request data read error
> 
> 
> <WSGIRequest
> path:/reviews/api/review-requests/866/diffs/,
> GET:<QueryDict: {}>,
> POST:<could not parse>,
> COOKIES:{'rbsessionid': '1c1195653dd251379c08f10e87179e3e'},
> META:{'CONTENT_LENGTH': '5041123',
>  'CONTENT_TYPE': 'multipart/form-data; 
> boundary=127.0.1.1.1000.3988.1369429444.007.3',
>  'DOCUMENT_ROOT': '/fmcapps',
>  'GATEWAY_INTERFACE': 'CGI/1.1',
>  'HTTP_ACCEPT_ENCODING': 'identity',
>  'HTTP_CONNECTION': 'close',
>  'HTTP_COOKIE': 'rbsessionid=1c1195653dd251379c08f10e87179e3e',
>  'HTTP_HOST': 'cm5',
>  'HTTP_USER_AGENT': 'Python-urllib/2.7',
>  'PATH': '/usr/local/bin:/usr/bin:/bin',
>  'PATH_INFO': u'/reviews/api/review-requests/866/diffs/',
>  'PATH_TRANSLATED': 
> '/fmcapps/reviewboard/htdocs/reviewboard.wsgi/reviews/api/review-requests/866/diffs/',
>  'QUERY_STRING': '',
>  'REMOTE_ADDR': '192.168.169.99',
>  'REMOTE_PORT': '45899',
>  'REQUEST_METHOD': 'POST',
>  'REQUEST_URI': '/reviews/api/review-requests/866/diffs/',
>  'SCRIPT_FILENAME': '/fmcapps/reviewboard/htdocs/reviewboard.wsgi',
>  'SCRIPT_NAME': u'',
>  'SERVER_ADDR': '192.168.171.238',
>  'SERVER_ADMIN': 'webmaster@localhost',
>  'SERVER_NAME': 'cm5',
>  'SERVER_PORT': '80',
>  'SERVER_PROTOCOL': 'HTTP/1.1',
>  'SERVER_SIGNATURE': '<address>Apache/2.2.14 (Ubuntu) Server at cm5 Port 
> 80</address>\n',
>  'SERVER_SOFTWARE': 'Apache/2.2.14 (Ubuntu)',
>  'mod_wsgi.application_group': 'cm5|',
>  'mod_wsgi.callable_object': 'application',
>  'mod_wsgi.listener_host': '',
>  'mod_wsgi.listener_port': '80',
>  'mod_wsgi.process_group': '',
>  'mod_wsgi.reload_mechanism': '0',
>  'mod_wsgi.script_reloading': '1',
>  'mod_wsgi.version': (2, 8),
>  'wsgi.errors': <mod_wsgi.Log object at 0x7f5025a759f0>,
>  'wsgi.file_wrapper': <built-in method file_wrapper of mod_wsgi.Adapter 
> object at 0x7f5027168dc8>,
>  'wsgi.input': <mod_wsgi.Input object at 0x7f5027b2f5b0>,
>  'wsgi.multiprocess': True,
>  'wsgi.multithread': False,
>  'wsgi.run_once': False,
>  'wsgi.url_scheme': 'http',
>  'wsgi.version': (1, 0)}
> 
> -- 
> Want to help the Review Board project? Donate today at 
> http://www.reviewboard.org/donate/
> Happy user? Let us know at http://www.reviewboard.org/users/
> -~----------~----~----~----~------~----~------~--~---
> To unsubscribe from this group, send email to 
> reviewboard+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/reviewboard?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "reviewboard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to reviewboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
> 
> 
> -- 
> Want to help the Review Board project? Donate today at 
> http://www.reviewboard.org/donate/
> Happy user? Let us know at http://www.reviewboard.org/users/
> -~----------~----~----~----~------~----~------~--~---
> To unsubscribe from this group, send email to 
> reviewboard+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/reviewboard?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "reviewboard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to reviewboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
> 
> 
> -- 
> Want to help the Review Board project? Donate today at 
> http://www.reviewboard.org/donate/
> Happy user? Let us know at http://www.reviewboard.org/users/
> -~----------~----~----~----~------~----~------~--~---
> To unsubscribe from this group, send email to 
> reviewboard+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/reviewboard?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "reviewboard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to reviewboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
> 
> 
> -- 
> Want to help the Review Board project? Donate today at 
> http://www.reviewboard.org/donate/
> Happy user? Let us know at http://www.reviewboard.org/users/
> -~----------~----~----~----~------~----~------~--~---
> To unsubscribe from this group, send email to 
> reviewboard+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/reviewboard?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "reviewboard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to reviewboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  
> 
> 
> -- 
> Want to help the Review Board project? Donate today at 
> http://www.reviewboard.org/donate/
> Happy user? Let us know at http://www.reviewboard.org/users/
> -~----------~----~----~----~------~----~------~--~---
> To unsubscribe from this group, send email to 
> reviewboard+unsubscr...@googlegroups.com
> For more options, visit this group at 
> http://groups.google.com/group/reviewboard?hl=en
> --- 
> You received this message because you are subscribed to the Google Groups 
> "reviewboard" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to reviewboard+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>  
>  

-- 
Want to help the Review Board project? Donate today at 
http://www.reviewboard.org/donate/
Happy user? Let us know at http://www.reviewboard.org/users/
-~----------~----~----~----~------~----~------~--~---
To unsubscribe from this group, send email to 
reviewboard+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/reviewboard?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to