[Bug 1151224] Re: ubiquity upstart: if ubiquity-dm fails to start for an unknown reason, init script exits with no error
Dmitrijs Ledkovs
launchpad at surgut.co.uk
Thu Mar 28 23:26:12 UTC 2013
** Changed in: ubiquity (Ubuntu)
Status: Triaged => Fix Committed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubiquity in 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
Status in “ubiquity” package in Ubuntu:
Fix Committed
Bug description:
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.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1151224/+subscriptions
More information about the foundations-bugs
mailing list