New issue
Advanced search Search tips

Issue 914564 link

Starred by 5 users

Issue metadata

Status: Untriaged
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Bug-Regression



Sign in to add a comment

git cl fails with "SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)"

Project Member Reported by mar...@mwiacek.com, Dec 12

Issue description

It started hour - two ago.

Steps:

1. git branch new_branch
2. git checkout new_branch
3. git commit -a
4. git cl upload
5. git commit -a
6. git cl upload

During uploading second change (second set) in branch I receive:

Traceback (most recent call last):
  File "/usr/bin/depot_tools/metrics.py", line 262, in print_notice_and_exit
    yield
  File "/usr/bin/depot_tools/git_cl.py", line 5538, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/usr/bin/depot_tools/git_cl.py", line 5520, in main
    return dispatcher.execute(OptionParser(), argv)
  File "/usr/bin/depot_tools/subcommand.py", line 252, in execute
    return command(parser, args[1:])
  File "/usr/bin/depot_tools/git_cl.py", line 4545, in CMDupload
    return cl.CMDUpload(options, args, orig_args)
  File "/usr/bin/depot_tools/git_cl.py", line 1562, in CMDUpload
    self._codereview_impl.EnsureCanUploadPatchset(force=options.force)
  File "/usr/bin/depot_tools/git_cl.py", line 1982, in EnsureCanUploadPatchset
    ['DETAILED_ACCOUNTS', 'CURRENT_REVISION', 'CURRENT_COMMIT', 'LABELS'])
  File "/usr/bin/depot_tools/git_cl.py", line 2223, in _GetChangeDetail
    self._GetGerritHost(), self._GerritChangeIdentifier(), options)
  File "/usr/bin/depot_tools/gerrit_util.py", line 649, in GetChangeDetail
    return ReadHttpJsonResponse(CreateHttpConn(host, path))
  File "/usr/bin/depot_tools/gerrit_util.py", line 483, in ReadHttpJsonResponse
    fh = ReadHttpResponse(conn, accept_statuses)
  File "/usr/bin/depot_tools/gerrit_util.py", line 415, in ReadHttpResponse
    response, contents = conn.request(**conn.req_params)
  File "/usr/bin/depot_tools/third_party/httplib2/__init__.py", line 1609, in request
    (response, content) = self._request(conn, authority, uri, request_uri, method, body, headers, redirections, cachekey)
  File "/usr/bin/depot_tools/third_party/httplib2/__init__.py", line 1351, in _request
    (response, content) = self._conn_request(conn, request_uri, method, body, headers)
  File "/usr/bin/depot_tools/third_party/httplib2/__init__.py", line 1272, in _conn_request
    conn.connect()
  File "/usr/bin/depot_tools/third_party/httplib2/__init__.py", line 1059, in connect
    raise SSLHandshakeError(e)
SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)

I checked of course various certificates in my Ubuntu, tried to refresh my login token, update depot_tools, etc. etc. 

And nothing -> it seems to be on server side.
 
Description: Show this description
BTW, can we see certificate details in such situation?
Components: Infra>SDK
Labels: -Restrict-View-Google
unrestricting
gclient sync seems to update depot_tools, after reverting 1260043 I can work again...
Components: -Infra
I'm not sure if this is related, but I'm getting a CERTIFICATE_VERIFY_FAILED with a different call stack every time I try git cl upload or git cl try in a Skia checkout. I've tried syncing depot_tools and refreshing my .gitcookies.

Traceback (most recent call last):
  File "/home/bsalomon/src/depot_tools/metrics.py", line 262, in print_notice_and_exit
    yield
  File "/home/bsalomon/src/depot_tools/git_cl.py", line 5538, in <module>
    sys.exit(main(sys.argv[1:]))
  File "/home/bsalomon/src/depot_tools/git_cl.py", line 5520, in main
    return dispatcher.execute(OptionParser(), argv)
  File "/home/bsalomon/src/depot_tools/subcommand.py", line 252, in execute
    return command(parser, args[1:])
  File "/home/bsalomon/src/depot_tools/git_cl.py", line 4545, in CMDupload
    return cl.CMDUpload(options, args, orig_args)
  File "/home/bsalomon/src/depot_tools/git_cl.py", line 1591, in CMDUpload
    ret = self.CMDUploadChange(options, git_diff_args, custom_cl_base, change)
  File "/home/bsalomon/src/depot_tools/git_cl.py", line 2581, in CMDUploadChange
    self._GetGerritHost(), reviewers + cc)
  File "/home/bsalomon/src/depot_tools/gerrit_util.py", line 953, in ValidAccounts
    for account, details in pool.map(get_one, accounts):
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 253, in map
    return self.map_async(func, iterable, chunksize).get()
  File "/usr/lib/python2.7/multiprocessing/pool.py", line 572, in get
    raise self._value
SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)

Indeed it does.
Summary: git cl fails with "SSLHandshakeError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:727)" (was: Every second "git cl upload" doesn't work)
Is this still happening?

Comment 13 by peter@lekensteyn.nl, Jan 20 (2 days ago)

Still happening with Python 2.7.15 on Arch Linux. The problem is that chromium-review.googlesource.com started requiring SNI. httplib2 0.9.2 does not support that.

Attached is a quick patch that made "git cl upload" work again.

Upstream seems to have this fixed since 0.10.1:
https://github.com/httplib2/httplib2/commit/8aaecf4496a2da0e902977e623a2d5e65528b6de
httplib2-sni-fix.diff
2.6 KB Download

Sign in to add a comment