Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Package: dpkg Version: 1.18.18 Severity: serious User: debian...@lists.debian.org Usertags: piuparts Control: affects -1 + libcrypt-cracklib-perl Hi, I just noticed this trigger related problem during a piuparts upgrade test of libcrypt-cracklib-perl from jessie to stretch. I can reproduce it on both amd64 and i386, but it requires --install-recommends to show up. If you need more debug info, I can now easily rerun the failed tests and enter the chroot after the failure to collect more info. >From the attached log (scroll to the bottom...): [...] Preparing to unpack .../archives/bash_4.4-4_i386.deb ... Unpacking bash (4.4-4) over (4.3-11+deb8u1) ... dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--con
Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Followup-For: Bug #854554 Control: found -1 2.9.2-4 Control: affects -1 + libcrypt-cracklib-perl Hi, this problem has been solved completely, yet, since nothing prevents the old cracklib-runtime from being triggered during the upgrade. (Could be a problem in jessie's apt and therefore needs to worked around.) I just verified that this can be solved by the following change: Package: libcrack2 Breaks: cracklib-runtime (<< 2.9.2-4) This will cause the old cracklib-runtime to be either deconfigured or the new cracklib-runtime be unpacked (but not configured) before the new libcrack2 gets unpacked, preventing the old triggers from being run. (The problem was dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. i.e. that's cracklib-runtime from jessie) Andreas
Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
On Thu, 27 Apr 2017 18:10:17 +0200 Andreas Beckmann wrote: > Followup-For: Bug #854554 > Control: found -1 2.9.2-4 > Control: affects -1 + libcrypt-cracklib-perl > > Hi, > Hi Jan, Thanks for fixing the original part of this bug. Andreas noticed a deficiency in the suggested implementation that affects the current version. Could I convince you to apply the following fix as well? Thanks, ~Niels > this problem has been solved completely, yet, since nothing prevents the > old cracklib-runtime from being triggered during the upgrade. (Could be > a problem in jessie's apt and therefore needs to worked around.) > I just verified that this can be solved by the following change: > > Package: libcrack2 > Breaks: cracklib-runtime (<< 2.9.2-4) > > This will cause the old cracklib-runtime to be either deconfigured or > the new cracklib-runtime be unpacked (but not configured) before the new > libcrack2 gets unpacked, preventing the old triggers from being run. > > (The problem was > > dpkg: error processing package cracklib-runtime (--configure): >dependency problems - leaving triggers unprocessed > dpkg: dependency problems prevent processing triggers for cracklib-runtime: >cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: > Package libcrack2:i386 is not configured yet. > > i.e. that's cracklib-runtime from jessie) > > > > Andreas > >
Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Hi! [ Sorry for taking so much time to dig into this. Reproducing, checking and diagnosing trigger issues imply usually spending significant amounts of time on it, which I didn't have back then, and it's a bit of a drag to be the "support channel" for trigger issues too. :) Anyway, thanks go to Niels, who by looking into this, prompted me to do the same. ;) ] On Wed, 2017-02-08 at 11:42:29 +0100, Andreas Beckmann wrote: > Package: dpkg > Version: 1.18.18 > Severity: serious > User: debian...@lists.debian.org > Usertags: piuparts > Control: affects -1 + libcrypt-cracklib-perl > I just noticed this trigger related problem during a piuparts upgrade > test of libcrypt-cracklib-perl from jessie to stretch. I can reproduce > it on both amd64 and i386, but it requires --install-recommends to show > up. If you need more debug info, I can now easily rerun the failed tests > and enter the chroot after the failure to collect more info. > > >From the attached log (scroll to the bottom...): > > [...] > Preparing to unpack .../archives/bash_4.4-4_i386.deb ... > Unpacking bash (4.4-4) over (4.3-11+deb8u1) ... > dpkg: dependency problems prevent processing triggers for cracklib-runtime: >cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: > Package libcrack2:i386 is not configured yet. […] > dpkg: too many errors, stopping > Errors were encountered while processing: >cracklib-runtime […] >cracklib-runtime > Processing wE: Sub-process /usr/bin/dpkg returned an error code (1) I think this is an issue with apt explicitly asking dpkg to configure only cracklib-runtime when its dependencies are not satisfied because they are awaiting on trigger processing, and apt is not asking for those other packages to be configured too. So dpkg cannot fulfill the request. I think a simple reproducer on a clean chroot, is to: $ cd /var/cache/apt/archives $ apt-get install --install-recommends libcrypt-cracklib-perl $ dpkg --unpack libcrack2_*.deb $ dpkg --install wamerican_*.deb $ dpkg --configure cracklib-runtime My expectation is that after the reported state is found on piuparts, running: $ dpkg --configure --pending or even something like: $ dpkg --configure cracklib-runtime libcrack2 would let dpkg configure that package correctly w/o complaining about the unsatisfiable dependency. Andreas, is that indeed the case? If it is then this needs to be reassigned to apt. Thanks, Guillem
Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
On 2017-04-02 01:37, Guillem Jover wrote: > My expectation is that after the reported state is found on piuparts, > running: > > $ dpkg --configure --pending > > or even something like: > > $ dpkg --configure cracklib-runtime libcrack2 > > would let dpkg configure that package correctly w/o complaining about > the unsatisfiable dependency. Andreas, is that indeed the case? If it > is then this needs to be reassigned to apt. OK, let's try that in the chroot after the failure occurred: # # just verify that the problem is still there # dpkg --configure cracklib-runtime dpkg: dependency problems prevent processing triggers for cracklib-runtime: cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: Package libcrack2:i386 is not configured yet. dpkg: error processing package cracklib-runtime (--configure): dependency problems - leaving triggers unprocessed Errors were encountered while processing: cracklib-runtime # dpkg --configure cracklib-runtime libcrack2 Setting up libcrack2:i386 (2.9.2-3+b1) ... Processing triggers for cracklib-runtime (2.9.2-1) ... Processing triggers for libc-bin (2.24-9) ... # dpkg --configure --pending Setting up perl-modules-5.24 (5.24.1-2) ... Setting up libgdbm3:i386 (1.8.3-14) ... Setting up libperl5.24:i386 (5.24.1-2) ... Setting up bash (4.4-4+b1) ... [...] So the fault is in apt ... and that's jessie's version of apt that is running the upgrade :-( If I start the upgrade with upgrading only apt (and its dependencies) and thereafter running the dist-upgrade (with squeeze's version of apt), I cannot reproduce the bug. Andreas
Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Control: reassign -1 apt [ Please see the bug archive for more context. ] Hi! On Wed, 2017-04-05 at 22:01:17 +0200, Andreas Beckmann wrote: > On 2017-04-02 01:37, Guillem Jover wrote: > > My expectation is that after the reported state is found on piuparts, > > running: > > > > $ dpkg --configure --pending > > > > or even something like: > > > > $ dpkg --configure cracklib-runtime libcrack2 > > > > would let dpkg configure that package correctly w/o complaining about > > the unsatisfiable dependency. Andreas, is that indeed the case? If it > > is then this needs to be reassigned to apt. > > OK, let's try that in the chroot after the failure occurred: > > # # just verify that the problem is still there > # dpkg --configure cracklib-runtime > dpkg: dependency problems prevent processing triggers for cracklib-runtime: > cracklib-runtime depends on libcrack2 (>= 2.9.2-1); however: > Package libcrack2:i386 is not configured yet. > > dpkg: error processing package cracklib-runtime (--configure): > dependency problems - leaving triggers unprocessed > Errors were encountered while processing: > cracklib-runtime > > # dpkg --configure cracklib-runtime libcrack2 > Setting up libcrack2:i386 (2.9.2-3+b1) ... > Processing triggers for cracklib-runtime (2.9.2-1) ... > Processing triggers for libc-bin (2.24-9) ... > > # dpkg --configure --pending > Setting up perl-modules-5.24 (5.24.1-2) ... > Setting up libgdbm3:i386 (1.8.3-14) ... > Setting up libperl5.24:i386 (5.24.1-2) ... > Setting up bash (4.4-4+b1) ... > [...] > > > So the fault is in apt ... and that's jessie's version of apt that is > running the upgrade :-( > > If I start the upgrade with upgrading only apt (and its dependencies) > and thereafter running the dist-upgrade (with squeeze's version of apt), > I cannot reproduce the bug. Thanks for verifying! Reassigned now to apt. Regards, Guillem
Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Control: reassign -1 libcrypt-cracklib-perl 1.7-2 # beware, this is an RC bug! [CC'ed cracklib2 & perl maintainers as it seems to be some "funny" interaction between packages in their responsibility space.] On Sat, Apr 08, 2017 at 04:50:15AM +0200, Guillem Jover wrote: > [ Please see the bug archive for more context. ] […] > > So the fault is in apt ... and that's jessie's version of apt that is > > running the upgrade :-( > > > > If I start the upgrade with upgrading only apt (and its dependencies) > > and thereafter running the dist-upgrade (with squeeze's version of apt), > > I cannot reproduce the bug. > > Thanks for verifying! Reassigned now to apt. So, given that apt works in newer versions there remains no action for the apt team. The responsibility of making an upgrade work with whatever we have got (bugs included) is by the individual package maintainer(s) – simply because we (or the release team, or …) can't handle 5 source packages in a reasonable way. [and upgrading apt/dpkg/others first doesn't work all the time due to … wait for it … dependencies]. That said, we are happy to help of course. The basic idea of convincing apt to do something it didn't do on its own is adding/removing dependencies (mostly of the type Depends or Breaks/Conflicts) – that tends to be helped by some "field knowledge" about the packages in question which is why the maintainers are best, but given guessing and creativity are involved anyone can help! The easiest (although potentially time-consuming) way of finding the right combination is to make a chroot with the "before upgrade" setup (= as in the next step would be 'apt-get dist-upgrade' – so update done), copy the entire chroot, modify the /var/lib/apt/lists/*Packages file so that it has the "new" dependencies and run the dist-upgrade. Repeat from copy until happy. In your case you can potentially speed that up by looking at the output of "-o Debug::pkgDpkgPm=1" – that shows how dpkg is called (it doesn't call dpkg!) – which makes the iteration faster at the expense of you trying to make sense of that: Having "--configure libcrack2" before the other crack-related packages might be your target (see guess below). Good luck & as said, ask if you are stuck (please provide the [lengthy] output of -o Debug::pkgPackageManager=1 -o Debug::pkgDpkgPm=1). We are reachable via de...@lists.debian.org or #debian-apt on IRC. That said, educated guess follows: Looks like apt acts on libcrypt-cracklib-perl early as it looks simple enough (after upgrading perl) as the dependency on libcrack2 is already satisfied at the start of the upgrade (as its a version before jessie). As the dependencies of libcrack2 are very lightweight (just libc6 which is done at that point) it might already work if you artificially require a stretch-version here (= guess, not tested at all). Best regards David Kalnischkies, who is in a love-hate relationship with triggers signature.asc Description: PGP signature
Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Control: reassign -1 cracklib-runtime Control: forcemerge -1 cracklib2 Control: severity 854554 grave David Kalnischkies: > Control: reassign -1 libcrypt-cracklib-perl 1.7-2 > # beware, this is an RC bug! > > [CC'ed cracklib2 & perl maintainers as it seems to be some "funny" > interaction between packages in their responsibility space.] > > [...] > > > That said, educated guess follows: > > Looks like apt acts on libcrypt-cracklib-perl early as it looks simple > enough (after upgrading perl) as the dependency on libcrack2 is already > satisfied at the start of the upgrade (as its a version before jessie). > As the dependencies of libcrack2 are very lightweight (just libc6 which > is done at that point) it might already work if you artificially require > a stretch-version here (= guess, not tested at all). > > > Best regards > > David Kalnischkies, who is in a love-hate relationship with triggers > Hi, Actually, I think a much better solution would be to solve #859307, which would be the correct long term solution and should solve this upgrade issue (as -noawait triggers would not be subject to this problem). Thanks, ~Niels
Processed: Re: Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Processing control commands: > reassign -1 apt Bug #854554 [dpkg] dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch Bug reassigned from package 'dpkg' to 'apt'. No longer marked as found in versions dpkg/1.18.18. Ignoring request to alter fixed versions of bug #854554 to the same values previously set -- 854554: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854554 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Processed: Re: Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Processing control commands: > reassign -1 libcrypt-cracklib-perl 1.7-2 Bug #854554 [apt] dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch Bug reassigned from package 'apt' to 'libcrypt-cracklib-perl'. Ignoring request to alter found versions of bug #854554 to the same values previously set Ignoring request to alter fixed versions of bug #854554 to the same values previously set Bug #854554 [libcrypt-cracklib-perl] dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch Marked as found in versions libcrypt-cracklib-perl/1.7-2. -- 854554: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854554 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
Processed (with 1 error): Re: Bug#854554: dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch
Processing control commands: > reassign -1 cracklib-runtime Bug #854554 [libcrypt-cracklib-perl] dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch Bug reassigned from package 'libcrypt-cracklib-perl' to 'cracklib-runtime'. No longer marked as found in versions libcrypt-cracklib-perl/1.7-2. Ignoring request to alter fixed versions of bug #854554 to the same values previously set > forcemerge -1 cracklib2 Unknown command or malformed arguments to command. > severity 854554 grave Bug #854554 [cracklib-runtime] dpkg: trigger problem with cracklib-runtime while upgrading libcrypt-cracklib-perl from jessie to stretch Severity set to 'grave' from 'serious' -- 854554: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=854554 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems