[Bug 2008430] Re: Aptdaemon crashes when there are any non-PEP-440 packages on the system due to setuptools 66.x.x

Eugene Crosser 2008430 at bugs.launchpad.net
Tue Apr 11 18:08:31 UTC 2023


@amberella-777 that is probably because you do not have any python
packages whose version pkg_resources considers "invalid".  In my case,
it currently stumbles on `syncthing` package (from a third party repo)

Apr 11 20:01:01 pccross org.debian.apt[6869]: 20:01:01 AptDaemon [INFO]: Initializing daemon
Apr 11 20:01:01 pccross org.debian.apt[6869]: /usr/lib/python3/dist-packages/aptdaemon/worker/pkworker.py:35: PyGIWarning: PackageKitGlib was imported without specifying a version first. Use gi.require_version('PackageKitGlib', '1.0') before import to ensure that the right version gets loaded.
Apr 11 20:01:01 pccross org.debian.apt[6869]:   from gi.repository import PackageKitGlib as pk
Apr 11 20:01:01 pccross org.debian.apt[6869]: Traceback (most recent call last):
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/aptdaemon/core.py", line 1462, in __init__
Apr 11 20:01:01 pccross org.debian.apt[6869]:     from .worker.pkworker import AptPackageKitWorker
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/aptdaemon/worker/pkworker.py", line 43, in <module>
Apr 11 20:01:01 pccross org.debian.apt[6869]:     from ..pkutils import (bitfield_add, bitfield_remove, bitfield_summarize,
Apr 11 20:01:01 pccross org.debian.apt[6869]: ModuleNotFoundError: No module named 'aptdaemon.pkutils'
Apr 11 20:01:01 pccross org.debian.apt[6869]: During handling of the above exception, another exception occurred:
Apr 11 20:01:01 pccross org.debian.apt[6869]: Traceback (most recent call last):
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/sbin/aptd", line 39, in <module>
Apr 11 20:01:01 pccross org.debian.apt[6869]:     aptdaemon.core.main()
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/aptdaemon/core.py", line 2193, in main
Apr 11 20:01:01 pccross org.debian.apt[6869]:     daemon = AptDaemon(options, bus=bus)
Apr 11 20:01:01 pccross org.debian.apt[6869]:              ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/aptdaemon/core.py", line 1466, in __init__
Apr 11 20:01:01 pccross org.debian.apt[6869]:     self.worker = AptWorker(options.chroot, load_plugins)
Apr 11 20:01:01 pccross org.debian.apt[6869]:                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/aptdaemon/worker/aptworker.py", line 205, in __init__
Apr 11 20:01:01 pccross org.debian.apt[6869]:     self._load_plugins(["modify_cache_after", "modify_cache_before",
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/aptdaemon/worker/__init__.py", line 191, in _load_plugins
Apr 11 20:01:01 pccross org.debian.apt[6869]:     dists, errors = pkg_resources.working_set.find_plugins(env)
Apr 11 20:01:01 pccross org.debian.apt[6869]:                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 907, in find_plugins
Apr 11 20:01:01 pccross org.debian.apt[6869]:     env = Environment(self.entries)
Apr 11 20:01:01 pccross org.debian.apt[6869]:           ^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1044, in __init__
Apr 11 20:01:01 pccross org.debian.apt[6869]:     self.scan(search_path)
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1077, in scan
Apr 11 20:01:01 pccross org.debian.apt[6869]:     self.add(dist)
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 1096, in add
Apr 11 20:01:01 pccross org.debian.apt[6869]:     dists.sort(key=operator.attrgetter('hashcmp'), reverse=True)
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2631, in hashcmp
Apr 11 20:01:01 pccross org.debian.apt[6869]:     self.parsed_version,
Apr 11 20:01:01 pccross org.debian.apt[6869]:     ^^^^^^^^^^^^^^^^^^^
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2679, in parsed_version
Apr 11 20:01:01 pccross org.debian.apt[6869]:     self._parsed_version = parse_version(self.version)
Apr 11 20:01:01 pccross org.debian.apt[6869]:                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Apr 11 20:01:01 pccross org.debian.apt[6869]:   File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/version.py", line 266, in __init__
Apr 11 20:01:01 pccross org.debian.apt[6869]:     raise InvalidVersion(f"Invalid version: '{version}'")
Apr 11 20:01:01 pccross org.debian.apt[6869]: pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: 'v0.9.4.4-ds-git20221205-12a9702d29ab'
Apr 11 20:01:01 pccross org.debian.apt[6869]: (package: syncthing-gtk)

In my view, it is unrealistic to expect that _all_ python packages
installed on a system from different sources will become pep-404
compliant in the near future. And it takes just _one_ non-compliant
python package, that may not even come from an apt repo, to break
aptdaemon.

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

Title:
  Aptdaemon crashes when there are any non-PEP-440 packages on the
  system due to setuptools 66.x.x

Status in aptdaemon package in Ubuntu:
  Confirmed

Bug description:
  "Software Updater" stopped working, it shows message "You stopped the
  check for updates".

  update-manager.desktop[22442]: dbus.exceptions.DBusException:
  org.freedesktop.DBus.Error.NoReply: Message recipient disconnected
  from message bus without replying

  Analysis shows that this is the result of aptdaemon crash when it
  tries to load plugins, and pkg_resources module refuses to parse non
  PEP-440 compliant Python package versions. There are many such python
  packages, one of them "devscripts", as shown in this log, but if I
  remove devscripts, it crashes on other packages.

  org.debian.apt[22501]:   File "/usr/lib/python3/dist-packages/pkg_resources/__init__.py", line 2679, in parsed_version
  org.debian.apt[22501]:     self._parsed_version = parse_version(self.version)
  org.debian.apt[22501]:                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  org.debian.apt[22501]:   File "/usr/lib/python3/dist-packages/pkg_resources/_vendor/packaging/version.py", line 266, in __init__
  org.debian.apt[22501]:     raise InvalidVersion(f"Invalid version: '{version}'")
  org.debian.apt[22501]: pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '2.22.2ubuntu5'
  org.debian.apt[22501]: (package: devscripts)

  There is an upstream ticket against setuptools:
  https://github.com/pypa/setuptools/issues/3772

  It looks like either setuptools has to be fixed or downgraded, or
  aptdaemon modified to not use pkg_resources module.

  ProblemType: Bug
  DistroRelease: Ubuntu 23.04
  Package: aptdaemon 1.1.1+bzr982-0ubuntu42
  ProcVersionSignature: Ubuntu 5.19.0-29.30-generic 5.19.17
  Uname: Linux 5.19.0-29-generic x86_64
  ApportVersion: 2.24.0-0ubuntu2
  Architecture: amd64
  CasperMD5CheckResult: unknown
  CurrentDesktop: ubuntu:GNOME
  Date: Fri Feb 24 00:16:28 2023
  PackageArchitecture: all
  SourcePackage: aptdaemon
  UpgradeStatus: No upgrade log present (probably fresh install)

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/aptdaemon/+bug/2008430/+subscriptions




More information about the foundations-bugs mailing list