[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