Ok, I believe I've pinned this bug down.  Upstart's 'expect fork'
doesn't appear to watch for the parent process to die, it only watches
for the child process to be spawned; so when using 'expect fork', all
setup work needs to be done by the parent process prior to forking.
plymouth fails to do this; it calls ply_create_daemon() before calling
start_boot_server(), so there's a race condition here because upstart
will start mountall while plymouthd is still setting up its control
socket, and when we lose the race we get this message.

I'm not sure if it's possible to run initialize_environment() and
attach_to_running_session() in the parent process, or if we need to
switch this upstart job to use 'expect stop'.  Assigning to Scott since
he knows (all of) this code better than I do.

** Changed in: plymouth (Ubuntu)
   Importance: Undecided => High

** Changed in: plymouth (Ubuntu)
       Status: New => Triaged

** Changed in: plymouth (Ubuntu)
     Assignee: (unassigned) => Scott James Remnant (scott)

** Also affects: plymouth (Ubuntu Lucid)
   Importance: High
     Assignee: Scott James Remnant (scott)
       Status: Triaged

-- 
mountall: Could not connect to plymouth
https://bugs.launchpad.net/bugs/551062
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

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

Reply via email to