[Bug 2080222] Re: get_keyring/get_password trying kdewallet even though it is not installed

Dmitry Shachnev 2080222 at bugs.launchpad.net
Thu Sep 12 09:50:55 UTC 2024


Hi Nathan!

The default keyring backend is ‘chainer’, which tries to find a password
in all possible backends. So when it does not find the password in other
backends, it gets to KWallet backend, and that one produces an error
because it is installed but not configured properly.

I think the right solution here would be to specify explicitly the desired backend (most likely keyring.backends.SecretService.Keyring) in the configuration file as described in the README:
https://github.com/jaraco/keyring/blob/main/README.rst#configuring

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python-keyring in Ubuntu.
https://bugs.launchpad.net/bugs/2080222

Title:
  get_keyring/get_password trying kdewallet even though it is not
  installed

Status in python-keyring package in Ubuntu:
  New

Bug description:
  I got this error dialog attached when trying 'ppa wait ...' (from ppa-
  dev-tools). Sorry but LC_ALL=C LANG=en did not help to get it in
  English.

  I do have kwallet installed as it is pulled in as a dependency by
  Quassel, but rather is normally gnome-keyring in use (that's whence I
  get a password prompt on log in).

  --->
   dpkg -l|grep -E 'keyring|wallet'
  ii  debian-ports-archive-keyring                  2024.02.02                               all          GnuPG archive keys of the debian-ports archive
  ii  gnome-keyring                                 46.2-1                                   amd64        GNOME keyring services (daemon and tools)
  ii  gnome-keyring-pkcs11:amd64                    46.2-1                                   amd64        GNOME keyring module for the PKCS#11 module loading library
  ii  kwallet6                                      6.5.0-0ubuntu2                           amd64        safe desktop-wide storage for passwords - kwalletd daemon
  ii  libkf5wallet-bin                              5.116.0-0ubuntu2                         all          transitional dummy package
  ii  libkf5wallet-data                             5.116.0-0ubuntu2                         all          Secure and unified container for user passwords.
  ii  libkf5wallet5:amd64                           5.116.0-0ubuntu2                         amd64        Secure and unified container for user passwords.
  ii  libkf6wallet-data                             6.5.0-0ubuntu2                           all          safe desktop-wide storage for passwords - data files
  ii  libkf6wallet6:amd64                           6.5.0-0ubuntu2                           amd64        safe desktop-wide storage for passwords - shared library
  ii  libkf6walletbackend6:amd64                    6.5.0-0ubuntu2                           amd64        safe desktop-wide storage for passwords - backend library
  ii  libpam-gnome-keyring:amd64                    46.2-1                                   amd64        PAM module to unlock the GNOME keyring upon login
  ii  python3-keyring                               25.3.0-1                                 all          store and access your passwords safely
  ii  ubuntu-keyring                                2023.11.28.1                             all          GnuPG keys of the Ubuntu archive
  <---

  --->
  % LC_ALL=C LANG=en ./scripts/ppa wait nteodosio:rebuilds
  Traceback (most recent call last):
    File "/home/nteodosio/canonical/ppa-dev-tools/./scripts/ppa", line 1148, in <module>
      retval = main(args)
               ^^^^^^^^^^
    File "/home/nteodosio/canonical/ppa-dev-tools/./scripts/ppa", line 1118, in main
      config = create_config(lp, args)
               ^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/nteodosio/canonical/ppa-dev-tools/./scripts/ppa", line 517, in create_config
      elif lp.me:
           ^^^^^
    File "/home/nteodosio/canonical/ppa-dev-tools/ppa/lp.py", line 134, in __getattr__
      instance = super(Lp, self).__getattribute__('_instance')
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/home/nteodosio/canonical/ppa-dev-tools/ppa/lp.py", line 121, in _instance
      self._get_instance_from_login()
    File "/home/nteodosio/canonical/ppa-dev-tools/ppa/lp.py", line 108, in _get_instance_from_login
      return self._service.login_with(
             ^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 693, in login_with
      return cls._authorize_token_and_login(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/launchpadlib/launchpad.py", line 438, in _authorize_token_and_login
      cached_credentials = credential_store.load(
                           ^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/launchpadlib/credentials.py", line 322, in load
      return self.do_load(unique_key)
             ^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/launchpadlib/credentials.py", line 402, in do_load
      credential_string = keyring.get_password(
                          ^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/keyring/core.py", line 63, in get_password
      return get_keyring().get_password(service_name, username)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/keyring/backends/chainer.py", line 49, in get_password
      password = keyring.get_password(service, username)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    File "/usr/lib/python3/dist-packages/keyring/backends/kwallet.py", line 110, in get_password
      raise KeyringLocked("Failed to unlock the keyring!")
  keyring.errors.KeyringLocked: Failed to unlock the keyring!
  <---

  ProblemType: Bug
  DistroRelease: Ubuntu 24.10
  Package: python3-keyring 25.3.0-1
  ProcVersionSignature: Ubuntu 6.8.0-31.31-generic 6.8.1
  Uname: Linux 6.8.0-31-generic x86_64
  NonfreeKernelModules: zfs
  ApportVersion: 2.30.0-0ubuntu1
  Architecture: amd64
  CasperMD5CheckResult: pass
  Date: Tue Sep 10 11:30:58 2024
  InstallationDate: Installed on 2024-08-25 (16 days ago)
  InstallationMedia: Ubuntu 24.04 LTS "Noble Numbat" - Release amd64 (20240424)
  PackageArchitecture: all
  ProcEnviron:
   LANG=de_DE.UTF-8
   PATH=(custom, no user)
   SHELL=/bin/bash
   TERM=screen-256color
   XDG_RUNTIME_DIR=<set>
  SourcePackage: python-keyring
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python-keyring/+bug/2080222/+subscriptions




More information about the foundations-bugs mailing list