Race between upstart and non-upstart init scripts.

Bug #457858 reported by Mario Limonciello
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
ubiquity (Ubuntu)
Fix Released
High
Unassigned
Karmic
Fix Released
High
Unassigned

Bug Description

Binary package hint: ubiquity

When trying to boot up to only-ubiquity or automatic-ubiquity, it appears that X crashes for some reason or another. As soon as this happens, gdm starts up (with a working X) and ubiquity launches into noninteractive - proceeding to fill up the livefs unless you kill ubiquity very quickly from within gdm.

Oddly enough, if you boot into text mode and THEN start ubiquity-dm, things work properly.

ProblemType: Crash
Architecture: i386
Date: Thu Oct 22 03:56:46 2009
DistroRelease: Ubuntu 9.10
ExecutablePath: /usr/bin/ubiquity-dm
InterpreterPath: /usr/bin/python2.6
LiveMediaBuild: Ubuntu 9.10 "Karmic Koala" - Release Candidate i386 (20091020.3)
Package: ubiquity 2.0.2
ProcCmdline: /usr/bin/python /usr/bin/ubiquity-dm vt7 :0 hostname /usr/bin/ubiquity --only
ProcEnviron:
 LANGUAGE=
 PATH=(custom, no user)
 LANG=en_US.UTF-8
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
PythonArgs: ['/usr/bin/ubiquity-dm', 'vt7', ':0', 'hostname', '/usr/bin/ubiquity', '--only']
SourcePackage: ubiquity
Title: ubiquity-dm crashed with XStartupError in run()
Uname: Linux 2.6.31-14-generic i686
UserGroups:

XsessionErrors:
 (gnome-settings-daemon:5827): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (gnome-settings-daemon:5827): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
 (nautilus:5896): Eel-CRITICAL **: eel_preferences_get_boolean: assertion `preferences_is_initialized ()' failed
 (polkit-gnome-authentication-agent-1:5919): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed

Revision history for this message
Mario Limonciello (superm1) wrote :
visibility: private → public
Revision history for this message
Mario Limonciello (superm1) wrote :

Ignore UbiquityDebug.gz. It's not valid because that's what started getting ran from ubiquity noninteractive.

Revision history for this message
Mario Limonciello (superm1) wrote :

Getting this X log is incredibly difficult since the livefs fills up within seconds...

tags: removed: need-duplicate-check
Revision history for this message
Mario Limonciello (superm1) wrote :

I'm fairly confident this is caused by a race condition between the ubiquity upstart script and the ubiquity-noupstart init script (which are both available and activated).

I've been able to prevent this from happening by either of these two scenarios:
--1--
1) boot with "break=bottom" in /proc/cmdline
2) At the initramfs prompt: "rm /root/etc/rc*.d/*ubiquity-noupstart"
3) exit

--2--
1) Unpack the initrd.lz
2) Modify one of the scripts in scripts/casper-bottom (pick one)
3) Add this line:
"chroot /root update-rc.d -f ubiquity-noupstart remove"
4) Repack the initrd

Changed in ubiquity (Ubuntu Karmic):
importance: Undecided → High
milestone: none → ubuntu-9.10
Changed in ubiquity (Ubuntu Karmic):
status: New → Fix Committed
Revision history for this message
Jerone Young (jerone) wrote :

Mario has a bug fix in the bzr tree. Requires someone to review it and put it in the Karmic release Ubiquity.

Revision history for this message
Evan (ev) wrote :

I asked Scott to look this over and I've given it as much of a critical eye as I can without being able to reproduce it myself. There's definitely a race. I think this is fine for Karmic.

summary: - ubiquity-dm crashed with XStartupError in run()
+ Race between upstart and non-upstart init scripts.
Revision history for this message
Evan (ev) wrote :
Revision history for this message
Steve Langasek (vorlon) wrote :

There is a race condition, and removing one end of the race will obviously fix it. Is this safe to do? Are there any DMs left on any of the liveCDs that aren't converted to upstart?

Revision history for this message
Mario Limonciello (superm1) wrote : Re: [Bug 457858] Re: Race between upstart and non-upstart init scripts.

GDM & KDM were the only DM's that I knew about in use on live media. The
only other one that would be a possibility is LDM possibly for edubuntu, but
I don't see it in use anywhere according to live media build logs.

On Thu, Oct 22, 2009 at 12:24, Steve Langasek
<email address hidden>wrote:

> There is a race condition, and removing one end of the race will
> obviously fix it. Is this safe to do? Are there any DMs left on any of
> the liveCDs that aren't converted to upstart?
>
> --
> Race between upstart and non-upstart init scripts.
> https://bugs.launchpad.net/bugs/457858
> You received this bug notification because you are a member of Ubuntu
> Installer Team, which is subscribed to ubiquity in ubuntu.
>

--
Mario Limonciello
<email address hidden>
Sent from Manchester, New Hampshire, United States

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ubiquity - 2.0.3

---------------
ubiquity (2.0.3) karmic; urgency=low

  [ Colin Watson ]
  * Use new check-language-support --show-installed option added in
    language-selector 0.4.16, so that we can arrange to keep language
    support packages installed that are already present in the live
    filesystem.

  [ Mario Limonciello ]
  * Pass the debug parameters to ubiquity even if running in noninteractive
    mode.
  * Don't provide the old init scripts, even under a temporary name anymore.
    - It appears that there is a race condition that can exist between when
      the upstart'ified version and the initscript version start that may cause
      only-ubiquity and automatic-ubiquity to (poorly) fail. (LP: #457858)
    - All login managers in use (gdm and kdm) have converted to upstart now.

  [ Evan Dandrea ]
  * Calculate the amount of available memory in check-kernels (LP: #413135).
  * Automatic update of included source packages: grub-installer
    1.43ubuntu7.

 -- Evan Dandrea <email address hidden> Fri, 23 Oct 2009 08:11:00 +0100

Changed in ubiquity (Ubuntu Karmic):
status: Fix Committed → Fix Released
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.