Bug 255965

Summary: git-webkit: error when importing keyring module at credentials.py
Product: WebKit Reporter: Carlos Alberto Lopez Perez <clopez>
Component: Tools / TestsAssignee: Carlos Alberto Lopez Perez <clopez>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, jbedard, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   

Description Carlos Alberto Lopez Perez 2023-04-25 17:17:19 PDT
On the last weeks my environment started to give errors anytime I try to use git-webkit

It is not saving the credentials properly and is asking me everytime about those when I try to run 'git-webkit pull-request'

I debugged this an it seems is failing to import the keyring module at the right time.
Comment 1 Carlos Alberto Lopez Perez 2023-04-25 17:59:29 PDT
The issue happens as follows:

1) If I import early the module keyring it imports my system one's and that gets cached, so the later lazy imports reuse this module that works


2) If I don't import early then it tries to import the keyring module from WebKit's autoinstalled modules which is failing for me because of a missing dep typing_extensions

Traceback (most recent call last):
  File "Tools/Scripts/git-webkit", line 87, in <module>
    classifier=is_webkit_filter(classifier()),
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/__init__.py", line 189, in main
    canonical_svn=canonical_svn,
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/credentials.py", line 54, in main
    username, password = rmt.credentials()
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py", line 393, in credentials
    return self.tracker.credentials(required=required, validate=validate, save_in_keyring=save_in_keyring)
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py", line 153, in credentials
    save_in_keyring=save_in_keyring,
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/credentials.py", line 34, in credentials
    import keyring
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/autoinstalled/python-3-x86_64/keyring/__init__.py", line 1, in <module>
    from .core import (
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/autoinstalled/python-3-x86_64/keyring/core.py", line 11, in <module>
    from . import backend, credentials
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/autoinstalled/python-3-x86_64/keyring/backend.py", line 12, in <module>
    import importlib_metadata as metadata
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/autoinstalled/python-3-x86_64/importlib_metadata/__init__.py", line 17, in <module>
    from . import _adapters, _meta
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/autoinstalled/python-3-x86_64/importlib_metadata/_meta.py", line 1, in <module>
    from ._compat import Protocol
  File "/home/clopez/webkit/webkit/Tools/Scripts/libraries/autoinstalled/python-3-x86_64/importlib_metadata/_compat.py", line 16, in <module>
    from typing_extensions import Protocol  # type: ignore
ModuleNotFoundError: No module named 'typing_extensions'
Comment 2 Carlos Alberto Lopez Perez 2023-04-25 18:00:57 PDT
Pull request: https://github.com/WebKit/WebKit/pull/13186
Comment 3 EWS 2023-04-26 04:20:34 PDT
Committed 263410@main (50ae54522faf): <https://commits.webkit.org/263410@main>

Reviewed commits have been landed. Closing PR #13186 and removing active labels.
Comment 4 Radar WebKit Bug Importer 2023-04-26 04:21:22 PDT
<rdar://problem/108551478>