** Description changed:

+ [Impact]
+ Snap applications would refuse to run if the current working directory
+ was impossible to preserve across the chroot that snap-confine performs
+ internally.
+ This was somewhat annoying and surprising to various users so it was
+ changed to a more graceful failure mode where snap-confine would change
+ the working directory to /var/lib/snapd/void that has permissions 0000.
+ This results in applications working gracefully as long as they don't
+ care about the current directory. If they do they also fail gracefully
+ by just being unable to access anything in that directory.
+ The fix involves just doing a chdir() to /var/lib/snapd/void and
+ appropriate packaging changes to ensure that it has the correct
+ permissions.
+ For more information about the execution environment, please see this
+ article http://www.zygoon.pl/2016/08/snap-execution-environment.html
+ [Test Case]
+ The test case can be found here:
+ https://github.com/snapcore/snap-confine/blob/master/spread-
+ tests/regression/lp-1595444/task.yaml
+ NOTE: the bug number above is different as the desired design changed
+ during the release.
+ The test case is ran automatically for each pull request and for each final 
release. It can be reproduced manually by executing the shell commands listed 
in the prepare/execute/restore phases manually.
+ The commands there assume that snapd and snap-confine are installed.
+ No other additional setup is necessary.
+ [Regression Potential]
+  * Regression potential is small as the previous behaviour was
+ unexpected (applications would just fail to start) and now they will
+ start but perhaps the current working directory will be changed.
+ * The fix was tested on Ubuntu via spread and on several other
+ distributions successfully.
+ [Other Info]
+ * This bug is a part of a major SRU that brings snap-confine in Ubuntu
+ 16.04 in line with the current upstream release 1.0.41.
+ * This bug was included in an earlier SRU and is now fixed in Ubuntu. I
+ am updating the template here to ensure that the process is fully
+ documented from 1.0.38 all the way up to the current upstream release
+ 1.0.41.
+ * snap-confine is technically an integral part of snapd which has an SRU
+ exception and is allowed to introduce new features and take advantage of
+ accelerated procedure. For more information see
+ https://wiki.ubuntu.com/SnapdUpdates
+ == # Pre-SRU bug description follows # ==
  When running any snap from a place that is not inside the snap chroot
  (like /tmp/some-subdir or /srv) running the snap-confine launcher dies
  with a ugly error.
  1. mkdir /tmp/99
  2. cd /tmp/99
  3. sudo snap install hello-world
  4. verify that it shows: "cannot remain in /tmp/99, please run this snap from 
another location. errmsg: No such file or directory"
  5. install snap-confine from xenial-proposed
  6. verify that hello-world runs now (and shows a message that it switches to 

You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

  dies when run in a place that is not inside the snap chroot

To manage notifications about this bug go to:

ubuntu-bugs mailing list

Reply via email to