mirscreencast broke (moved socket) in #71

Bug #1327139 reported by Alan Pope 🍺🐧🐱 🦄
20
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Light Display Manager
New
Undecided
Unassigned
Mir
Invalid
Undecided
Unassigned
mir (Ubuntu)
Invalid
Undecided
Unassigned
phablet-tools (Ubuntu)
Fix Released
High
Oliver Grawert

Bug Description

Since the mir_socket moved from /tmp to /var/run, mirscreencast broke.

$ adb shell mirscreencast -n 1
Failed to connect to server. Error was :connect: No such file or directory

This works:-

$ adb shell mirscreencast -m /var/run/mir_socket -n 1

ProblemType: Bug
DistroRelease: Ubuntu 14.10
Package: mir-utils 0.1.9+14.10.20140430.1-0ubuntu1
Uname: Linux 3.4.0-5-mako armv7l
ApportVersion: 2.14.3-0ubuntu1
Architecture: armhf
Date: Fri Jun 6 10:47:19 2014
InstallationDate: Installed on 2014-06-06 (0 days ago)
InstallationMedia: Ubuntu Utopic Unicorn (development branch) - armhf (20140606.1)
SourcePackage: mir
UpgradeStatus: No upgrade log present (probably fresh install)

Related branches

Revision history for this message
Alan Pope 🍺🐧🐱 🦄 (popey) wrote :
Oliver Grawert (ogra)
Changed in phablet-tools (Ubuntu):
importance: Undecided → High
status: New → Triaged
assignee: nobody → Oliver Grawert (ogra)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mir (Ubuntu):
status: New → Confirmed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package phablet-tools - 1.0+14.10.20140616-0ubuntu1

---------------
phablet-tools (1.0+14.10.20140616-0ubuntu1) utopic; urgency=low

  [ Oliver Grawert ]
  * phablet-screenshot: mirscreencast needs the socket location handed over now
    that the Mir socket moved to /run/mir_socket (LP: #1327139).
 -- Ubuntu daily release <email address hidden> Mon, 16 Jun 2014 19:16:47 +0000

Changed in phablet-tools (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Incomplete for Mir. Does anything-Mir need changing?

Changed in mir (Ubuntu):
status: Confirmed → Incomplete
Changed in mir:
status: New → Incomplete
tags: added: screencast
Revision history for this message
Oliver Grawert (ogra) wrote :

mirscreencast is shipped by mir-utils (which in turn comes from the mir source package) ...
the default for the mir socket in mirscreencast should be adjusted so the user is not forced to provide the argument, like it was before this regression showed up, the change to phablet-screenshot is just working around it.

Changed in mir (Ubuntu):
status: Incomplete → Confirmed
Changed in mir:
status: Incomplete → Confirmed
Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Mir's default socket is $XDG_RUNTIME_DIR for reasons explained in LP #1236912. Mirscreencast reads the framebuffer contents from U-S-C, and currently U-S-C is hard-coded to override the default socket location with '/run/mir_socket'.

unity-system-compositor --spinner=/usr/bin/unity-system-compositor-spinner --file /run/mir_socket --from-dm-fd 9 --to-dm-fd 13 --vt 1

(Note that since '/var/run' is a symlink to ' /run' , '/run/mir_socket' == '/var/run/mir_socket'). So the right thing to do would be to change it in lightdm (responsible for launching the U-S-C) to not use an argument.

Or the easiest thing to do would be to not do anything and have mirscreencast continue providing the socket override.

Changed in mir (Ubuntu):
status: Confirmed → Invalid
Changed in mir:
status: Confirmed → Invalid
Revision history for this message
Oliver Grawert (ogra) wrote :

iirc the move was a security team requirement, i assume the default socket should actually be moved to $XDG_RUNTIME_DIR and yes, then the lightdm startup should drop teh arg.

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

There are different sockets. Bug #1236912 was about the sockets apps in the user's session are supposed to be able to access, ie $XDG_RUNTIME_DIR/mir_socket. /run/mir_socket is AIUI different and not supposed to be accessed by apps.

Revision history for this message
Cemil Azizoglu (cemil-azizoglu) wrote :

Mir's default is already $XDG_RUNTIME_DIR/mir_socket. (Also, it's correct that /run/mir_socket is not for apps - it's only for unity8 to connect to u-s-c as a guest (nested) compositor. )

However, $XDG_RUNTIME_DIR cannot be used for the u-s-c, as it'd be against the XDG spec to have rw permissions for non-root on the directory, so phablet user (which unity8 runs as) would not be able to access it. I am guessing that's why lightdm is not using the default already.

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.