apt.Cache.clear() -> apt.Cache._depcache.init() raises Error

Bug #1871145 reported by errors.ubuntu.com bug bridge
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
python-apt (Ubuntu)
Opinion
Undecided
Unassigned
unattended-upgrades (Ubuntu)
Triaged
Low
Unassigned

Bug Description

Unattended-upgrades 2.1 triggers the following crash in python-apt:

  File "/usr/bin/unattended-upgrade", line 1706, in try_to_upgrade
    cache.mark_upgrade_adjusted(pkg, from_user=not pkg.is_auto_installed)
  File "/usr/bin/unattended-upgrade", line 438, in mark_upgrade_adjusted
    self.call_adjusted(apt.package.Package.mark_upgrade, pkg, **kwargs)
  File "/usr/bin/unattended-upgrade", line 397, in call_adjusted
    self.clear()
  File "/usr/lib/python3/dist-packages/apt/cache.py", line 700, in clear
    self._depcache.init()
apt_pkg.Error: E:The package intellij-idea-ultimate needs to be reinstalled, but I can't find an archive for it.

I think .clear() should not raise an error, but if it should u-u can catch that.

---

The Ubuntu Error Tracker has been receiving reports about a problem regarding unattended-upgrades. This problem was most recently seen with package version 2.1, the problem page at https://errors.ubuntu.com/problem/798f1ab5a4a2784a0fadd6034a875901345682f9 contains more details, including versions of packages affected, stacktrace or traceback, and individual crash reports.
If you do not have access to the Ubuntu Error Tracker and are a software developer, you can request it at http://forms.canonical.com/reports/.

Balint Reczey (rbalint)
summary: - /usr/bin/unattended-
- upgrade:apt_pkg.Error:try_to_upgrade:mark_upgrade_adjusted:call_adjusted:clear:/usr/bin/unattended-
- upgrade@2512:main:run:calculate_upgradable_pkgs:try_to_upgrade:rewind_cache:clear
+ apt.Cache._depcache.init() raises Error
summary: - apt.Cache._depcache.init() raises Error
+ apt.Cache.clear() -> apt.Cache._depcache.init() raises Error
description: updated
Changed in unattended-upgrades (Ubuntu):
status: New → Opinion
Balint Reczey (rbalint)
tags: added: rls-ff-incoming
Revision history for this message
Julian Andres Klode (juliank) wrote :

If clear() fails, you're a bit lost, but I'm not sure what you'd want to do here, the system is completely broken at that point.

Changed in python-apt (Ubuntu):
status: New → Opinion
Changed in unattended-upgrades (Ubuntu):
status: Opinion → New
Revision history for this message
Balint Reczey (rbalint) wrote :

@juliank Well, I have to agree in this particular case. If the package archive was available u-u could try to fix it by even calling dpkg to reinstall it, but the archive was not available.

At least u-u logs this error and includes it in the email now and only after that it raises it again for apport to get it reported.

The error has also been reported with piper broken, maybe there was an issue running the maintainer scripts which calls py3compile:

#!/bin/sh
set -e

# Automatically added by dh_python3:
if which py3compile >/dev/null 2>&1; then
        py3compile -p piper
fi
if which pypy3compile >/dev/null 2>&1; then
        pypy3compile -p piper || true
fi

# End automatically added section

tags: removed: rls-ff-incoming
Changed in unattended-upgrades (Ubuntu):
status: New → Opinion
tags: added: id-5e8dd41b421c45209b1bd8e6
Revision history for this message
Balint Reczey (rbalint) wrote :

Unattended-upgrades may handle this exception by exiting with failure and not re-raising it to the top.

Changed in unattended-upgrades (Ubuntu):
status: Opinion → Triaged
importance: Undecided → Low
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.