Activity log for bug #1615248

Date Who What changed Old value New value Message
2016-08-20 16:19:46 Oliver Grawert bug added bug
2016-08-24 19:34:24 Zygmunt Krynicki affects snappy snap-confine
2016-08-24 19:34:34 Zygmunt Krynicki snap-confine: importance Undecided High
2016-08-24 19:34:37 Zygmunt Krynicki snap-confine: assignee Zygmunt Krynicki (zyga)
2016-08-24 19:35:06 Zygmunt Krynicki snap-confine: status New Triaged
2016-08-31 19:51:18 Patrizio Bekerle bug added subscriber Patrizio Bekerle
2016-09-09 08:22:44 Michael Vogt snap-confine: importance High Critical
2016-09-09 08:29:33 Zygmunt Krynicki snap-confine: milestone 1.0.41
2016-09-10 08:30:48 Zygmunt Krynicki snap-confine: status Triaged Fix Committed
2016-09-20 06:41:00 Zygmunt Krynicki snap-confine: status Fix Committed Fix Released
2016-09-20 19:02:52 Zygmunt Krynicki description older nvidia drivers used to leave dangling symlinks behind in their dirs in /usr/lib/nvidia-$version which makes dpkg not remove the directory on package removal: /usr/lib/nvidia-319-updates: libnvidia-opencl.so.1 libnvidia-wfb.so.1 /usr/lib/nvidia-346: libnvidia-fbc.so.1 libnvidia-wfb.so.1 /usr/lib/nvidia-352: libnvidia-fbc.so.1 libnvidia-wfb.so.1 ubuntu-core-launcher seemingly only checks for the existence of multiple nvidia-* dirs to throw the: “multiple nvidia drivers detected, this is not supported” error... there is only the nvidia-361 driver installed on this machine but it was upgraded LTS->LTS and originally installed with 12.04. instead of checking if there are multiple directories the check should instead look for something like /usr/lib/nvidia-361/libGL.so or libGLX.so so it does not fall over on left over cruft but checks for actual existence of multiple driver libs. i seem to not be alone http://askubuntu.com/questions/811479 [Impact] Snap-confine contains special support code for Nvidia proprietary driver. This code used a rather naive approach to detect the driver, it was looking for directories matching /usr/lib/nvidia-*. This worked fine as long as the number of found directories was either zero (nothing to do) or one (we know which driver to use). The problem arises when driver updates cause leftover (even empty) directories to match that glob pattern. Snap-confine would just bail out and abort. Now snap-confine looks at /sys/modules/nvidia/version to know which version of the driver to use (if any). This change was recommended by Alberto Milone who maintains the nvidia proprietary driver packages in Ubuntu. For more information about the execution environment, please see this article http://www.zygoon.pl/2016/08/snap-execution-environment.html [Test Case] As a test case, install an nvidia proprietary driver package (any version will do) by using software-properties-gtk and using the additional software tab or by installing one of the nvidia-* packages (e.g. nvidia-346). Then create an unrelated directory, not corresponding to any actual driver version, e.g. /usr/lib/nvidia-123. If snap applications continue to work then everything is good. In the past snap-confine would print an error message and bail out. This test has to be started on a machine that is using actual nvidia hardware and has the nvidia proprietary kernel module loaded. [Regression Potential] * Regression potential is minimal. The same behaviour is applied as before, just the driver detection code is less dumb and actually knows which driver is running by asking the kernel. [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. * 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 # == older nvidia drivers used to leave dangling symlinks behind in their dirs in /usr/lib/nvidia-$version which makes dpkg not remove the directory on package removal: /usr/lib/nvidia-319-updates: libnvidia-opencl.so.1 libnvidia-wfb.so.1 /usr/lib/nvidia-346: libnvidia-fbc.so.1 libnvidia-wfb.so.1 /usr/lib/nvidia-352: libnvidia-fbc.so.1 libnvidia-wfb.so.1 ubuntu-core-launcher seemingly only checks for the existence of multiple nvidia-* dirs to throw the: “multiple nvidia drivers detected, this is not supported” error... there is only the nvidia-361 driver installed on this machine but it was upgraded LTS->LTS and originally installed with 12.04. instead of checking if there are multiple directories the check should instead look for something like /usr/lib/nvidia-361/libGL.so or libGLX.so so it does not fall over on left over cruft but checks for actual existence of multiple driver libs. i seem to not be alone http://askubuntu.com/questions/811479
2016-09-21 00:55:02 Michael Hudson-Doyle bug task added snap-confine (Ubuntu)
2016-09-21 00:56:38 Michael Hudson-Doyle snap-confine (Ubuntu): status New Fix Released
2016-09-21 03:37:30 Michael Hudson-Doyle nominated for series Ubuntu Xenial
2016-09-21 03:37:30 Michael Hudson-Doyle bug task added snap-confine (Ubuntu Xenial)
2016-09-21 03:47:40 Michael Hudson-Doyle snap-confine (Ubuntu Xenial): status New In Progress
2016-11-24 19:06:01 Luca attachment added LOG-ubuntu-clock-app.txt https://bugs.launchpad.net/snap-confine/+bug/1615248/+attachment/4782573/+files/LOG-ubuntu-clock-app.txt
2017-10-04 14:14:59 Marzanna bug added subscriber Marzanna