[Bug 848605] Re: session-installer crashed with AlreadyCalledDeferred in callback()

Adam Conrad adconrad at 0c3.net
Mon Jul 30 16:41:40 UTC 2012


Hello Khairul, or anyone else affected,

Accepted sessioninstaller into precise-proposed. The package will build
now and be available at
http://launchpad.net/ubuntu/+source/sessioninstaller/0.20+bzr128-0ubuntu1.1
in a few hours, and then in the -proposed repository.

Please help us by testing this new package.  See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to
enable and use -proposed.  Your feedback will aid us getting this update
out to other Ubuntu users.

If this package fixes the bug for you, please change the bug tag from
verification-needed to verification-done.  If it does not, change the
tag to verification-failed.  In either case, details of your testing
will help us make a better decision.

Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification .  Thank you in
advance!

** Changed in: sessioninstaller (Ubuntu Precise)
       Status: Incomplete => Fix Committed

** Tags added: verification-needed

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to sessioninstaller in Ubuntu.
https://bugs.launchpad.net/bugs/848605

Title:
  session-installer crashed with AlreadyCalledDeferred in callback()

Status in “sessioninstaller” package in Ubuntu:
  Triaged
Status in “sessioninstaller” source package in Precise:
  Fix Committed

Bug description:
  [IMPACT]

   * This can prevent users from installing helper packages needed to do
  their work (for example, can prevent opening rar, 7z, or jnlp files).

   * In addition, this is a highly reported crash on errors.ubuntu.com,
  so we know it affects many users.

   * The proposed fix just makes a certain deferral callback not be
  called twice, avoiding the assertion crash.

  [TESTCASE]

   * Unfortunately, I could not reproduce.  So the patch is only based
  on code analysis.  Someone that can reproduce needs to test it.  I'm
  hoping by being accepted into precise-proposed, that will make it
  easier for the affected audience to test.

   * But the indicated reproduction steps as reported are:
  0) Make sure you don't have rar installed: sudo apt-get purge rar unrar
  1) Download a rar file.  Try http://www.philipp-winterberg.com/download/example.rar
  2) Open that file with file-roller
  3) Try to install the necessary packages to open it

  [Regression Potential]

   * Regression potential is low.  In the worst case, I could imagine if
  the patch is bogus, I could imagine the installation dialog would just
  stay open indefinitely because the deferral callback never got called.

  [Patch]

  The patch is simple:

  --- sessioninstaller-0.20+bzr128.orig/sessioninstaller/backends/aptd.py
  +++ sessioninstaller-0.20+bzr128/sessioninstaller/backends/aptd.py
  @@ -44,12 +44,11 @@ class AptDaemonBackend(object):
       def _run_trans(self, trans, parent, interaction):
           deferred = defer.Deferred()
           dia = aptdaemon.gtk3widgets.AptProgressDialog(trans)
  -        dia.connect("finished", lambda x: deferred.callback())
           if parent:
               dia.realize()
               dia.set_transient_for(parent)
           dia.run(close_on_finished=True, show_error=True,
  -                reply_handler=lambda: True,
  +                reply_handler=deferred.callback,
                   error_handler=deferred.errback)
           return deferred 

  =========================================================

  unable to do partial upgrade

  ProblemType: Crash
  DistroRelease: Ubuntu 11.10
  Package: sessioninstaller 0.20+bzr120-0ubuntu2
  ProcVersionSignature: Ubuntu 3.0.0-11.17-generic 3.0.4
  Uname: Linux 3.0.0-11-generic i686
  ApportVersion: 1.22.1-0ubuntu2
  Architecture: i386
  Date: Tue Sep 13 12:58:04 2011
  ExecutablePath: /usr/bin/session-installer
  InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta i386 (20110901)
  InterpreterPath: /usr/bin/python2.7
  PackageArchitecture: all
  ProcCmdline: /usr/bin/python /usr/bin/session-installer
  ProcEnviron:
   SHELL=/bin/bash
   PATH=(custom, no user)
   LANG=en_US.UTF-8
  PythonArgs: ['/usr/bin/session-installer']
  SourcePackage: sessioninstaller
  Title: session-installer crashed with AlreadyCalledDeferred in callback()
  UpgradeStatus: Upgraded to oneiric on 2011-09-13 (0 days ago)
  UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/sessioninstaller/+bug/848605/+subscriptions




More information about the foundations-bugs mailing list