Dependency cycle prevents upgrade of libsasl2-2

Bug #194140 reported by Martin-Éric Racine
24
This bug affects 2 people
Affects Status Importance Assigned to Milestone
cyrus-sasl2 (Ubuntu)
Invalid
Low
Mathias Gug

Bug Description

Calculating upgrade... Done
The following NEW packages will be installed:
  libmagick++10
The following packages will be upgraded:
  apt apt-utils devscripts gcc-3.3-base gnome-app-install gnome-applets gnome-applets-data gnome-pilot gnome-pilot-conduits
  gstreamer0.10-alsa gstreamer0.10-esd gstreamer0.10-ffmpeg gstreamer0.10-gnomevfs gstreamer0.10-plugins-base
  gstreamer0.10-plugins-base-apps gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-x hal inkscape libgnome-pilot2
  libgstreamer-plugins-base0.10-0 libgtkhtml3.8-15 libhal-storage1 libhal1 libsasl2-2 libsasl2-modules synaptic xserver-xorg-core
  xserver-xorg-video-intel
30 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/28.4MB of archives.
After this operation, 553kB of additional disk space will be used.
Do you want to continue [Y/n]? y
E: Internal Error, Could not perform immediate configuration (2) on libsasl2-2
E: Some packages could not be upgraded.

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

The recursion seems to be between libsasl2-2 and libsasl2-modules. Manually installing those with dpkg -i /var/cache/apt/archives/libsals2* succeeds and allows Aptitude to continue the upgrade thereafter.

Revision history for this message
Neal Bussett (nealbussett) wrote :

The workaround in the previous comment has a typo, it should be this instead:
sudo dpkg -i /var/cache/apt/archives/libsasl2*

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

Now that Intrepid is finally released, I notice that the bug is still present and yet it was reported 9 months ago. What's going on?

Daniel T Chen (crimsun)
Changed in cyrus-sasl2:
importance: Undecided → Low
status: New → Confirmed
Revision history for this message
Martin-Éric Racine (q-funk) wrote :

This issue is *still* present in 2.1.22.dfsg1-23ubuntu3.1 (Jaunty). Could someone please fix this before Karmic releases?

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

...and still present in Karmic alpha 2.1.23.dfsg1-1ubuntu1. Could someone please look into this? Thanks!

Martin Pitt (pitti)
Changed in cyrus-sasl2 (Ubuntu):
assignee: nobody → Canonical Server Team (canonical-server)
Revision history for this message
Martin-Éric Racine (q-funk) wrote :

Thank you for assigning this bug to someone. Is there any other info I should provide?

Revision history for this message
Kees Cook (kees) wrote :

I cannot reproduce this; I can successfully install and upgrade libsasl2-2 on intrepid, jaunty, and karmic.

Changed in cyrus-sasl2 (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Martin-Éric Racine (q-funk) wrote :

Kees, what do you use to perform the installation? Here, both APT and aptitude fail as shown above, during an upgrade. This behavior is verified on both Debian and Ubuntu, using APT and aptitude.

Revision history for this message
Kees Cook (kees) wrote : Re: [Bug 194140] Re: Dependency cycle prevents upgrade of libsasl2-2

Here is my intrepid machine upgrading libsasl2-2:

# lsb_release -d
Description: Ubuntu 8.10
# apt-cache policy libsasl2-2
libsasl2-2:
  Installed: 2.1.22.dfsg1-21ubuntu2
  Candidate: 2.1.22.dfsg1-21ubuntu2.1
  Version table:
     2.1.22.dfsg1-21ubuntu2.1 0
        500 file: intrepid-security/main Packages
 *** 2.1.22.dfsg1-21ubuntu2 0
        500 file: intrepid/main Packages
        100 /var/lib/dpkg/status
# apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  libsasl2-2 libsasl2-modules
2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/283kB of archives.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]?
(Reading database ... 11164 files and directories currently installed.)
Preparing to replace libsasl2-2 2.1.22.dfsg1-21ubuntu2 (using .../libsasl2-2_2.1.22.dfsg1-21ubuntu2.1_amd64.deb) ...
Unpacking replacement libsasl2-2 ...
Preparing to replace libsasl2-modules 2.1.22.dfsg1-21ubuntu2 (using .../libsasl2-modules_2.1.22.dfsg1-21ubuntu2.1_amd64.deb) ...
Unpacking replacement libsasl2-modules ...
Setting up libsasl2-modules (2.1.22.dfsg1-21ubuntu2.1) ...
Setting up libsasl2-2 (2.1.22.dfsg1-21ubuntu2.1) ...

Processing triggers for libc6 ...
ldconfig deferred processing now taking place
#

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

On Wed, Jul 15, 2009 at 8:27 PM, Kees Cook<email address hidden> wrote:
> Here is my intrepid machine upgrading libsasl2-2:

I'm really wondering what I'm doing wrong then. Could some APT or
Aptitude command option cause this to fail?

Rick Clark (dendrobates)
Changed in cyrus-sasl2 (Ubuntu):
assignee: Canonical Server Team (canonical-server) → Mathias Gug (mathiaz)
Revision history for this message
Martin-Éric Racine (q-funk) wrote :

And if you look at the dependencies, libsasl2-modules and libsasl2-2 indeed depend upon one another, which creates a cycle.

Revision history for this message
Thierry Carrez (ttx) wrote :

Dependency cycles don't prevent installation. The cycle will just be broken in an arbitrary and non-predictable way. Search "arbitrary" at http://www.debian.org/doc/debian-policy/ch-relationships.html for more details. When APT fails, which package does it try to configure first ? Could you send your APT output for comparison with kees's one ?

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

Thierry, the output already is attached above.

