Bug#814240: systemd triggers break upgrades within unstable
Michael Biebl
biebl at debian.org
Mon Feb 15 13:41:59 GMT 2016
Control: reassign -1 aptitude
Thanks for the feedback, Guillem.
Reassigning to aptitude.
Zack, I guess the aptitude maintainers will want to know which aptitude
version you are using.
Regards,
Michael
Am 15.02.2016 um 10:48 schrieb Guillem Jover:
> Hi!
>
> On Thu, 2016-02-11 at 00:08:12 +0100, Michael Biebl wrote:
>> Somehow this looks like an issue in dpkg, if it triggers a package which
>> is in an inconsistent state.
>
> After a very quick look it does not seem to me to be an issue in either
> systemd nor dpkg, see below.
>
>> But maybe we just made a mistake in our use of triggers in systemd:
>> https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/tree/debian/systemd.triggers
>> https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/tree/debian/systemd.postinst#n15
>
> These look fine.
>
>> Am 09.02.2016 um 14:12 schrieb Zack Weinberg:
>>> Package: systemd
>>> Version: 228-6
>>> Severity: normal
>>>
>>> libpam-systemd, systemd, and libsystemd0 have = dependencies on each
>>> other. This invariant can be temporarily violated in the middle of a
>>> large upgrade, and AIUI that is normal and to be expected. However,
>>> systemd has several dpkg triggers that can fire while the = dependencies
>>> are violated, and when this happens, the entire upgrade bombs out.
>>> Worse, one of those triggers seems to be armed and immediately fired *by
>>> upgrading libsystemd0*, before dpkg has had a chance to upgrade systemd
>>> proper, so this is guaranteed to happen any time the systemd packages
>>> are upgraded.
>>>
>>> It's possible to recover by manually installing the new versions of
>>> libpam-systemd, systemd, and libsystemd0, but there's got to be some
>>> way to make apt do the Right Thing, right? (I don't really understand
>>> triggers. I thought they were supposed to postpone work until the *end*
>>> of a large upgrade, but they seem to go off all the time in the middle.)
>>>
>>> Example upgrade transcript:
>>>
>>> # aptitude safe-upgrade
>>> [...]
>>> Extracting templates from packages: 100%
>>> Preconfiguring packages ...
>>> [...snip...]
>>> (Reading database ... 289818 files and directories currently installed.)
>>> Preparing to unpack .../linux-image-4.3.0-1-amd64_4.3.5-1_amd64.deb ...
>>> Unpacking linux-image-4.3.0-1-amd64 (4.3.5-1) over (4.3.3-7) ...
>>> Preparing to unpack .../archives/udev_228-6_amd64.deb ...
>>> Unpacking udev (228-6) over (228-5) ...
>>> Preparing to unpack .../libpam-systemd_228-6_amd64.deb ...
>>> Unpacking libpam-systemd:amd64 (228-6) over (228-5) ...
>>> Preparing to unpack .../libsystemd0_228-6_amd64.deb ...
>>> Unpacking libsystemd0:amd64 (228-6) over (228-5) ...
>>> Setting up libsystemd0:amd64 (228-6) ...
>>> Processing triggers for libc-bin (2.21-7) ...
>>> dpkg: dependency problems prevent processing triggers for systemd:
>>> systemd depends on libsystemd0 (= 228-5); however:
>>> Version of libsystemd0:amd64 on system is 228-6.
>>>
>>> dpkg: error processing package systemd (--triggers-only):
>>> dependency problems - leaving triggers unprocessed
>>> Processing triggers for man-db (2.7.5-1) ...
>>> Errors were encountered while processing:
>>> systemd
>>> E: Sub-process /usr/bin/dpkg returned an error code (1)
>
> Well it does not seem like aptitude even tried to unpack systemd
> itself. And then it was requested via --triggers-only to process
> triggers, so any attempt to get the dependencies sorted out will fail.
>
>>> Failed to perform requested operation on package. Trying to recover:
>>> Setting up libquadmath0:amd64 (5.3.1-8) ...
>>> Setting up linux-image-4.3.0-1-amd64 (4.3.5-1) ...
>>> [...snip...]
>>> Setting up libobjc4:amd64 (5.3.1-8) ...
>>> dpkg: dependency problems prevent configuration of libpam-systemd:amd64:
>>> libpam-systemd:amd64 depends on systemd (= 228-6); however:
>>> Version of systemd on system is 228-5.
>>>
>>> dpkg: error processing package libpam-systemd:amd64 (--configure):
>>> dependency problems - leaving unconfigured
>>> Setting up libx32gcc1 (1:5.3.1-8) ...
>>> [...snip...]
>>> Setting up udev (228-6) ...
>>> addgroup: The group `input' already exists as a system group. Exiting.
>>> update-initramfs: deferring update (trigger activated)
>>> dpkg: dependency problems prevent processing triggers for systemd:
>>> systemd depends on libsystemd0 (= 228-5); however:
>>> Version of libsystemd0:amd64 on system is 228-6.
>>>
>>> dpkg: error processing package systemd (--configure):
>>> dependency problems - leaving triggers unprocessed
>>> Setting up libx32asan2 (5.3.1-8) ...
>>> [..snip...]
>>> Processing triggers for libc-bin (2.21-7) ...
>>> Processing triggers for initramfs-tools (0.122) ...
>>> update-initramfs: Generating /boot/initrd.img-4.3.0-1-amd64
>>> Errors were encountered while processing:
>>> libpam-systemd:amd64
>>> systemd
>>> Press Return to continue.
>>>
>>> # aptitude safe-upgrade
>>> Performing actions...
>>> Reading changelogs... Done
>>> Extracting templates from packages: 100%
>>> Preconfiguring packages ...
>>> (Reading database ... 289818 files and directories currently installed.)
>>> Preparing to unpack .../acl_2.2.52-3_amd64.deb ...
>>> Unpacking acl (2.2.52-3) over (2.2.52-2) ...
>>> Preparing to unpack .../libacl1_2.2.52-3_amd64.deb ...
>>> Unpacking libacl1:amd64 (2.2.52-3) over (2.2.52-2) ...
>>> Setting up libacl1:amd64 (2.2.52-3) ...
>>> Processing triggers for libc-bin (2.21-7) ...
>>> dpkg: dependency problems prevent processing triggers for systemd:
>>> systemd depends on libsystemd0 (= 228-5); however:
>>> Version of libsystemd0:amd64 on system is 228-6.
>>>
>>> dpkg: error processing package systemd (--triggers-only):
>>> dependency problems - leaving triggers unprocessed
>>> Processing triggers for man-db (2.7.5-1) ...
>>> Errors were encountered while processing:
>>> systemd
>>> E: Sub-process /usr/bin/dpkg returned an error code (1)
>>> Failed to perform requested operation on package. Trying to recover:
>>> dpkg: dependency problems prevent configuration of libpam-systemd:amd64:
>>> libpam-systemd:amd64 depends on systemd (= 228-6); however:
>>> Version of systemd on system is 228-5.
>>>
>>> dpkg: error processing package libpam-systemd:amd64 (--configure):
>>> dependency problems - leaving unconfigured
>>> dpkg: dependency problems prevent processing triggers for systemd:
>>> systemd depends on libsystemd0 (= 228-5); however:
>>> Version of libsystemd0:amd64 on system is 228-6.
>>>
>>> dpkg: error processing package systemd (--configure):
>>> dependency problems - leaving triggers unprocessed
>>> Setting up acl (2.2.52-3) ...
>>> Errors were encountered while processing:
>>> libpam-systemd:amd64
>>> systemd
>>> Press Return to continue.
>>>
>>> # dpkg -i /var/cache/apt/archives/*systemd*_228-6_amd64.deb
>>> (Reading database ... 289815 files and directories currently installed.)
>>> Preparing to unpack .../libpam-systemd_228-6_amd64.deb ...
>>> Unpacking libpam-systemd:amd64 (228-6) over (228-6) ...
>>> Preparing to unpack .../libsystemd0_228-6_amd64.deb ...
>>> Unpacking libsystemd0:amd64 (228-6) over (228-6) ...
>>> Preparing to unpack .../systemd_228-6_amd64.deb ...
>>> Unpacking systemd (228-6) over (228-5) ...
>>> Preparing to unpack .../systemd-sysv_228-6_amd64.deb ...
>>> Unpacking systemd-sysv (228-6) over (228-5) ...
>>> Setting up libsystemd0:amd64 (228-6) ...
>>> Setting up systemd (228-6) ...
>>> addgroup: The group `systemd-journal' already exists as a system group. Exiting.
>>> Setting up systemd-sysv (228-6) ...
>>> Setting up libpam-systemd:amd64 (228-6) ...
>>> Processing triggers for man-db (2.7.5-1) ...
>>> Processing triggers for dbus (1.10.6-1) ...
>>> Processing triggers for libc-bin (2.21-7) ...
>
> Right, as long as systemd is not unpacked no further progress can be
> made, but that's not something that dpkg controls, it's how it gets
> invoked by the frontend.
>
> Thanks,
> Guillem
>
> _______________________________________________
> Pkg-systemd-maintainers mailing list
> Pkg-systemd-maintainers at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-systemd-maintainers
>
--
Why is it that all of the instruments seeking intelligent life in the
universe are pointed away from Earth?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20160215/0b41167f/attachment-0002.sig>
More information about the Pkg-systemd-maintainers
mailing list