installer crash with ValueError: invalid literal for int() with base 10: ''

Bug #882882 reported by Ahdan Hamz
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
debconf (Ubuntu)
Invalid
Undecided
Unassigned
ubiquity (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

the installer that i'm used for installing ubuntu oneiric ocelot had been crashed.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: ubiquity 2.8.7
ProcVersionSignature: Ubuntu 3.0.0-12.20-generic 3.0.4
Uname: Linux 3.0.0-12-generic i686
NonfreeKernelModules: wl
ApportVersion: 1.23-0ubuntu3
Architecture: i386
CasperVersion: 1.287
Date: Fri Oct 28 10:10:58 2011
LiveMediaBuild: Ubuntu 11.10 "Oneiric Ocelot" - Release i386 (20111012)
ProcEnviron:
 PATH=(custom, no user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: ubiquity
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Ahdan Hamz (adan-arsenalfan) wrote :
Tyler Hicks (tyhicks)
security vulnerability: yes → no
security vulnerability: yes → no
visibility: private → public
visibility: private → public
Revision history for this message
Robert Roth (evfool) wrote :

Exception during installation:
Error in function start
Traceback (most recent call last):
   File "/usr/lib/ubiquity/ubiquity/install_misc.py", line 256, in start
     self.db.progress('START', 0, 100, self.title)
   File "/usr/lib/python2.7/dist-packages/debconf.py", line 60, in <lambda>
     lambda *args, **kw: self.command(command, *args, **kw))
   File "/usr/lib/python2.7/dist-packages/debconf.py", line 81, in command
     status = int(status)
ValueError: invalid literal for int() with base 10: ''

summary: - installer crash
+ installer crash with ValueError: invalid literal for int() with base 10:
+ ''
Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote : Traceback

Exception during installation:
Oct 28 10:10:31 ubuntu ubiquity: Error in function start
Oct 28 10:10:31 ubuntu plugininstall.py: Traceback (most recent call last):
Oct 28 10:10:31 ubuntu plugininstall.py: File "/usr/lib/ubiquity/ubiquity/install_misc.py", line 256, in start
Oct 28 10:10:31 ubuntu plugininstall.py: self.db.progress('START', 0, 100, self.title)
Oct 28 10:10:31 ubuntu plugininstall.py: File "/usr/lib/python2.7/dist-packages/debconf.py", line 60, in <lambda>
Oct 28 10:10:31 ubuntu plugininstall.py: lambda *args, **kw: self.command(command, *args, **kw))
Oct 28 10:10:31 ubuntu plugininstall.py: File "/usr/lib/python2.7/dist-packages/debconf.py", line 81, in command
Oct 28 10:10:31 ubuntu plugininstall.py: status = int(status)
Oct 28 10:10:31 ubuntu plugininstall.py: ValueError: invalid literal for int() with base 10: ''
Oct 28 10:10:31 ubuntu plugininstall.py:

tags: added: installer-crash
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubiquity (Ubuntu):
status: New → Confirmed
Changed in debconf (Ubuntu):
status: New → Confirmed
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

I have a kind-of unit-test reproducer. What happens is that debconf database is locked and status ends up as empty string.

test_empty (test_ubi_partman.TestCalculateAutopartitioningOptions) ... debconf: DbDriver "configdb": /home/tdlk/canonical/installer/adv-crypto/tests/config.dat is locked by another process: Resource temporarily unavailable
ERROR

Which results in:

======================================================================
ERROR: test_question_dialog (test_gtkui.TestFrontend)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/tdlk/canonical/installer/adv-crypto/tests/test_gtkui.py", line 46, in test_question_dialog
    ui = gtk_ui.Wizard('test-ubiquity')
  File "./ubiquity/frontend/gtk_ui.py", line 208, in __init__
    BaseFrontend.__init__(self, distro)
  File "./ubiquity/frontend/base.py", line 113, in __init__
    self.start_debconf()
  File "./ubiquity/frontend/base.py", line 330, in start_debconf
    self.db = self.debconf_communicator()
  File "./ubiquity/frontend/base.py", line 325, in debconf_communicator
    return DebconfCommunicator('ubiquity', cloexec=True)
  File "./ubiquity/debconfcommunicator.py", line 37, in __init__
    write=self.dccomm.stdin)
  File "/usr/lib/python3/dist-packages/debconf.py", line 50, in __init__
    self.setUp(title)
  File "/usr/lib/python3/dist-packages/debconf.py", line 53, in setUp
    self.version = self.version(2)
  File "/usr/lib/python3/dist-packages/debconf.py", line 62, in <lambda>
    lambda *args, **kw: self.command(command, *args, **kw))
  File "/usr/lib/python3/dist-packages/debconf.py", line 83, in command
    status = int(status)
ValueError: invalid literal for int() with base 10: ''

My guess is that debconf shouldn't trust 'status' to be a valid value castable to an int, instead it possibly should check if it's empty and raise appropriate error.

Revision history for this message
dino99 (9d9) wrote :

That version is no more maintained

Changed in ubiquity (Ubuntu):
status: Confirmed → Invalid
Changed in debconf (Ubuntu):
status: Confirmed → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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