[Bug 1007285] Re: oem-config stopped (upstart) when multiple graphical manager are installed

Pascual Abellan pabellan at nowcomputing.com
Fri Mar 15 14:42:24 UTC 2013


I can confirm this bug also happens in precise, with oem-config 2.10.24,
when more than one display managers are installed.

I found that this stop on condition was added to fix bug #628630.

I found also a race condition in the start on condition that prevets
oem-config start. Upstart will block only one of the display managers
installed, the first job started. There is no problem if that job is the
default dm. If it's not, the default dm will continue and start a X
server, then oem-config will fail because can't start his X server
instance.

In this case, ubiquity-dm fails with this exception:

Traceback (most recent call last):
  File "/usr/bin/ubiquity-dm", line 601, in <module>
    ret = dm.run(*sys.argv[4:])
  File "/usr/bin/ubiquity-dm", line 256, in run
    + str(status))
__main__.XStartupError: X server exited with return code 1

And this error is in the ubiquity-dm log file (/var/log/installer/dm):

Fatal server error:
Server is already active for display 0
	If this server is no longer running, remove /tmp/.X0-lock
	and start again.

Ideally oem-config upstart job should start on a unique event emitted
only by the default dm, like starting-dm or login-session-start. But
unfortunately starting-dm is not emitted by all dm, and login-session-
start is emitted after starting the X server, at least on some dm.

As a workaround, it's possible to create a new upstart job to block all
installed dm jobs, similar to portmap-wait.conf. It will instantiate one
job for every dm, and block it until oem-config is stopped , see oem-
config-wait.conf attachment. oem-config-wait will start oem-config, so
the start on condition in oem-config.conf needs to be removed.


** Attachment added: "oem-config-wait.conf"
   https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1007285/+attachment/3575672/+files/oem-config-wait.conf

-- 
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/1007285

Title:
  oem-config stopped (upstart) when multiple graphical manager are
  installed

Status in “ubiquity” package in Ubuntu:
  Confirmed

Bug description:
  On Oneiric  with oem-config  2.8.7
  If I install only oem-config it's also installing kdm (but I'm keeping lighdm as my default display manager)
  After running oem-config-prepare the system will start always start ligthdm and not oem-config.

  This is due to the oem-config.conf upstart script stop on condition.

  When both lightdm and kdm are installed on the same system, they are started at the same time (almost) by upstart, the starting event is sent and the oem-config is started. 
  Then lightdm and kdm are looking in the /etc/X11/default-display-manager to see who is going to be used (lightdm in my stituation), so kdm will be stoped and upstart will send the kdm stopping event, caught by oem-config stop on condition and oem-config will be stopped and lightdm will be started.

  So the stop condition should be modified or removed (why do we need a
  stop condition on a task ?) but I'm not really good at upstart so far
  :)

  if I install oem-config with ubiquity-frontend-gtk it doesn't install
  kdm and everything is works just fine.

  Best regards,
    Thomas

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




More information about the foundations-bugs mailing list