session-installer crashed with AlreadyCalledDeferred in callback()
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
sessioninstaller (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Precise |
Fix Released
|
High
|
Michael Terry |
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://
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:
--- sessioninstalle
+++ sessioninstalle
@@ -44,12 +44,11 @@ class AptDaemonBacken
def _run_trans(self, trans, parent, interaction):
deferred = defer.Deferred()
dia = aptdaemon.
- dia.connect(
if parent:
- reply_handler=
+ reply_handler=
return deferred
=======
unable to do partial upgrade
ProblemType: Crash
DistroRelease: Ubuntu 11.10
Package: sessioninstaller 0.20+bzr120-
ProcVersionSign
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/
InstallationMedia: Ubuntu 11.10 "Oneiric Ocelot" - Beta i386 (20110901)
InterpreterPath: /usr/bin/python2.7
PackageArchitec
ProcCmdline: /usr/bin/python /usr/bin/
ProcEnviron:
SHELL=/bin/bash
PATH=(custom, no user)
LANG=en_US.UTF-8
PythonArgs: ['/usr/
SourcePackage: sessioninstaller
Title: session-installer crashed with AlreadyCalledDe
UpgradeStatus: Upgraded to oneiric on 2011-09-13 (0 days ago)
UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
tags: | removed: need-duplicate-check |
visibility: | private → public |
tags: | added: precise |
Changed in sessioninstaller (Ubuntu): | |
importance: | Undecided → Medium |
Changed in sessioninstaller (Ubuntu Precise): | |
status: | New → Triaged |
Changed in sessioninstaller (Ubuntu): | |
status: | Confirmed → Triaged |
Changed in sessioninstaller (Ubuntu Precise): | |
status: | Triaged → In Progress |
description: | updated |
Status changed to 'Confirmed' because the bug affects multiple users.