Mir

[regression] unity-system-compositor can't start (Unknown command line options: --vt 1) via lightdm on Android

Bug #1355005 reported by Daniel van Vugt
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Light Display Manager
Incomplete
Medium
Unassigned
Mir
Invalid
Critical
Unassigned
0.6
Invalid
Critical
Unassigned
Unity System Compositor
Fix Released
Critical
Alan Griffiths
unity-system-compositor (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

From Cemil:
Sync'ed up 0.6 with devel@r1831 since we were in TRAINCON-0. Everything built successfully.

Using image #179 with 0.6, mir itself works (i.e. mir-demos & nested), but USC has the following error :

root@ubuntu-phablet:~# cat /var/log/lightdm/unity-system-compositor.log
Unknown command line options: --vt 1

The "vt" option is passed in by the wrapper in lightdm, but not sure why usc is rejecting it. Without 0.6, usc works fine with the same set of args.

It'd be nice if the AUS, or EUR can take a look on Mon. Follow the instructions (updated due to platform versioning) below to install and test :

http://pastebin.ubuntu.com/7993688/

Tags: regression
Changed in mir:
milestone: none → 0.7.0
importance: Undecided → Critical
summary: - [regression] Unknown command line options: --vt 1
+ [regression] unity-system-compositor can't start (Unknown command line
+ options: --vt 1)
Changed in mir:
assignee: nobody → Mir development team (mir-team)
status: New → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote : Re: [regression] unity-system-compositor can't start (Unknown command line options: --vt 1)

Not in progress any more. Blocked by USC bug 1355021.

Changed in mir:
status: In Progress → New
Revision history for this message
Chris Halse Rogers (raof) wrote :

I can't reproduce this; on my image, LightDM does *not* pass the (incorrect) --vt 1 option.

http://bazaar.launchpad.net/~mir-team/mir/development-branch/revision/1826 is the change which introduced the “fail if passed unsupported options” behaviour, but I think this should be fixed by not passing unsupported options in the first place - that's the generally expected behaviour.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I've just tested all the latest code compiled together:
  lp:unity-system-compositor/devel-mir-next
  lp:mir/devel

And there is no bug. unity-system-compositor correctly honours the --vt parameter for me.

If there was a bug at all, it's not present in our development branches.

Changed in mir:
status: New → Incomplete
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Oh, wait. We have probably hidden the option on android. Need to re-test.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

OK, verified this is correct Mir behaviour on android because the "--vt" option does not exist on that platform:
Unknown command line options: --vt 1

If lightdm is passing the option then that's a lightdm bug.

Changed in mir:
status: Incomplete → Invalid
milestone: 0.7.0 → none
Changed in unity-system-compositor:
status: New → Invalid
Changed in lightdm:
status: New → Incomplete
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Yes, the option doesn't exist on the "Android drivers" Mir platform.

If USC wants to support options that don't exist there's a mechanism to do so - pass a handler for it to DefaultConfiguration.

But I concur with Chris, the correct fix is not to pass invalid options.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The offending lightdm code is here:
http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/view/head:/src/unity-system-compositor.c#L431

The logic is present on android builds too, so it looks like a bad lightdm config is triggering it.

Changed in lightdm:
status: Incomplete → New
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Actually I'm undecided about this now. The --vt option clearly used to work on android and we've made it explicitly trigger an error only recently in changes to Mir (0.6/0.7). Not sure if I prefer that or if we should be accepting and ignoring harmless unused options in libmirserver.

summary: [regression] unity-system-compositor can't start (Unknown command line
- options: --vt 1)
+ options: --vt 1) when run against Mir 0.6/0.7
summary: [regression] unity-system-compositor can't start (Unknown command line
- options: --vt 1) when run against Mir 0.6/0.7
+ options: --vt 1) via lightdm on Android
Changed in unity-system-compositor:
assignee: nobody → Alan Griffiths (alan-griffiths)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

Workaround pushed to lp:unity-system-compositor/devel-mir-next -c 156.

Changed in unity-system-compositor:
status: Invalid → In Progress
Changed in mir:
assignee: Mir development team (mir-team) → nobody
Changed in unity-system-compositor:
importance: Undecided → Critical
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Noting here after discussion on IRC that this should really be fixed in lightdm. Ignoring this option in u-s-c is a stop-gap until lightdm is fixed.

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

This bug was fixed in the package unity-system-compositor - 0.0.4+14.10.20140811-0ubuntu1

---------------
unity-system-compositor (0.0.4+14.10.20140811-0ubuntu1) utopic; urgency=low

  [ Ubuntu daily release ]
  * New rebuild forced

  [ Cemil Azizoglu ]
  * Bump ABI for Mir 0.6.0 release. Ignore unknown command line
    arguments. Use the libraries suggested by mirserver package config.
    (LP: #1355005)

  [ Alan Griffiths ]
  * Bump ABI for Mir 0.6.0 release. Ignore unknown command line
    arguments. Use the libraries suggested by mirserver package config.
    (LP: #1355005)

  [ Kevin Gunn ]
  * Bump ABI for Mir 0.6.0 release. Ignore unknown command line
    arguments. Use the libraries suggested by mirserver package config.
    (LP: #1355005)
 -- Ubuntu daily release <email address hidden> Mon, 11 Aug 2014 21:09:54 +0000

Changed in unity-system-compositor (Ubuntu):
status: New → Fix Released
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Is the discussion http://irclogs.ubuntu.com/2014/08/11/%23ubuntu-mir.html ?

If u-s-c doesn't always accept the --vt option then then it's going to fail on kernels that have VT support (which from the above log seems to be this particular case?). If VT support is available then LightDM assigns VTs to each server / system compositor so they don't conflict. In the phone case we only have one system compositor but theoretically you could also start an X server so LightDM has to assign VTs if they exist.

There seem to options to solve this properly:
1. u-s-c always supports --vt and only applies it for backends that require it.
2. u-s-c backends that use VTs reads the XDG_VTNR environment variable.

I would recommend option 2 since VTs are going to be a legacy feature in the future anyway and other systems seem to be using XDG_VTNR over command line options.

Changed in lightdm:
importance: Undecided → Medium
status: New → Incomplete
Revision history for this message
kevin gunn (kgunn72) wrote :

workaround has been merged. I suppose this is still considered an open topic.
removing the rtm tag

tags: removed: rtm14
Changed in unity-system-compositor:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.