Public bug reported:

I've been having some issues with ubiquity-dm only starting
intermittently on a custom livecd.

The problem as it turns out was that debconf was being locked by another init 
script, and this would cause ubiquity-dm to not start.
However, the provided upstart script ubiquity.conf was still exiting 
'normally', ie with a 0 return code, despite ubiquity-dm failing to start.

Debugging with set -x in /etc/init/ubiquity.conf script section:
...
+ [ -n  ]
+ ubiquity-dm vt7 :0 ubuntu /usr/bin/ubiquity --greeter --only
debconf: DbDriver "config": /var/cache/debconf/config.dat is locked by another 
process: Resource temporarily unavailable
Traceback (most recent call last):
  File "/usr/bin/ubiquity-dm", line 629, in <module>
    dm = DM(vt, display, username)
  File "/usr/bin/ubiquity-dm", line 129, in __init__
    db = DebconfCommunicator('ubiquity', cloexec=True)
  File "/usr/lib/ubiquity/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: ''
+ [  ]
+ exit 0

Basically, there is an if statement that catches a couple of known
conditions for ubiquity-dm not starting, but there is no catch-all to
consider any other cases.

debian/ubiquity.ubiquity.upstart
...
        if ! ubiquity-dm vt7 :0 ubuntu /usr/bin/ubiquity $debug $automatic 
$choose $ldtp --only $frontend; then
            # has X crashed, or has ubiquity?
            if [ "$automatic" ] && ! [ -f /var/log/installer/version ]; then
                # in case we crashed before the X startup sequence
                plymouth quit || :
                exec ubiquity noninteractive $debug
            fi
        fi

I've attached a patch which simply inserts an 'else' catch-all.

** Affects: ubiquity (Ubuntu)
     Importance: Undecided
         Status: New

** Patch added: "ubiquity-debconflock.patch"
   
https://bugs.launchpad.net/bugs/1151224/+attachment/3561428/+files/ubiquity-debconflock.patch

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

Title:
  ubiquity upstart: if ubiquity-dm fails to start for an unknown reason,
  init script exits with no error

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to