"the cache has no package" error when wine update is available

Bug #1597537 reported by Bill Scales
68
This bug affects 58 people
Affects Status Importance Assigned to Milestone
update-notifier (Ubuntu)
Fix Released
High
Brian Murray
Xenial
Fix Released
High
Brian Murray

Bug Description

[Test Case]
1) wget https://dl.winehq.org/wine-builds/Release.key
2) sudo apt-key add Release.key
3) sudo apt-add-repository 'https://dl.winehq.org/wine-builds/ubuntu/'
4) sudo apt-get update
5) sudo apt-get install wine-devel-i386=2.10.0~xenial
6) /usr/lib/update-notifier/apt-check -p
7) Observe the following crash:
E: Unknown Error: '<class 'KeyError'>' ("The cache has no package named 'wine-devel-i386'")

With the version of the package from proposed you'll be able to run apt-check -p with no Error being reported.

Original Description
--------------------
Release:

$ lsb_release -rd
Description: Ubuntu 16.04 LTS
Release: 16.04

Pacakge:
$ apt-cache policy update-notifier
update-notifier:
  Installed: 3.168
  Candidate: 3.168
  Version table:
 *** 3.168 500
        500 http://gb.archive.ubuntu.com/ubuntu xenial/main amd64 Packages
        100 /var/lib/dpkg/status

What should happen:

$/usr/lib/update-notifier$ /usr/lib/update-notifier/apt-check -p
wine-devel-amd64
wine-devel
google-chrome-stable
winehq-devel
wine-devel-i386

What actually happened:

$/usr/lib/update-notifier/apt-check -p
E: Unknown Error: '<class 'KeyError'>' ("The cache has no package named 'wine-devel-i386'")

Whats wrong:

apt_check.py line 143:

ignored = ul._is_ignored_phased_update(aptcache[pkg.name])

needs to use a full package name that includes the arch:

ignored = ul._is_ignored_phased_update(aptcache[pkg.get_fullname(False)])

There are many other reports of this problem - the suggested 'solution' in many cases is to run package manager/apt to install all the updates which then 'fixes' the problem until the next
update for wine becomes available.

https://bugs.launchpad.net/pipelight/+bug/1318321
http://askubuntu.com/questions/409243/update-notifier-doesnt-work-cache-issue
https://www.kubuntuforums.net/showthread.php?64504-Update-notifier-doesn-t-work-cache-issue
http://askubuntu.com/questions/581480/unknown-error-class-keyerror-the-cache-has-no-package-named-wine-stagin
http://askubuntu.com/questions/594888/how-can-i-resolve-repeated-package-dependency-error-involving-wine-staging-i38
http://ubuntuforums.org/showthread.php?t=2222677

Related branches

Revision history for this message
Steve Langasek (vorlon) wrote :

Thanks for this diagnosis! I've seen this error many times with cross-installed packages, but never had a chance to track the problem down.

Changed in update-notifier (Ubuntu):
assignee: nobody → Brian Murray (brian-murray)
importance: Undecided → High
status: New → Triaged
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-notifier - 3.170

---------------
update-notifier (3.170) yakkety; urgency=medium

  * data/apt_check.py: use pkg.get_fullname() instead of pkg.name so that
    architectures appear in package names, thanks to Bill Scales for the
    patch. (LP: #1597537)

 -- Brian Murray <email address hidden> Mon, 11 Jul 2016 15:05:27 -0700

Changed in update-notifier (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Guntis (guntis-e) wrote :

> This bug was fixed in the package update-notifier - 3.170

How can I install this package version? i tried

  sudo apt-get install --reinstall update-notifier

and it gave me version number lower than 3.170:

  Setting up update-notifier (3.168.2) ...

Revision history for this message
Brian Murray (brian-murray) wrote :

This is not yet fixed in Ubuntu 16.04, xenial.

Changed in update-notifier (Ubuntu Xenial):
status: New → Triaged
importance: Undecided → High
Revision history for this message
Erich E. Hoover (ehoover) wrote :

@brian-murray I'm really happy to see that there's finally a fix for this, is it targeted for a SRU?

description: updated
description: updated
Revision history for this message
Brian Murray (brian-murray) wrote :

Sorry for the delay, I just found this bug again in a lost Firefox tab. I've uploaded a fix to the unapproved SRU queue for Xenial and it is awaiting review by an SRU team member.

description: updated
Changed in update-notifier (Ubuntu Xenial):
assignee: nobody → Brian Murray (brian-murray)
status: Triaged → In Progress
Revision history for this message
Brian Murray (brian-murray) wrote : Please test proposed package

Hello Bill, or anyone else affected,

Accepted update-notifier into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/update-notifier/3.168.5 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in update-notifier (Ubuntu Xenial):
status: In Progress → Fix Committed
tags: added: verification-needed verification-needed-xenial
Revision history for this message
Jean-Baptiste Lallement (jibel) wrote :

SRU verification for Xenial:
I have reproduced the problem with update-notifier 3.168.4 in xenial-updates and have verified that the version of update-notifier 3.168.5 in -proposed fixes the issue. I also verified that there is no regression with other packages than wine.

Marking as verification-done

tags: added: verification-done verification-done-xenial
removed: verification-needed verification-needed-xenial
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package update-notifier - 3.168.5

---------------
update-notifier (3.168.5) xenial; urgency=medium

  * data/apt_check.py: use pkg.get_fullname() instead of pkg.name so that
    architectures appear in package names, thanks to Bill Scales for the
    patch. (LP: #1597537)

 -- Brian Murray <email address hidden> Fri, 11 Aug 2017 12:06:17 -0700

Changed in update-notifier (Ubuntu Xenial):
status: Fix Committed → Fix Released
Revision history for this message
Łukasz Zemczak (sil2100) wrote : Update Released

The verification of the Stable Release Update for update-notifier has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

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.