Bug#864597: upgrade-reports: jessie -> stretch: gnome fails to upgrade: cycle found while processing triggers
Niels Thykier
niels at thykier.net
Sun Jun 11 10:00:00 UTC 2017
Cyril Brulebois:
> Package: upgrade-reports
> Severity: critical
> Justification: makes upgrade from stable abort
>
> [ X-D-Cc:
> debian-release at lists.debian.org
> pkg-java-maintainers at lists.alioth.debian.org
> pkg-gnome-maintainers at lists.alioth.debian.org ]
>
> Hi,
>
> Regression spotted by Pere in some debian-edu job, but also seen since
> the 2nd of June in normal gnome chroot installation then upgrade from
> jessie to stretch:
> https://jenkins.debian.net/view/edu_devel/job/chroot-installation_jessie_install_education-desktop-gnome_upgrade_to_stretch/
> https://jenkins.debian.net/job/chroot-installation_jessie_install_gnome_upgrade_to_stretch/
>
Hi,
Thanks for reporting this.
Timing being what it is, we need to act fast if we want to fix this for
stretch. I have CC'ed maintainers of (presumably) relevant packages;
please be ready to upload a fix to your package if needed.
Long story short:
=================
* dpkg reports a trigger cycle between gnome-menus and
desktop-file-utils.
* desktop-file-utils has an "interest" (implicit "-await") trigger, so
it is plausible. I have not verified the dependency relationship.
* shared-mime-info also has an "interest" (implicit "-await") trigger.
It may (or may not) be an accomplice to this issue.
* gnome-menus only have "interest-noawait" and should therefore not be
able to start the trigger cycle (but it can be part of one).
Things to do / research:
=======================
* @desktop-file-utils: The trigger seems to be used for a cache. Is
there any reason for using the implicit "-await" trigger or can this
cache update be deferred like the "man-db" cache can?
* @shared-mime-info: The trigger seems to be used for a cache. Is
there any reason for using the implicit "-await" trigger or can this
cache update be deferred like the "man-db" cache can?
* @Andreas: Could you have a look at the upgrade ordering in this case.
You are usually pretty good at spotting if we need Breaks, so I would
be delighted if you could give it a go.
(E.g. if gnome-menus need to break desktop-file-utils in jessie even
if desktop-file-utils in stretch uses a "-noawait" trigger)
I have left the remaining parts of KiBi's mails below for the newly
CC'ed people.
Thanks,
~Niels
> I've managed to reproduce it locally with basically a debootstrap of
> jessie, installation of gnome, then switch sources.list from jessie to
> stretch, then update & upgrade & dist-upgrade.
>
> I've bisected the archive using snapshot.debian.org and found out:
> - 20170601T212625Z = last timestamp found to be OK;
> - 20170602T033358Z = first timestamp to be KO.
>
> Since logs are a bit too heavy for a bug report, I've uploaded them
> there:
> https://people.debian.org/~kibi/jessie2stretch/gnome/
>
> $timestamp.log is the output of the installation & dist-upgrade process,
> while $timestamp.log.clean is a cleaned version (with Get: lines edited
> to remove the package indice and the timestamp, then sort them by block,
> so as to avoid a huge diff).
>
> Then I've generated upgrade.diff by diffing both clean versions:
> https://people.debian.org/~kibi/jessie2stretch/gnome/upgrade.diff
>
> This file consists mainly of some differences which should help us
> pinpoint the exact issue (first part of the diff), but also of a big
> diff at the end, since the OK log goes on with the install while the KO
> one is cut rather quickly. Actual error follows:
> | Unpacking default-jre-headless (2:1.8-58) over (2:1.7-52) ...
> | Processing triggers for libc-bin (2.24-10) ...
> | Processing triggers for hicolor-icon-theme (0.15-1) ...
> | Processing triggers for desktop-file-utils (0.23-1) ...
> | Processing triggers for man-db (2.7.6.1-2) ...
> | Processing triggers for libglib2.0-0:amd64 (2.50.3-2) ...
> | (Reading database ... 129883 files and directories currently installed.)
> | Removing openjdk-7-jre:amd64 (7u111-2.6.7-1~deb8u1) ...
> | Removing openjdk-7-jre-headless:amd64 (7u111-2.6.7-1~deb8u1) ...
> | Removing tzdata-java (2017b-0+deb8u1) ...
> | Processing triggers for hicolor-icon-theme (0.15-1) ...
> | dpkg: cycle found while processing triggers:
> | chain of packages whose triggers are or may be responsible:
> | gnome-menus -> desktop-file-utils
> | packages' pending triggers which are or may be unresolvable:
> | gnome-menus: /usr/share/applications
> | shared-mime-info: /usr/share/mime/packages
> | desktop-file-utils: /usr/share/applications
> | dpkg: error processing package gnome-menus (--remove):
> | triggers looping, abandoned
> | Processing triggers for desktop-file-utils (0.23-1) ...
> | Errors were encountered while processing:
> | gnome-menus
> | E: Sub-process /usr/bin/dpkg returned an error code (1)
>
> By looking at the diff before that, this might have been triggered (no
> pun intended) by the ca-certificates-java update, which included changes
> in the required java version, which might explain why this block was
> present in the OK log but no longer in the KO one?
> | -dpkg: openjdk-7-jre-headless:amd64: dependency problems, but removing anyway as you requested:
> | - ca-certificates-java depends on openjdk-7-jre-headless | java7-runtime-headless; however:
> | - Package openjdk-7-jre-headless:amd64 is to be removed.
> | - Package java7-runtime-headless is not installed.
> | - Package openjdk-8-jre-headless:amd64 which provides java7-runtime-headless is not configured yet.
> | - Package default-jre-headless which provides java7-runtime-headless is not configured yet.
> | - Package openjdk-7-jre-headless:amd64 which provides java7-runtime-headless is to be removed.
> | - ca-certificates-java depends on openjdk-7-jre-headless | java7-runtime-headless; however:
> | - Package openjdk-7-jre-headless:amd64 is to be removed.
> | - Package java7-runtime-headless is not installed.
> | - Package openjdk-8-jre-headless:amd64 which provides java7-runtime-headless is not configured yet.
> | - Package default-jre-headless which provides java7-runtime-headless is not configured yet.
> | - Package openjdk-7-jre-headless:amd64 which provides java7-runtime-headless is to be removed.
> | -
>
> I don't see any immediate solutions (mostly because it's the first dpkg
> triggers cycle I encounter), but this looks like something that really
> should be fixed before the stretch release, hence the severity and the
> x-d-cc list.
>
>
> KiBi.
>
More information about the Pkg-freedesktop-maintainers
mailing list