[Aptitude-devel] Bug#867006: Bug#867006: aptitude crashes with Uncaught exception: ../../src/ui.cc:1548: void auto_fix_broken(): Assertion "resman->resolver_exists()" failed.

Axel Beckert abe at debian.org
Mon Jul 8 15:56:14 BST 2019


Control: found -1 0.8.11-7

Hi again,

Axel Beckert wrote:
> Sven Joachim wrote:
> > On 2017-07-03 08:14 -0300, Thadeu Lima de Souza Cascardo wrote:
> > > While browsing around the view and marking packages for upgrade,
> > > aptitude crashed with the following exception:
> > >
> > > Uncaught exception: ../../src/ui.cc:1548: void auto_fix_broken(): Assertion "resman->resolver_exists()" failed.
> > 
> > This seems to be the same problem as #866974.  Do you have
> > libcpan-meta-perl installed?
> 
> Not sure if it's really the same problem as in Sven's #866974 case
> (which I can reproduce in the TUI and on the commandline) there was no
> hard exiting (I wouldn't call it crash, but that's nitpicking) due to
> a Assertion being not true. Hence not merging for the moment.

Ran into the same issue as #867006 during a dist-upgrade from stretch
to buster, when upgrading nearly all perl packages (libraries,
Perl's binaries and binaries linked against libperl):

Uncaught exception: ../../src/ui.cc:1548: void auto_fix_broken(): Assertion "resman->resolver_exists()" failed.

It though only happened on a single machine so far, despite it's my
tenth (or so) dist-upgrade from stretch to buster...

Initially it only happened if I pressed "g" in the preview, but after
saving the desired package state by quiting aptitude with "q" and then
starting it again, it immediately happens if I press "g" in the
initial TUI view.

I then tried to get a useful backtrace and installed all debug
packages via "apt install $(find-dbgsym-packages $(which aptitude))".

After that I still was able to reproduce the crash, but I noticed that
there was a dependency conflict:

perl-modules-5.28 breaks libparse-cpan-meta-perl provided by the
(in #866974 by Sven already suspected) libcpan-meta-perl.

Solving this conflict manually (which I'm quite but not 100% sure
hasn't been displayed before) also solved the crash.

Unfortunately as soon as I attach to aptitude with "gdb -p $pid",
aptitude no more seems to react on keyboard input. It though
immediately crashes once I detach gdb from it. :-(

Trying to get the crash on the commandline with "aptitude install"
fails (well, succeeds) as it properly handles the case:

# aptitude install
The following NEW packages will be installed:
  libb-debug-perl{a} libcrypt-openssl-random-perl{a} libdevel-callchecker-perl{a}
  libdynaloader-functions-perl{a} libperl5.28{a} perl-modules-5.28{ab}
The following packages will be REMOVED:
  libdata-random-perl{u} libextutils-pkgconfig-perl{pu} libgnome2-canvas-perl{a}
  libgnome2-gconf-perl{a} libgnome2-perl{a} libgnome2-vfs-perl{a} libgnome2-wnck-perl{a}
  libgtk2-imageview-perl{a} libgtk2-unique-perl{a} libgtkimageview0{pu}
  liblexical-sealrequirehints-perl{pu} libmagickcore-6.q16-3{pu} libnet-dropbox-api-perl{pu}
  libnet-oauth-perl{pu} libnfqueue-perl{ap} libproc-simple-perl{pu} libunique-1.0-0{pu}
  libx11-protocol-other-perl{pu} shutter{ap}
The following packages will be upgraded:
  eperl finch irssi libacme-damn-perl libalgorithm-combinatorics-perl libalgorithm-diff-xs-perl
  libanyevent-perl libapt-pkg-perl libasync-interrupt-perl libautobox-perl libautovivification-perl
  libb-compiling-perl libb-hooks-op-annotation-perl libb-hooks-op-check-perl libb-utils-perl
  libbareword-filehandles-perl libbit-vector-perl libcache-fastmmap-perl libcairo-gobject-perl
  libcairo-perl libcflow-perl libclass-c3-xs-perl libclass-load-xs-perl libclass-methodmaker-perl
  libclass-xsaccessor-perl libclone-perl libcommon-sense-perl libcompress-bzip2-perl
  libcompress-raw-lzma-perl libcoro-perl libcrypt-blowfish-perl libcrypt-cast5-perl
  libcrypt-des-perl libcrypt-eksblowfish-perl libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl
  libcrypt-rijndael-perl libcrypt-smime-perl libcrypt-ssleay-perl libcrypt-twofish-perl
  libcurses-perl libdata-dump-streamer-perl libdata-structure-util-perl libdate-calc-xs-perl
  libdate-pcalc-perl libdatetime-perl libdbd-pg-perl libdbd-sqlite3-perl libdbi-perl
  libdevel-caller-perl libdevel-callsite-perl libdevel-cover-perl libdevel-declare-perl
  libdevel-leak-perl libdevel-lexalias-perl libdevel-nytprof-perl libdevel-overloadinfo-perl
  libdevel-refcount-perl libdevel-size-perl libdevel-stacktrace-perl libdevice-usb-perl
  libdigest-jhash-perl libdigest-sha-perl libdigest-sha3-perl libencode-hanextra-perl libev-perl
  libevent-perl libfcgi-perl libffi-platypus-perl libfile-fcntllock-perl libfile-fnmatch-perl
  libfile-rsyncp-perl libfilesys-df-perl libfilter-perl libforks-perl libgd-perl
  libglib-object-introspection-perl libglib-perl libgtk2-perl libguard-perl libhash-fieldhash-perl
  libhash-storediterator-perl libhtml-parser-perl libhttp-parser-xs-perl libimage-magick-q16-perl
  libindirect-perl libio-aio-perl libio-interface-perl libio-pty-perl libio-socket-multicast-perl
  libipc-sharelite-perl libjson-xs-perl liblist-moreutils-perl liblocale-gettext-perl
  libmail-spf-xs-perl libmoose-perl libmouse-perl libmultidimensional-perl libnet-dbus-glib-perl
  libnet-dbus-perl libnet-idn-encode-perl libnet-ip-xs-perl libnet-ldns-perl libnet-libdnet-perl
  libnet-libidn-perl libnet-patricia-perl libnet-pcap-perl libnet-ssh2-perl libnet-ssleay-perl
  libnetaddr-ip-perl libossp-uuid-perl libpackage-stash-xs-perl libpadwalker-perl libpango-perl
  libparams-classify-perl libparams-util-perl libparams-validate-perl
  libparams-validationcompiler-perl libperlio-gzip-perl libperlio-utf8-strict-perl
  libposix-atfork-perl libposix-strptime-perl libproc-processtable-perl libpurple0 librdf-perl
  librrds-perl libscalar-list-utils-perl libsereal-decoder-perl libsereal-encoder-perl
  libsocket6-perl libsort-key-perl libspf2-2 libstring-similarity-perl libsub-identify-perl
  libsub-name-perl libsvn-perl libsys-cpu-perl libsys-virt-perl libtaint-util-perl libtemplate-perl
  libterm-readkey-perl libterm-readline-gnu-perl libterm-size-perl libterm-size-perl-perl
  libtest-leaktrace-perl libtext-charwidth-perl libtext-csv-xs-perl libtext-iconv-perl
  libtext-levenshteinxs-perl libtext-soundex-perl libtime-y2038-perl libtrue-perl
  libtype-tiny-xs-perl libunicode-linebreak-perl libunicode-map-perl libunicode-map8-perl
  libunicode-string-perl libunicode-utf8-perl libunix-syslog-perl libuuid-perl
  libvariable-magic-perl libversion-perl libwant-perl libwww-curl-perl libx11-guitest-perl
  libxml-libxml-perl libxml-libxslt-perl libxml-parser-perl libyaml-libyaml-perl libyaml-syck-perl
  perl perl-base perl-debug perl-doc perl-stacktrace perl-tk pidgin pidgin-data spfquery texinfo
The following packages are RECOMMENDED but will NOT be installed:
  gstreamer1.0-alsa gstreamer1.0-pulseaudio
180 packages upgraded, 6 newly installed, 19 to remove and 562 not upgraded.
Need to get 21.7 MB/52.9 MB of archives. After unpacking 35.4 MB will be used.
The following packages have unmet dependencies:
 perl-modules-5.28 : Breaks: libparse-cpan-meta-perl (< 2.150010) which is a virtual package, provided by:
                             - perl-modules-5.24 (5.24.1-3+deb9u5), but 5.24.1-3+deb9u5 is installed
                             - libcpan-meta-perl (2.150010-1) provides libparse-cpan-meta-perl=1.4420, but 2.150010-1 is installed
                             - perl (5.28.1-6) provides libparse-cpan-meta-perl=2.150010, but 5.28.1-6 is to be installed

*** ERROR: search aborted by fatal exception.  You may continue
           searching, but some solutions will be unreachable.

I want to resolve dependencies, but no dependency resolver was created.The following NEW packages will be installed:
  libb-debug-perl{a} libcrypt-openssl-random-perl{a} libdevel-callchecker-perl{a}
  libdynaloader-functions-perl{a} libperl5.28{a} perl-modules-5.28{ab}
The following packages will be REMOVED:
  libdata-random-perl{u} libextutils-pkgconfig-perl{pu} libgnome2-canvas-perl{a}
  libgnome2-gconf-perl{a} libgnome2-perl{a} libgnome2-vfs-perl{a} libgnome2-wnck-perl{a}
  libgtk2-imageview-perl{a} libgtk2-unique-perl{a} libgtkimageview0{pu}
  liblexical-sealrequirehints-perl{pu} libmagickcore-6.q16-3{pu} libnet-dropbox-api-perl{pu}
  libnet-oauth-perl{pu} libnfqueue-perl{ap} libproc-simple-perl{pu} libunique-1.0-0{pu}
  libx11-protocol-other-perl{pu} shutter{ap}
The following packages will be upgraded:
  eperl finch irssi libacme-damn-perl libalgorithm-combinatorics-perl libalgorithm-diff-xs-perl
  libanyevent-perl libapt-pkg-perl libasync-interrupt-perl libautobox-perl libautovivification-perl
  libb-compiling-perl libb-hooks-op-annotation-perl libb-hooks-op-check-perl libb-utils-perl
  libbareword-filehandles-perl libbit-vector-perl libcache-fastmmap-perl libcairo-gobject-perl
  libcairo-perl libcflow-perl libclass-c3-xs-perl libclass-load-xs-perl libclass-methodmaker-perl
  libclass-xsaccessor-perl libclone-perl libcommon-sense-perl libcompress-bzip2-perl
  libcompress-raw-lzma-perl libcoro-perl libcrypt-blowfish-perl libcrypt-cast5-perl
  libcrypt-des-perl libcrypt-eksblowfish-perl libcrypt-openssl-bignum-perl libcrypt-openssl-rsa-perl
  libcrypt-rijndael-perl libcrypt-smime-perl libcrypt-ssleay-perl libcrypt-twofish-perl
  libcurses-perl libdata-dump-streamer-perl libdata-structure-util-perl libdate-calc-xs-perl
  libdate-pcalc-perl libdatetime-perl libdbd-pg-perl libdbd-sqlite3-perl libdbi-perl
  libdevel-caller-perl libdevel-callsite-perl libdevel-cover-perl libdevel-declare-perl
  libdevel-leak-perl libdevel-lexalias-perl libdevel-nytprof-perl libdevel-overloadinfo-perl
  libdevel-refcount-perl libdevel-size-perl libdevel-stacktrace-perl libdevice-usb-perl
  libdigest-jhash-perl libdigest-sha-perl libdigest-sha3-perl libencode-hanextra-perl libev-perl
  libevent-perl libfcgi-perl libffi-platypus-perl libfile-fcntllock-perl libfile-fnmatch-perl
  libfile-rsyncp-perl libfilesys-df-perl libfilter-perl libforks-perl libgd-perl
  libglib-object-introspection-perl libglib-perl libgtk2-perl libguard-perl libhash-fieldhash-perl
  libhash-storediterator-perl libhtml-parser-perl libhttp-parser-xs-perl libimage-magick-q16-perl
  libindirect-perl libio-aio-perl libio-interface-perl libio-pty-perl libio-socket-multicast-perl
  libipc-sharelite-perl libjson-xs-perl liblist-moreutils-perl liblocale-gettext-perl
  libmail-spf-xs-perl libmoose-perl libmouse-perl libmultidimensional-perl libnet-dbus-glib-perl
  libnet-dbus-perl libnet-idn-encode-perl libnet-ip-xs-perl libnet-ldns-perl libnet-libdnet-perl
  libnet-libidn-perl libnet-patricia-perl libnet-pcap-perl libnet-ssh2-perl libnet-ssleay-perl
  libnetaddr-ip-perl libossp-uuid-perl libpackage-stash-xs-perl libpadwalker-perl libpango-perl
  libparams-classify-perl libparams-util-perl libparams-validate-perl
  libparams-validationcompiler-perl libperlio-gzip-perl libperlio-utf8-strict-perl
  libposix-atfork-perl libposix-strptime-perl libproc-processtable-perl libpurple0 librdf-perl
  librrds-perl libscalar-list-utils-perl libsereal-decoder-perl libsereal-encoder-perl
  libsocket6-perl libsort-key-perl libspf2-2 libstring-similarity-perl libsub-identify-perl
  libsub-name-perl libsvn-perl libsys-cpu-perl libsys-virt-perl libtaint-util-perl libtemplate-perl
  libterm-readkey-perl libterm-readline-gnu-perl libterm-size-perl libterm-size-perl-perl
  libtest-leaktrace-perl libtext-charwidth-perl libtext-csv-xs-perl libtext-iconv-perl
  libtext-levenshteinxs-perl libtext-soundex-perl libtime-y2038-perl libtrue-perl
  libtype-tiny-xs-perl libunicode-linebreak-perl libunicode-map-perl libunicode-map8-perl
  libunicode-string-perl libunicode-utf8-perl libunix-syslog-perl libuuid-perl
  libvariable-magic-perl libversion-perl libwant-perl libwww-curl-perl libx11-guitest-perl
  libxml-libxml-perl libxml-libxslt-perl libxml-parser-perl libyaml-libyaml-perl libyaml-syck-perl
  perl perl-base perl-debug perl-doc perl-stacktrace perl-tk pidgin pidgin-data spfquery texinfo
The following packages are RECOMMENDED but will NOT be installed:
  gstreamer1.0-alsa gstreamer1.0-pulseaudio
180 packages upgraded, 6 newly installed, 19 to remove and 562 not upgraded.
Need to get 21.7 MB/52.9 MB of archives. After unpacking 35.4 MB will be used.
aptitude failed to find a solution to these dependencies.  You can solve them yourself by hand or type 'n' to quit.
The following packages have unmet dependencies:
 perl-modules-5.28 : Breaks: libparse-cpan-meta-perl (< 2.150010) which is a virtual package, provided by:
                             - perl-modules-5.24 (5.24.1-3+deb9u5), but 5.24.1-3+deb9u5 is installed
                             - libcpan-meta-perl (2.150010-1) provides libparse-cpan-meta-perl=1.4420, but 2.150010-1 is installed
                             - perl (5.28.1-6) provides libparse-cpan-meta-perl=2.150010, but 5.28.1-6 is to be installed

Resolve these dependencies by hand? [N/+/-/_/:/?]

So potential workarounds are:

A) Getting into the state just before the crash, exit aptitude with
   "q" gracefully, start it again, solve the shown conflict manually
   (or as suggested if that works) and then continue.

B) Getting into the state just before the crash, exit aptitude with
   "q" gracefully, then call "aptitude install" and work one round
   without the TUI.

This time I solved it with (A), but I'm not sure if it works that way
every time, hence also the probably always working solution (B).

		Regards, Axel
-- 
 ,''`.  |  Axel Beckert <abe at debian.org>, https://people.debian.org/~abe/
: :' :  |  Debian Developer, ftp.ch.debian.org Admin
`. `'   |  4096R: 2517 B724 C5F6 CA99 5329  6E61 2FF9 CD59 6126 16B5
  `-    |  1024D: F067 EA27 26B9 C3FC 1486  202E C09E 1D89 9593 0EDE



More information about the Aptitude-devel mailing list