API errors with non-UTF-8 commit messages

Bug #1765656 reported by Colin Watson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
turnip
New
Undecided
Unassigned

Bug Description

Seen in production's api.log:

Traceback (most recent call last):
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 130, in handle
    self.handle_request(listener, req, client, addr)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/gunicorn/workers/sync.py", line 171, in handle_request
    respiter = self.wsgi(environ, resp.start_response)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/router.py", line 242, in __call__
    response = self.invoke_subrequest(request, use_tweens=True)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/router.py", line 217, in invoke_subrequest
    response = handle_request(request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/tweens.py", line 46, in excview_tween
    response = view_callable(exc, request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/config/views.py", line 385, in viewresult_to_response
    result = view(context, request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/tweens.py", line 21, in excview_tween
    response = handler(request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/router.py", line 163, in handle_request
    response = view_callable(context, request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/config/views.py", line 596, in __call__
    return view(context, request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/config/views.py", line 329, in attr_view
    return view(context, request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/config/views.py", line 305, in predicate_wrapper
    return view(context, request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/config/views.py", line 355, in rendered_view
    result = view(context, request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/pyramid/config/views.py", line 501, in _requestonly_view
    response = view(request)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/env/local/lib/python2.7/site-packages/cornice/service.py", line 527, in wrapper
    response = view_()
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/turnip/api/views.py", line 33, in validate_path_decorator
    return func(self, self.repo_store, name)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/turnip/api/views.py", line 268, in collection_post
    commits = store.get_commits(repo_store, repo_name, commits)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/turnip/api/store.py", line 462, in get_commits
    commits.append(get_commit(repo_store, repo_name, commit, repo))
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/turnip/api/store.py", line 453, in get_commit
    return format_commit(git_object)
  File "/srv/turnip/payloads/9cf5ffaea234b407f4c60a58966fbc40066a827c/turnip/api/store.py", line 60, in format_commit
    'message': git_object.message,
UnicodeDecodeError: 'gb2312' codec can't decode bytes in position 191-192: illegal multibyte sequence

Unfortunately we don't have the request details (suboptimal logging) so I'm not sure exactly what commit this was, but it seems pretty clear that this is going to have trouble with non-UTF-8 commit messages.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.