What version are you running?
2.5.6.1
What's the URL of the page containing the problem?
https://{host}/r/766501/diff/1/fragment/16437945/?index=0&1473715156&api_format=json
https://{host}/r/766501/diff/1#index_headerWhat steps will reproduce the problem?
- Install RB 2.5.6.1 using requests 2.11.1
- Upgrade requests to 2.12.1
- ...
- Profit?
What is the expected output? What do you see instead?
The expected output is a side by side diff.
Unexpected error fetching file from http://{git_host}/tools/lipy-scm/blobs/raw/2e179a6739158e3fdb6ea3d0950c92d42334b141/{path}/scm/svn.py: <urlopen error [Errno 0] Error>
This may be a bug in the software, a temporary outage, or an issue with the format of your diff.Please try again, and if you still have trouble, contact support.What operating system are you using? What browser?
Linux
Please provide any additional information below.
Traceback (most recent call last):
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/views.py", line 275, in get
response = renderer.render_to_response(request)
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/renderers.py", line 56, in render_to_response
return HttpResponse(self.render_to_string(request))
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/renderers.py", line 74, in render_to_string
large_data=True)
File "/export/apps/reviewboard/lib/python2.6/site-packages/djblets/cache/backend.py", line 295, in cache_memoize
compress_large_data))
File "/export/apps/reviewboard/lib/python2.6/site-packages/djblets/cache/backend.py", line 249, in cache_memoize_iter
items = items_or_callable()
File "/export/apps/reviewboard/lib/python2.6/site-packages/djblets/cache/backend.py", line 292, in <lambda>
lambda: [lookup_callable()],
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/renderers.py", line 73, in <lambda>
lambda: self.render_to_string_uncached(request),
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/renderers.py", line 87, in render_to_string_uncached
request=request)
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/diffutils.py", line 429, in populate_diff_chunks
chunks = list(generator.get_chunks())
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/chunk_generator.py", line 772, in get_chunks
for chunk in super(DiffChunkGenerator, self).get_chunks(cache_key):
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/chunk_generator.py", line 110, in get_chunks
large_data=True)
File "/export/apps/reviewboard/lib/python2.6/site-packages/djblets/cache/backend.py", line 295, in cache_memoize
compress_large_data))
File "/export/apps/reviewboard/lib/python2.6/site-packages/djblets/cache/backend.py", line 249, in cache_memoize_iter
items = items_or_callable()
File "/export/apps/reviewboard/lib/python2.6/site-packages/djblets/cache/backend.py", line 292, in <lambda>
lambda: [lookup_callable()],
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/chunk_generator.py", line 109, in <lambda>
lambda: list(self.get_chunks_uncached()),
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/chunk_generator.py", line 778, in get_chunks_uncached
self.encoding_list)
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/diffviewer/diffutils.py", line 198, in get_original_file
request=request)
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/scmtools/models.py", line 359, in get_file
large_data=True)[0]
File "/export/apps/reviewboard/lib/python2.6/site-packages/djblets/cache/backend.py", line 295, in cache_memoize
compress_large_data))
File "/export/apps/reviewboard/lib/python2.6/site-packages/djblets/cache/backend.py", line 249, in cache_memoize_iter
items = items_or_callable()
File "/export/apps/reviewboard/lib/python2.6/site-packages/djblets/cache/backend.py", line 292, in <lambda>
lambda: [lookup_callable()],
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/scmtools/models.py", line 358, in <lambda>
request)],
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/scmtools/models.py", line 552, in _get_file_uncached
base_commit_id=base_commit_id)
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/scmtools/git.py", line 92, in get_file
return self.client.get_file(path, revision)
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/scmtools/git.py", line 579, in get_file
path, revision)
File "/export/apps/reviewboard/lib/python2.6/site-packages/reviewboard/scmtools/core.py", line 356, in get_file_http
raise SCMError(msg)
SCMError: Unexpected error fetching file from http://{HOST}/tools/lipy-scm/blobs/raw/2e179a6739158e3fdb6ea3d0950c92d42334b141/{path}/scm/svn.py: <urlopen error [Errno 0] Error>
Review Board doesn't use requests at all. It looks like whatever system you're using on the git server to serve the raw file URLs is broken by that version of requests.
-
- New + ThirdParty
Our git server is on a seperate server and runs on ruby, I don't think it's related.
This is the actual url that is being called via ajax https://{host}/r/783636/diff/1/download/16909959/orig/
This came up with a user recently. It sounds like
requests
installspyOpenSSL
, and that some versions have broken SSL support on some systems. There's a bunch of threads out there like this. We're testing to see if updatingpyOpenSSL
fixes anything.
While looking into some unit tests using httpretty and requests we started running into issues where the tests started failing on newer versions requests. After much digging the newest code on github has a fix for it. This may give some clues to what's going on with reviewboard or at least a workaround.
https://github.com/gabrielfalcao/HTTPretty/commit/70af1f8cf925ef50cb5e72212fb0aa46e1451dc3