I've been doing some analysis of this bug. It's difficult to follow for
a debconf outsider since it encompasses Python and PERL modules and
inter-process pipes and so on, but from the reading the source-code and
looking at our tracebacks it seems that the debconf "version" command is
returning an empty string:

  File "/usr/lib/python2.7/dist-packages/debconf.py", line 81, in command
    status = int(status)
ValueError: invalid literal for int() with base 10: ''

The '' at the end of the ValueError line indicates that

status = ''

It is set in one of two ways based reading the inter-process pipe to
debconf-communicate (/usr/lib/python2.7/dist-packages/debconf.py):

        if ' ' in resp:
            status, data = resp.split(' ', 1)
        else:
            status, data = resp, ''

This gives two possibilities for the contents of the 'resp' list
returned from debconf-communicate:

1. a single space
2. an empy string

After reading the Python 2.7 documentation for the subprocess module I
suspect this warning might give us some insight into the cause of this
bug:


"Warning: Use communicate() rather than .stdin.write, .stdout.read or
.stderr.read to avoid deadlocks due to any of the other OS pipe buffers
filling up and blocking the child process."

Source:
http://docs.python.org/library/subprocess.html#subprocess.Popen.kill

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

Title:
  package-data-downloader crashed with ValueError in command(): invalid
  literal for int() with base 10: ''

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/update-notifier/+bug/983571/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to