Revision history for this message
Thierry Carrez (ttx) wrote :

Ah, I thought it was your aptitude output, not the apt (apt-get) one.

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

I utilize an APT front-end called 'upgrade-system' to perform my upgrades.

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

This issue is still present in Karmic alpha 4:

$ LC_ALL=C sudo apt-get dist-upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
  lxde-settings-daemon
The following packages will be upgraded:
  evince libaprutil1 libevdocument1 libevview1 libsasl2-2 libsasl2-modules
6 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0B/1341kB of archives.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]? y
E: Internal Error, Could not perform immediate configuration (2) on libsasl2-2

$ LC_ALL=C sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages have been kept back:
  lxde-settings-daemon
The following packages will be upgraded:
  evince libaprutil1 libevdocument1 libevview1 libsasl2-2 libsasl2-modules
6 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Need to get 0B/1341kB of archives.
After this operation, 0B of additional disk space will be used.
Do you want to continue [Y/n]? y
E: Internal Error, Could not perform immediate configuration (2) on libsasl2-2

I'm starting to think that it might be a good idea to duplicate this bug and assign it to APT as a 100 Paper Cut bug, because that error message (2) doesn't tell the user anything useful. That number (2) should be replaced with a proper explanation of what's preventing apt-get from upgrading the packages.

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

$ LC_ALL=C date
Tue Aug 18 04:43:21 EEST 2009
$ LC_ALL=C lsb_release -d
Description: Ubuntu karmic (development branch)
$ LC_ALL=C apt-cache policy libsasl2-2
libsasl2-2:
  Installed: 2.1.23.dfsg1-1ubuntu1
  Candidate: 2.1.23.dfsg1-1ubuntu2
  Version table:
     2.1.23.dfsg1-1ubuntu2 0
        500 http://archive.ubuntu.com karmic/main Packages
 *** 2.1.23.dfsg1-1ubuntu1 0
        100 /var/lib/dpkg/status
     2.1.22.dfsg1-23ubuntu3.1 0
        500 http://security.ubuntu.com jaunty-security/main Packages

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

Seems that the only way to succeed at upgrading these packages is to add the following line to /etc/apt/apt.conf

APT::Immediate-Configure "false";

Two observations:

Seems that the logic for this APT option was recently reverted, if Google results for "immediate-configure" is any indication. Could it be that the "fix" actually broke the default behavior?

The fact remains that cyrus-sasl2 is a very rare case that triggers this error in apt-get. It needs to be fixed.

Revision history for this message
Martin-Éric Racine (q-funk) wrote :

Thierry, anything to add?

Revision history for this message
Steve Beattie (sbeattie) wrote :

Martin-Éric, even with APT::Immediate-Configure set to true, I'm unable to reproduce the failure you see:

  $ apt-config dump | grep Immediate
  APT::Immediate-Configure "true";
  $ sudo sh -c 'LC_ALL=C apt-get install libsasl2-2'
  Reading package lists... Done
  Building dependency tree
  Reading state information... Done
  The following packages were automatically installed and are no longer required:
    libdb4.6
  Use 'apt-get autoremove' to remove them.
  The following extra packages will be installed:
    libsasl2-modules
  Suggested packages:
    libsasl2-modules-otp libsasl2-modules-ldap libsasl2-modules-sql libsasl2-modules-gssapi-mit libsasl2-modules-gssapi-heimdal
  The following packages will be upgraded:
    libsasl2-2 libsasl2-modules
  2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  Need to get 0B/286kB of archives.
  After this operation, 32.8kB of additional disk space will be used.
  Do you want to continue [Y/n]? y
  (Reading database ... 116308 files and directories currently installed.)
  Preparing to replace libsasl2-2 2.1.22.dfsg1-23ubuntu3.1 (using .../libsasl2-2_2.1.23.dfsg1-1ubuntu3_amd64.deb) ...
  Unpacking replacement libsasl2-2 ...
  Preparing to replace libsasl2-modules 2.1.22.dfsg1-23ubuntu3.1 (using .../libsasl2-modules_2.1.23.dfsg1-1ubuntu3_amd64.deb) ...
  Unpacking replacement libsasl2-modules ...
  Setting up libsasl2-modules (2.1.23.dfsg1-1ubuntu3) ...
  Setting up libsasl2-2 (2.1.23.dfsg1-1ubuntu3) ...

  Processing triggers for libc-bin ...
  ldconfig deferred processing now taking place
  $

Can you attach the output of 'apt-config dump'? What's the history of the system where this bug occurs; what was it originally installed as and how has it been upgraded?

Revision history for this message
Michael Vogt (mvo) wrote :

@Martin:
Hello - if you still can reproduce this problem could you please attach /var/lib/dpkg/status (or mail it to me if you have privacy concerns)? I will try to setup a environment to debug it then.

Revision history for this message
Chuck Short (zulcss) wrote :

We'd like to figure out what's causing this bug for you, but we haven't heard back from you in a while. Could you please provide the requested information? Thanks!

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

AIUI, apt is meant to only balk about immediate configuration for packages that are essential or are dependencies of apt. libsasl2-2 is neither in the Ubuntu archive - do you know what modified packages you might have on your system that would cause apt to treat libsasl2-2 as essential?

Anyway, if this were reproducible in the official archive, I think everyone would be seeing it... since they aren't, I'm pretty sure this is a local issue, not a bug in the package. Closing as invalid.

(It happens that this issue should go away for you in the next upload of cyrus-sasl2, because libsasl2-2 will no longer depend on libsasl2-modules. However, the circular dependency is not the bug here.)

Changed in cyrus-sasl2 (Ubuntu):
status: Incomplete → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.