[01:52] https://lists.debian.org/debian-devel/2017/08/msg00090.html <- thats a lot of words for "we kinda want snapd working." === ikey is now known as ikey|zzz [03:27] PR snapcraft#1600 closed: options: fix core-dynamic-linker on ppc64el/s390x [03:30] PR snapcraft#1595 closed: tests: fix the skip of snapd integration tests in armhf [03:38] hello, where can i find an actual list of snap packages [03:38] i am struggling to that end === JoshStrobl is now known as JoshStrobl|zzz [06:02] good morning [06:07] hey zyga-ubuntu [06:14] zyga-ubuntu: hrm, hrm, looks like we need 2.28.2 and pull in #4004 (nice number). I didn't see this pr and I'm not sure I would have spotted the significance. did we improve the validation in 2.28 or why did it start breaking suddenly? [06:14] PR #4004: interfaces/lxd: lxd slot implementation can also be an app snap [06:16] mvo: hello, I think this is lxd on core (not classic) and we never touched this [06:16] mvo: so lxd-as-a-snap vs lxd slot provided by core [06:16] mvo: I think it was never working but perhaps my assumptions are wrong [06:17] mvo: and it looks untested, maybe we test it in the nightly "important snaps work" thing but I didn't check yet [06:18] mvo: although, the wording "stopped working" in the lxd bug report seems to imply improved validation [06:19] zyga-ubuntu: yeah, stgraber indicated it is a regression - anyways, I am fixing now but would love to understand better why we see it now, maybe pawel knows [06:21] mvo: as far as I understand it interface validation never prevented snaps from refreshing (we juts logged it) and while this has changed rencently it's not 2.28 material [06:22] zyga-ubuntu: yeah, its not the refresh, its the connection that is no longer working for him [06:51] mvo: hmm, on Ubuntu 14.04 we only have 2.27.5 available, why is that? [06:51] mvo: I was trying to understand a failure in 2.27.6 when installed on 14.04 [06:52] mvo: it would fail with Failed to enable unit: File snapd.refresh.timer: No such file or directory [06:54] zyga-ubuntu: 2.27.6 should be in proposed, also via core re-exec [06:54] zyga-ubuntu: what failure on trusty is that, is there a forum post? [07:03] mvo: it's this bug https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1722075 [07:03] Bug #1722075: package snapd 2.27.6~14.04 failed to install/upgrade: subprocess installed post-installation script returned error exit status 1 [07:03] mvo: but I think it's weirder than I initially thought === JanC is now known as Guest86327 === JanC_ is now known as JanC [07:05] PR snapd#4019 closed: release: snapd 2.28.2 [07:07] zyga-ubuntu: is it 2.28.3 material? i.e. should I hold back this release? [07:09] mvo: no, I think it's not meant to work [07:09] mvo: but I'm still looking [07:10] mvo: 17.04 system (upgrade from 16.10) with 14.04 package [07:13] zyga-ubuntu: thanks for investigating [07:15] PR snapd#4020 opened: tests: add test for lxd interface [07:17] __chip__: my snapcraft pr is only about half way down the list, they must be slacker than you guys :) [07:17] zyga-ubuntu: so um i guess we should package 2.28.2 for debian? [07:20] mwhudson: yes, I think so [07:20] mwhudson: btw, interesting observation [07:20] mwhudson: recent 9.2 stable release of debian had brand new flatpak [07:20] mwhudson: perhaps we could do the same [07:20] zyga-ubuntu: good thing i don't have anything at all to do between now and artful release, eh? [07:20] zyga-ubuntu: hmm [07:21] zyga-ubuntu: although 2.28 should work ok via reexec thanks to the graceful apparmor stuff you did [07:21] mwhudson: I need to fix my VM box (reinstall the OS on new drive and then copy data over) [07:21] mwhudson: yep but we could try to get it into 9.3, if there is one [07:21] mwhudson: we could pick the right stable release and go along with it [07:22] yeah that'd be good [07:24] hmm, has the new snap pack landed? [07:24] * zyga-ubuntu looks [07:35] o/ [07:38] PR snapd#4015 closed: run-checks: use nakedret to check for naked returns on long functions [07:40] Issue snapcraft#1604 opened: Homebrew still on snapcraft 2.33 [07:41] homebrew? [07:41] wow [07:41] and mup is still using wrong URLs for github issues [07:42] <__chip__> zyga-ubuntu: snap pack is on master, if that's your q [07:45] yep, that's what I wanted, thank you [07:55] Issue snapcraft#1605 opened: lib* files in $SNAP/usr/lib/ links to /usr/lib/ [07:58] cachio: good morning. we have a new 2.28.3 that fixes an issue with the lxd interface in the beta channel [08:00] PR snapd#4021 opened: release: snapd 2.28.3 [08:14] * zyga-ubuntu -> tea [08:14] spread test for content looks good; I fixed some issues and found one missing case that is now handled (source bind mount) [08:17] oh, chipaca is gone? [08:43] jdstrand: hello [08:44] jdstrand: not sure if you are up yet but I'd like to review and land https://github.com/snapcore/snapd/pull/3965 [08:44] PR #3965: interfaces/mount: add support for parsing x-snapd.{mode,uid,gid}= [08:44] jdstrand: it has one +1 already and I could use a review from you next [09:11] pedronis: are you really around? [09:12] i guess it's early even if he were [09:22] Chipaca: o/ [09:22] thank you for the response on the froum [09:22] how are you feeling [09:23] zyga-ubuntu: better today, thank you [09:24] i'll be off to physio in a bit, that also helps [09:28] PR snapcraft#1606 opened: kbuild plugin: if the parts build dir already contains a .config file, use it as the base config [09:42] ok, off to physio [10:16] Issue snapcraft#1604 closed: Homebrew still on snapcraft 2.33 [10:19] it seems my snap is not able to resolve hostnames, but it has the 'network' interface (and it's connected). how can I debug what's going on? [10:19] Issue snapcraft#1605 closed: lib* files in $SNAP/usr/lib/ links to /usr/lib/ [10:31] ackk: I find running it in devmode helpful in case something's being blocked by apparmor because you'll get log messages [10:31] kalikiana, so, it seems it's trying to access stuff under hostfs, like resolv.conf or os-release [10:31] but it shouldn't really need that [10:32] I mean, having the "network" plug it should have connectivity? [10:32] As a user, I have a snap which I think broke in 2.28. To confirm, how do I easily go back to core 2.27? [10:35] popey: `snap revert` gets you back to the previous revision, you can also do `snap revert core --revision=2925` for a specific one, but afair it must be one of the last three you had on your system [10:35] popey: can you share more information [10:35] hiri is broken on my nvidia laptop [10:35] works on my intel laptop [10:35] it _used_ to work [10:35] I am trying to figure out if hiri broke their snap or we did [10:36] ackk: Yes. Probably something's trying to be smart. Although /etc/os-release should be accessible just fine, other things may be blocked [10:36] popey: can you show any apparmor denials [10:37] popey: and confirm that it works on 2.27.x [10:37] uh [10:37] https://forum.snapcraft.io/t/apparmor-denials-for-hiri-after-updates/2432 [10:37] popey: also can you run hiri from command line with SNAP_CONFINE_DEBUG=yes [10:37] I asked how I can go back to 2.27 :D [10:37] kalikiana, I see stuff like Oct 11 10:36:48 snap kernel: [2414545.321369] audit: type=1400 audit(1507718208.501:1586): apparmor="DENIED" operation="open" profile="snap.lxd.lxc" name="/var/lib/snapd/hostfs/etc/nsswitch.conf" pid=5797 comm="lxc" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 [10:37] ah, wait [10:37] Tell me that and I will :) [10:37] kalikiana, I doubt lxc is opening that file explicitely [10:37] popey: that's all I need [10:37] thank you [10:39] PR snapd#4021 closed: release: snapd 2.28.3 [10:40] ackk: does lxd have no network? if that's the case you might want to `snap disable lxd; snap enable lxd`. I've seen it some time ago and that was my work-around [10:41] popey: can you please help me out [10:41] popey: I need you to do this: [10:41] ackk: and, put those logs in a bug report ideally [10:41] popey: sudo /usr/lib/snapd snap-discard-ns hiri # (correct the snap name if needed) [10:42] kalikiana, disable/enable didn't work [10:42] kalikiana, the snap has the network plug connected [10:42] popey: SNAP_CONFINE_DEBUG=yes snap run --shell hiri [10:43] kalikiana, lxd does have network, lxc doesn't seem to [10:43] alan@hal:~$ sudo /usr/lib/snapd snap-discard-ns hiri [10:43] sudo: /usr/lib/snapd: command not found [10:43] popey: sudo SNAP_NAME=hiri strace /snap/core/current/usr/lib/snapd/snap-confine snap.hiri.hiri -o snap-confine.strace [10:43] kalikiana, but lxd runs unconfined [10:43] popey: popey sorry, /usr/lib/snapd/snap-discard-ns hiri [10:43] (missing /) [10:43] kk [10:43] ackk: I'm not following... `lxc` is just the command line tool of lxd. What exactly is not working? [10:43] kalikiana, if I run lxc image list ubuntu: [10:44] popey: snap-confine should never access /sys/module/nvidia_modeset/uevent so I'm curious what is going on [10:44] kalikiana, that fetches the simplestreams index from the image server. that fails [10:44] popey: also paste snap version here (I only care about the distrO) [10:44] kalikiana, a curl of the same url from cmdline of course works [10:44] zyga-ubuntu: hang on [10:45] ackk: Can you tr `lxc image list --debug --verbose ubuntu:` and see if it gives some diagnostics? [10:45] http://paste.ubuntu.com/25719311/ [10:46] alan@hal:~$ snap version [10:46] snap 2.28.1 [10:46] snapd 2.28.1 [10:46] series 16 [10:46] ubuntu 16.04 [10:46] kernel 4.10.0-35-generic [10:49] zyga-ubuntu: ^ What next? [10:49] kalikiana, just the same error: Get https://cloud-images.ubuntu.com/releases/streams/v1/index.json: lookup cloud-images.ubuntu.com: no such host [10:51] snappy-m-o autopkgtest 1603 xenial:amd64 xenial:armhf xenial:arm64 artful:amd64 zesty:arm64 [10:51] elopio: I've just triggered your test. [10:52] snappy-m-o autopkgtest 1602 xenial:amd64 xenial:armhf zesty:amd64 [10:52] elopio: I've just triggered your test. [10:56] popey: please exit the shell [10:56] popey: and run strace command again outside [10:56] ok [10:56] sorry for the confusing input [10:56] * zyga-solus fixed his T430 just now [10:57] zyga-solus: are you expecting an strace file, because I have none, just spat to terminal [10:57] zyga-solus: http://paste.ubuntu.com/25719391/ [10:57] popey: perhaps put -o just after strace [10:58] but let me read this [10:59] ackk: Maybe ask in #lxc-dev I'm running out of ideas [10:59] kalikiana, ok, thanks [11:01] popey: sudo SNAP_NAME=hiri strace -f -o snap-confine.strace /snap/core/current/usr/lib/snapd/snap-confine snap.hiri.hiri /snap/core/current/usr/lib/snapd/snap-exec hiri.hiri [11:01] * zyga-solus is walking in the dark here but let's keep our minds open [11:05] zyga-solus: http://paste.ubuntu.com/25719424/ [11:06] oooh [11:06] * zyga-ubuntu found a bug [11:06] (elsewhere) [11:06] *man* [11:08] popey: when you ran this, did you see any denial? [11:11] zyga-ubuntu: [Wed Oct 11 12:11:09 2017] audit: type=1400 audit(1507720265.562:197783): apparmor="DENIED" operation="file_mmap" profile="snap.hiri.hiri" name="/snap/core/3017/usr/lib/snapd/snap-exec" pid=26893 comm="snap-exec" requested_mask="rm" denied_mask="rm" fsuid=0 ouid=0 [11:11] thats the only denial when i re-ran your strace above [11:11] hmmm, that's weird [11:12] it says that the profile disallows running snap-exec [11:12] ah [11:12] sorry [11:12] ok [11:12] re-run that with snap-exec path of just /usr/lib/snapd/snap-exec [11:13] (so everything the same but with different command at the end [11:13] cannot snap-exec: cannot parse revision "": invalid snap revision: "" [11:13] alan@hal:~$ sudo SNAP_NAME=hiri strace -f -o snap-confine.strace /snap/core/current/usr/lib/snapd/snap-confine snap.hiri.hiri /usr/lib/snapd/snap-exec hiri.hiri [11:13] ^ was the command [11:13] right [11:14] after sudo add SNAP_REVISION=... where ... is the real revision of hiri [11:14] (little by little) [11:14] ok [11:15] alan@hal:~$ sudo SNAP_REVISION=15 SNAP_NAME=hiri strace -f -o snap-confine.strace /snap/core/current/usr/lib/snapd/snap-confine snap.hiri.hiri /usr/lib/snapd/snap-exec hiri.hiri [11:15] seems to be just sat there [11:15] look at denials please [11:15] nothing [11:16] zyga-ubuntu: what does snap-confine.strace do? [11:16] it's just a file name [11:17] d'oh [11:17] so, jd.strand shared a magic strace of magics [11:17] strace -o /tmp/trace -D -f -vv -e '!_newselect,select,clock_gettime' -- /usr/bin/snap run [11:18] the filtered-out thing is the important bit imho [11:18] popey: ls -ld /sys/module/nvidia/version [11:18] without that strace gets bamboozled by go [11:18] (or by our unusual usage of go) [11:18] -r--r--r-- 1 root root 4096 Oct 2 20:44 /sys/module/nvidia/version [11:18] popey: ok [11:18] I'm lost [11:18] snap list --all [11:19] popey: and please revert to one of the older core revisions you have on your system (the previous one) [11:19] popey: then discard the namespace and try again [11:19] https://pastebin.canonical.com/200343/ is my snap list --all [11:20] (sorry, contains private snaps so not publicly sharing) [11:20] kk [11:20] so core 2898 which is 16-2.27.6 i guess? [11:20] popey: don't forget to stand on the _left_ side of your _right_ foot while reverting, and the order is: adopt stance, start whistling tune, execute commands, leave stance, stop whistling [11:21] <3 [11:21] popey: core 16-2.27.6 2844 canonical core,disabled [11:21] popey: try tihs one [11:21] popey: actually [11:21] before you do that [11:22] popey: try Chipaca's advice on how to strace [11:22] need i mention that the tune is rms's free software tune, backwards and in a minor key? [11:22] zyga-ubuntu: popey is reverting to 2898. [11:23] His irc client is a snap and froze. Which is why he is not replying right now. [11:23] phew! [11:23] * Chipaca ROTBL [11:23] * flexiondotorg end popey-proxy mode [11:24] ok, interestingly my irc clent (irccloud-desktop) locked up during 'phase 2' whatever that is, but carried on after the rollback which is neat. well done team :) [11:24] installed: 16-2.27.6 (2898) 85MB core [11:25] flexiondotorg: interesting! [11:25] Ok, hiri now works fine atfer rolling back to 2.27 [11:25] popey: try hhir now [11:25] popey: ok [11:25] popey: please do this: [11:25] popey: send me all the apparmor profiles from /etc/apparmor.d/snap.core.*.usr.lib.snapd.snap-confine [11:27] zyga-ubuntu: sent [11:28] (email) [11:28] thanks [11:28] let me look [11:28] * zyga-solus walks between kitchen and office [11:30] popey: ok so the working one is 2898 [11:30] * zyga-ubuntu looks [11:33] popey: it makes no sense :/ it looks like the new profile is more forgiving actually [11:36] zyga-ubuntu: we have confirmed that this is also the case with a completely different snap, on another nvidia machine which is 17.10 [11:36] reverting to core 2898 made the snap work there too. [11:36] popey: it looks like nvidia is affected in general [11:36] also an opengl snap [11:36] not specific to hiri [11:36] yes [11:36] now would be a good time for me to have easy way to use nvidia :/ [11:36] (which I don't) [11:36] This is not the first time this problem has bitten us. [11:37] I understand, we don't have any testing of nvidia AFAIK [11:37] Indeed, wasn't pointed at you. It's common across the company. [11:37] I meant me for debugging, I think we need to fix our release process to include simple "works / not works" opengl testing on intel, nvidia and amd GPUs [11:38] I happen to be lucky enough to have two laptops side by side, nvidia and intel, so pick this stuff up. Not everyone has that luxury [11:38] or just nvidia for a start [11:38] popey: I have 3 but all intel [11:38] I understand you can spin up a machine in AWS with a GPU [11:38] There's your problem :) [11:38] popey: with ubuntu kernel? [11:38] Hm, good question. I am not sure. [11:38] probably not [11:38] * zyga-solus looks on ebay [11:39] separately, will I be stuck on rev 2898 now I reverted to it? [11:39] or will the next update push me forward again? [11:40] popey: not sure, I think refresh vs revert but not sure if this is implemented [11:41] Shall I file a bug in snapd for this? [11:41] Feels somewhat critical [11:41] popey: no, the forum thread is enough [11:41] ok [11:45] zyga-solus: do you need remote access to an nvidia machine (I have a desktop here I can slap 16.04 on)? [11:45] popey: that wold help [11:46] lemme dig it out, one mo [11:46] popey: thank you [11:47] mvo: what is the status of your nvidia box? [11:47] mvo: I have a laptop but unused, I could try to boot it from live media or maybe swap HDD and install that way (it's not used by me and has other os) [11:47] zyga-ubuntu: I have a nvidia card somewhere I don't use it usually, but I can plug it in [11:48] mvo: if that fails I'll try to install ubuntu on mine [11:49] zyga-ubuntu: let me try to find it, any opengl game will do? [11:49] mvo: yes [11:49] mvo: or just try hiri [11:50] zyga-ubuntu: what did change in this area recently? could it be snap-confine? [11:50] mvo: I was looking at the diff between the snap-confine profiles and we did change various things for how the lib directory is called in solus and elsewhere [11:50] mvo: but we never ever touch the file we get the denial on [11:50] mvo: so I think something else may be broken [11:51] mvo: and we just see the weird side effect [11:51] zyga-solus: I see - I wonder how we can test this in an integration test [11:51] mvo: modprobe nvidia (maybe) if it sticks [11:51] zyga-ubuntu: what file gets the denials [11:52] [ 2879.277628] audit: type=1400 audit(1507710260.432:1680): apparmor=“DENIED” operation=“open” profile="/snap/core/3017/usr/lib/snapd/snap-confine" name="/sys/bus/pci/drivers/nvidia/uevent" pid=13789 comm=“snap-confine” requested_mask=“r” denied_mask=“r” fsuid=0 ouid=0 [11:53] not sure how this happens [11:53] hold on, I think I know [11:54] jdstrand said that nvidia is not in sysfs the regular way and added a hack for supporting udev tagging, remember? [11:54] one sec [11:55] b17d5ba8d46c269dbaba08c0484a13e1e1c9e9e7 [11:56] mvo: it is this patch [11:56] zyga-solus: strange that denial, I add the card now, bbiab (need to open the machine etc) [11:56] * Chipaca needs to reboot, brb [11:56] k [11:57] mvo: I'm making a patch [11:59] popey: still there? [11:59] popey: refresh to stable again [11:59] ok [11:59] popey: and edit the profile in /etc/apparmor.d/ [12:00] popey: the one for snap-confine on revision 3017 (if I recall correctly) [12:00] anyway, the latest one [12:01] popey: ls /sys/bus/pci/drivers/nvidia/ [12:02] popey: in the file you are editing go to line 6 (so inside the { } spanning the whole file) [12:02] popey: and add this line(s) (waiting for your ls output) [12:03] popey: /sys/bus/pci/drivers/nvidia/uevent r, [12:03] popey: then save the file and use "apparmor_parser -r /etc/apparmor.d/snap.core.3017.usr.lib.snapd.snap-confine" to re-load [12:03] popey: then start hiri again [12:03] ok. took a while to get to refresh core. updated now [12:03] popey: thank you [12:05] alan@hal:~$ ls /sys/bus/pci/drivers/nvidia/ [12:05] 0000:01:00.0 bind module new_id remove_id uevent unbind [12:05] ok [12:06] add the uevent line as I said, reload the profile and start hiri [12:06] we'll iterate till it works [12:06] ok [12:06] so added that one uevent r line [12:07] hiri still core dumps [12:08] denials? [12:09] [Wed Oct 11 13:09:07 2017] audit: type=1400 audit(1507723743.250:198339): apparmor="DENIED" operation="open" profile="snap.hiri.hiri" name="/proc/17939/mounts" pid=17939 comm="hirimain" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000 [12:09] [Wed Oct 11 13:09:09 2017] audit: type=1400 audit(1507723744.825:198340): apparmor="DENIED" operation="open" profile="snap.hiri.hiri" name="/etc/" pid=17939 comm="hirimain" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0 [12:09] [Wed Oct 11 13:09:09 2017] audit: type=1400 audit(1507723744.833:198341): apparmor="DENIED" operation="open" profile="snap.hiri.hiri" name="/proc/17953/mounts" pid=17953 comm="hirimain" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000 [12:09] [Wed Oct 11 13:09:09 2017] audit: type=1400 audit(1507723744.837:198342): apparmor="DENIED" operation="open" profile="snap.hiri.hiri" name="/proc/17954/mounts" pid=17954 comm="hirimain" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000 [12:09] nothing else? can you connect the mount interfaces [12:09] * ogra_ sets +q on popeybot [12:09] :P [12:09] or try a some simple opengl snap/ [12:10] i have another gl one that broke [12:10] https://www.irccloud.com/pastebin/saHHCGu4/ [12:10] (for ogra) [12:10] heh [12:11] https://www.irccloud.com/pastebin/1NEBw33c/ [12:11] and another [12:11] you can ignoe inet6 [12:11] popey: works? [12:11] no [12:11] all broken [12:12] https://www.irccloud.com/pastebin/FZfuNsJx/ [12:12] (and we shoudl really quieten it, they should not be printed if there is no v6 network configured) [12:12] ok [12:12] zyga-solus: \o/ for making a patch, let me know once I can test something [12:12] mvo: still at the /o\ stage, I need to wrap my head around this, I assumed a simple tweak would do but I think we tag things incorrectly somewhere and there are devices missing in the namespace [12:13] mvo: so no patch yet [12:18] popey: can you try a richer patch please [12:18] + # See https://github.com/snapcore/snapd/commit/b17d5ba8d46c269dbaba08c0484a13e1e1c9e9e7 [12:18] + /sys/bus/pci/drivers/nvidia/uevent r, [12:18] + /dev/nvidia[0-9]* r, [12:18] + /dev/nvidiactl r, [12:18] + /dev/nvidia-uvm r, [12:19] popey: reload the profile and watch journalctl -f [12:19] popey: then restart hiri [12:19] what was the generic name, on the phone, of things that mediated access to things? like the file manager [12:19] Chipaca: media hub [12:19] Chipaca, content-hub [12:19] ok [12:19] ah [12:19] sorry :) [12:20] but media-hub was clöose enough ;) (same thing. just for media files) [12:20] right, the content hub was one of them, wasn't there a name for all of them? [12:20] trusted helper? [12:20] trusted helper was the equivalent to snap intefaces [12:20] well, not really [12:21] we will use trusted helpers in snapd (we already use some) [12:21] still broken.. [12:21] (to allow direct accesds to bits ... like location or so) [12:21] anyway, distraction [12:21] popey: any denials? [12:21] did you reload the profile? [12:21] popey: try discarding the namespace (just to be sure, I don't think we need to) [12:21] http://paste.ubuntu.com/25719780/ [12:21] i did reload the profile [12:22] ^ me running hiri, goxel and ohmygiraffe [12:23] tried discarding namespace too, also fails [12:25] popey: go to /sys/fs/cgroup/devices [12:26] popey: what do you have there [12:27] lots of files, anything in particular you're interested in? [12:27] popey: snap.* [12:27] http://paste.ubuntu.com/25719806/ [12:28] great [12:28] go to hiri [12:28] then show devices.allow please [12:30] it's an empty file [12:30] --w------- 1 root alan 0 Oct 11 13:23 devices.allow [12:30] cat it [12:30] alan@hal:/sys/fs/cgroup/devices/snap.hiri.hiri$ sudo cat devices.allow [12:30] cat: devices.allow: Invalid argument [12:31] aww, drat [12:31] ok, one sec [12:31] darn [12:31] we don't log that [12:31] so [12:31] it's the oldest part of snap-confine [12:31] and one I barley touched [12:31] so it doesn't log anything useful [12:33] I'm afraid we need some build/edit cycles [12:34] is this something breaking in 2.28, or is it broken before that? [12:34] am installing 17.10 on an nvidia machine here for you if that helps [12:34] Chipaca: 2.28 [12:34] zyga-solus: is it a blocker? [12:34] popey: yes, very much [12:34] Chipaca: yes [12:34] zyga-solus: am I sad? [12:34] * Chipaca is sad [12:35] popey: thank you for spotting it though [12:35] np [12:35] zyga-solus: what aren't we testing? [12:35] do we need to have an nvidia 16.04 box as part of qa? [12:36] Chipaca: absolutely [12:36] ok [12:36] how do we do this? [12:38] Chipaca: I'd just make sure that cachio has a nvidia box to test on [12:39] Chipaca: and then try external target [12:39] cachio: you're about to become a gamer dude [12:39] Chipaca: and ensure we run opengl snaps as a part of that [12:39] :-D [12:39] (don't forget AMD) :) [12:39] * Chipaca forgets AMD because it sucks [12:39] * Chipaca looks for a fight [12:39] popey: we have no amd-specific code [12:39] shocked emoji [12:39] * Chipaca stops looking for a fight and starts looking for tea [12:39] * zyga-solus is starving, I need to break for food now [12:46] zyga-solus: took a little bit, had to tweaks various things in artful and had the wrong nvidia driver (how is a user supposed to know twhich of nvidia-NNN he/she needs?). anyways, I can test things now too [12:47] mvo: I think the driver package makes that [12:47] mvo: did you install the proprietary driver? [12:48] * kalikiana moving to a coffee shop, back in a bit [12:48] mvo: I'd like to know which devices are in the cgroup [12:49] popey: can you cat devices.list [12:49] popey: on your existing machine [12:49] yes [12:49] http://paste.ubuntu.com/25719909/ [12:50] popey: so [12:50] popey: it looks like we don't do nvidia part correctly [12:51] nvidia is 195 [12:51] I'll update the forum [12:55] popey: what do you have in "ls -l /dev/nvidia*" [12:55] popey: we may be able to test a fix on your system with some shell [12:55] https://www.irccloud.com/pastebin/AindIubf/ [12:55] i have a desktop machine here ready for you [12:55] pm... [12:58] popey: ok, let me ssh in and play, [12:58] popey: but I see what is broken [12:58] not sure why yet [12:58] kk [12:58] needs an update, so apt dist upgrade while you do other things :) [13:04] * popey gets quick bite to eat [13:04] will listen out for pings [13:07] hi, question: do we have kernel snap that is corresponding to "proposed kernel"? especially for pi2 kernel. may anyone know and please tell me the answer? (googled "pi2 kernel snap" and I think the answer is "no") [13:08] tai271828, proposed as in the proposed deb archive ? [13:08] ogra_: yes, and I just found this https://launchpad.net/pi2-kernel-snap [13:08] tai271828, the beta and candidate channels get uploads in sync with the proposed deb [13:09] ogra_: hmmm, cool, then I must misunderstand something, thanks for clarifying [13:09] ogra_: thanks! [13:11] tai271828, note that the pi2 kernel in stable is actually stuck due to the missing ability to upgrade gadgets on devices ... typically the snaps woould move on from beta/candidate to stable (but without working gadget upgades they wouldnt boot, the binary blobs are to old in the stable gadget currently) [13:12] ogra_: got it, thanks for the useful information. [13:12] :) === ikey|zzz is now known as ikey [13:35] PR snapd#4022 opened: interfaces/opengl: don't udev tag nvidia devices and use snap-confine instead (2.28) === JoshStrobl|zzz is now known as JoshStrobl [13:41] hi, what has changed between core snap 2898 and core snap 3017? Because this has broken the subiquity server image, /var/lib/snapd/seed doesn't seem to get processed correctly at boot and so subiquity doesn't start [13:42] slangasek: there were quite a few changes, do you have more details in what way things break? what can I do to reproduce? [13:43] mvo: you can download and boot http://cdimage.ubuntu.com/ubuntu-server/daily-live/current/artful-live-amd64.iso [13:43] slangasek: thanks, downloading now [13:43] mvo: the only thing visible in the systemd journal is that snap-confine can't find libudev.so.1 [13:45] slangasek: any denials in dmesg? [13:45] mvo, systemd from the PPA out of sync with the distro llibudev ? [13:45] mvo: apparmor="DENIED" on /rofs/etc/ld.so.cache [13:46] wow, where would /rofs come from ? [13:46] it's a live image [13:46] ah [13:46] so root is an overlayfs + squashfs [13:46] and the real path is not the apparent path [13:46] so I guess one of the changes was to confine snap-confine itself? [13:47] mwhudson: ^^ so, that's what's going on with the latest image [13:47] slangasek: we always had snap-confine confined [13:48] we do have a patch to systemd in the PPA that makes the core snap have a differentlly versioned libudev package thoough [13:49] mvo, that should have gone into a live-build hook instead i guess [13:50] (til the actual systemd SRU lands) [13:50] oh [13:50] https://launchpad.net/~snappy-dev/+archive/ubuntu/image/+packages?field.name_filter=&field.status_filter=published&field.series_filter=xenial [13:50] indeed, there's also a denial for /rofs/lib/x86_64-linux-gnu/libudev.so.1.6.6 [13:50] which is probably the real one [13:53] so, should we be extending the apparmor profile to account for /rofs as a special case? [13:53] given that the fix is actually something that should rather live in /etc/sysctl.d, we shoulld probably just rework it to come either via a llive-build hook or via ubuntu-coe-config [13:53] oh [13:53] that perhaps as well :) [13:53] jdstrand: ^^ ping [13:54] popey: I rebooted your machine, let's hope it re-connects [13:54] i see black screen [13:54] with a mouse cursor [13:54] (It could just be slow) [13:55] it's back, desktop up [13:55] ogra_: that systemd package can be removed from the ppa [13:55] ogra_: let me kill it now [13:55] +1 [13:55] sliff [13:56] ogra_: the actual fix is in the core build git [13:56] PR snapd#4023 opened: tests: fix econnreset scenario when the iptables rule was not created [13:56] ah, right [13:56] mvo, ogra_: does removing this systemd package from the ppa relate to the apparmor denials, or something else? [13:57] slangasek, just to "out of sync with the archive regarding versioning" ... i think the denial actually requires the addition oof /rofs [13:57] ok [13:57] I'll chase jdstrand in person, thanks :) [14:02] slangasek: what I wonder about is why this worked before. we always had an apparmor profile around snap-confine and never allowed /ro [14:03] ok further to my slightly skewiff snapcraft forum post, i need to create a snap without a core dependency, and apparently "bare" is the way for this. are any ubuntuisms expected of my snap, and is it possible for me to properly have my /lib64 /usr/lib64 /usr/bin etc directories present in my snap? [14:05] PR snapcraft#1606 closed: kbuild plugin: if the parts build dir already contains a .config file, use it as the base config [14:06] mvo: slangasek tracked me down. I suspect that the compiler options changed and libudev isn't being linked in statically [14:07] i want to make a decent steam snap and ironically that means not using ubuntu for the base of it, hence the query.. [14:07] mvo: I have a vague recollection that zyga touched this semi-recently (I could be wrong). We have traditionally statically linked in libseccomp and libcap (and honestly, libudev). not sure why this would've changed... [14:07] DEBUG: running snappy-app-dev add snap_snapd-hacker-toolbelt_busybox /dev/nvidia0 195:0 [14:08] DEBUG: running snappy-app-dev add snap_snapd-hacker-toolbelt_busybox /dev/nvidiactl 195:255 [14:08] DEBUG: running snappy-app-dev add snap_snapd-hacker-toolbelt_busybox /dev/nvidia-uvm 247:0 [14:08] DEBUG: running snappy-app-dev add snap_snapd-hacker-toolbelt_busybox /dev/nvidia0 195:0 [14:08] DEBUG: running snappy-app-dev add snap_snapd-hacker-toolbelt_busybox /dev/nvidiactl 195:255 [14:08] DEBUG: running snappy-app-dev add snap_snapd-hacker-toolbelt_busybox /dev/nvidia-uvm 247:0 [14:08] asdadsa [14:08] lol [14:08] popey: [14:08] zyga-ubuntu: i see ohmygiraffe [14:08] popey: is there a giraffe on your screen? [14:09] yes [14:10] popey: \o/ [14:10] mvo: slangasek mentioned udev as the denial. I see /rofs/etc/ld.so.cache referenced in backscroll. that might be related-- not sure when ld.so will be used if all libs are statically linked. if so, we need to add that to the profile [14:10] jdstrand: fwiw I just checked, and linkage of snap-confine is not different between the two images [14:11] although, do I need to look at snap-confine within the core snap itself? [14:11] sec, let me nest my loop mounts one level more [14:11] mvo (cc slangasek): however, I wouldn't expect snaps to work *today* on a live session, so this isn't a regression, is it? [14:12] slangasek: you would need to look in core, yes [14:12] (cause eof reexec) [14:12] jdstrand: looked inside core_2898; snap-confine in there is also dynamically linked against libudev [14:12] popey: is hiri running? [14:12] no [14:13] jdstrand: and this is a regression for subiquity specifically, which somehow *did* work before the core update, even if other snaps apparently do not [14:13] zyga-ubuntu: [14:13] its slowly loading [14:13] jdstrand: (we had it working in the 17.04 image, and it was working in artful dev until today) [14:13] ah [14:13] yes, i see hiri now [14:13] popey: wooot [14:13] popey: so we have a fix [14:13] yay [14:13] slangasek: I wonder why subiquity is (now?) using a snap... [14:13] I mean, why is snap-confine running at all? [14:14] cause, if we fixed this issue and made snap-confine be happy, it'll then launch something that will be sad (if in strict mode) [14:14] jdstrand: that is also not new - it was a) let us move faster with subiquity during release freeze, b) dogfood snaps, c) make subiquity something that anyone can download into a maas ephemeral environment [14:15] it's a classic snap, not strict [14:15] ok. I find this quite curious. what happens if you allow /rofs/etc/ld.so.cache? [14:15] I guess you just need read? [14:16] I expect so [14:16] allow it> by editing the apparmor profile in the live env? [14:16] slangasek: yes [14:17] grab the profile that corresponds to the core snap [14:18] slangasek: use snap list to get the revision of core. then edir /etc/apparmor.d/snap.core..usr.lib.snapd.snap-confine [14:19] slangasek: if that is ro, just cp /snap/core/current/etc/apparmod.d/usr.lib.snapd.snap-confine [14:20] slangasek: then modify and load that copy [14:20] jdstrand: well, thus far 'snap list' says nothing, because things fail early enough that the seed is never fully processed AFAICS. But yeah, I'll dig, thanks [14:21] zyga-solus: fyi, rofs might actually be a future consideration for snap-confine.d (ie, snapd detects it is in a live image, adds some policy) [14:21] zyga-solus: all future, nothing to do now [14:21] jdstrand: hello [14:21] jdstrand: future as in in the next 6 days for artful release? [14:21] jdstrand: we need your review on https://github.com/snapcore/snapd/pull/4022 [14:21] PR #4022: interfaces/opengl: don't udev tag nvidia devices and use snap-confine instead (2.28) [14:22] slangasek: you don't need snp listist then, just copy out of current like I said [14:22] jdstrand: it's an urgent fix for 2.28.x [14:22] * jdstrand nods [14:23] mvo, jdstrand: if we need this rofs support for the artful release we should know and do this now so that it's ready [14:23] (on time) [14:23] PR snapcraft#1588 closed: lxd: use SUDO_UID for ID mapping [14:25] slangasek, jdstrand: if you are sprinting now and make this decision please tell mvo and me ASAP [14:25] zyga-solus: we are sprinting but are in different rooms ;) [14:26] PR snapcraft#1348 opened: repo: setup a foreign arch and sources [14:26] PR snapcraft#1382 opened: rust plugin: make libc configurable [14:26] aaaand now I've booted this image again and the problem did not reproduce. yay? [14:26] lol [14:26] so possibly racy on top of everything [14:27] PR snapd#4024 opened: debian: fix replaces/breaks for snap-xdg-open (thanks to apw!) [14:27] slangasek: not yay [14:27] slangasek: mvo said it doesn't work for him [14:28] zyga-solus: snapd doesn't work, or reproducing doesn't work? [14:28] I just rebooted and reproduced the failure again [14:28] slangasek: I had downloaded the image, booted and it failed [14:28] slangasek: let me try again [14:28] slangasek: but yeah, looks racy [14:29] * kalikiana food [14:29] zyga-*: http://cdimage.ubuntu.com/ubuntu-server/daily-live/current/artful-live-amd64.iso [14:31] mvo, zyga-solus: reviewed 4022 [14:32] jdstrand: what shall we do about the /ro issue from slangasek? add support for that too? [14:33] jdstrand: I'm still puzzled how this evar worked? [14:33] jdstrand: so if I edit the profile under /etc/apparmor.d, apparmor_parser -r, and systemctl restart snapd, snapd overwrites the profile again and loads the original [14:34] jdstrand: so I'm not sure how I should test the result [14:35] mvo: fyi, I recommended even better future-proofed rules [14:35] jdstrand: in 4022? yeah, +1 for that [14:35] slangasek: please don't restart snapd, it should be fine without a restart [14:35] mvo: re 4022> note, I recommended one set, and 3 seconds ago recommended a better set [14:35] mvo: so what should I do in order to test? [14:35] slangasek: and yes, on restart it will rewrite the rules, it is very opionated about that [14:35] all the snaps get unmounted [14:35] jdstrand: heh, ok [14:35] mvo: I'm puzzled too [14:36] slangasek: the test is, load the profile and don't restart snapd [14:36] slangasek: uh, you need to restart snapd so that it applies the seed, right? [14:36] jdstrand: ok but then what? [14:36] slangasek: then launch whatever subiquty is doing [14:36] what subiquity is doing is running the bits from the snaps, that are not mounted, because snap-confine failed and things were rolled back :) [14:36] slangasek: what changes did jdstrand suggest? [14:36] that is a fun spelling [14:36] kalikiana, so it seems that adding the network slot to the lxc app actually makes it not work with network :) [14:36] quite odd [14:37] mvo: adding /rofs/etc/ld.so.cache as a test [14:37] mvo: an r rule for the /rofs/ ld.so.cache [14:37] (that isnt the full path [14:37] ) [14:37] slangasek: ta, I can try that and snap install /var/lib/snapd/seed/snaps/* manually [14:37] man, irc is *laggy*... [14:37] ah, testing that here as well [14:38] yes, snap install a classic snap [14:38] apparmor profile overwritten again [14:38] then run snap run --shell snap.command [14:38] that is enough to get snap-confine going [14:38] but this time the core snap has stayed mounted [14:38] popey: is the giraffe still around? [14:39] yes [14:39] jdstrand: I see apparmor denials for both ld.so.cache and libudev [14:39] jdstrand: where did you push it? [14:39] zyga-ubuntu: I haven't pushed anything [14:39] ah sorry [14:40] slangasek: I suggest copying the fileand loading that [14:40] snapd shouldn't rewrite the file and load it then (and if it does, at least your changes aren't overwritten, you need only reload) [14:41] jdstrand: oh, because the file doesn't have to have the same name as the path? hurr ok [14:41] yes [14:42] slangasek: it is the contents of the file that matter. the filename is just convention [14:43] jdstrand: ok. I have to add rofs for both libudev and ld.so.cache, and then I get farther... and then we get the same error for libpthread.so.0 [14:43] mvo: I'm curious. with 4022, with only the code changes, the apparmor rules are required? [14:43] jdstrand: why are the libs from the rootfs being used instead of those inside the snap? [14:43] isn't that the real issue here? [14:43] jdstrand: I am not sure if they are strictly required, I had some denials when testing hiri [14:43] zyga-ubuntu: giraffe is back! [14:44] popey: great [14:44] popey: so it works [14:44] I'll close the window now, that's all I need [14:45] popey: thank you very very much [14:45] slangasek: I think what was maybe happening before is that snapd was considering the live session as "not Ubuntu' and running snapd in non-restrictive mode [14:45] mvo: does that sound plausible? ^ [14:45] zyga-ubuntu: np, shall I shut this down now? [14:45] jdstrand: let me check os-release [14:45] popey: yes, I think it's good now [14:45] kk [14:46] popey: just label it "zyga" and put it on the shelf ^_^ [14:46] (kiddin) [14:46] was about to ask :D [14:46] (and snap-cofine's profile wasn't loaded and between the two, things worked cause snap-confine wasn't confined) [14:46] jdstrand, slangasek: fwiw, I added /rofs/a-bunch-of-libs, now it fails on /vow/upper/var/lib/snapd/cookie [14:46] yeah, this is exactly the road I was talking to slangasek about running snaps in t he live image the other day [14:46] we aren't gong to fix this whack-a-mole [14:47] we need the previous behavior when on live session [14:47] snap-cofine should not be confined and snapd needs to be cool with that [14:47] jdstrand: well, os-release says ID=ubuntu so previous versions *should* have confined it too [14:48] jdstrand: but obviously reality disagrees with me [14:48] jdstrand: aha [14:48] this is indeed puzzling [14:48] jdstrand: by sayin "shoud not be confined" do you mean that in live sessions we should unload the profile [14:48] previous working image still available at http://cdimage.ubuntu.com/ubuntu-server/daily-live/20171010.1/artful-live-amd64.iso for comparison [14:48] jdstrand: or just disable apparmor in the kernel? [14:48] oh [14:48] yes [14:49] slangasek: I thought for live fs there was something about detecting if apparmor was there and not using it [14:49] passing apparmor=0 [14:49] something in the init script [14:49] oh? let me see [14:50] I don't find any references to that in livecd-rootfs [14:50] something... (I can't recall the details) [14:50] a userspace process is allowed to disable apparmor after boot? [14:51] jdstrand: that sounds very plausible to me, if apparmor is disabled we detect that and things should work [14:53] ackk: Interesting. Not what I would've expected... [14:53] ah [14:54] mvo, slangasek: I bet what is happening is that the apparmor initscript is not loading /etc/apparmor.d. *but* snapd is reexcing and loading snap-confine's profile [14:54] mvo, slangasek: so napd needs to detect if on live session and not do that [14:55] slangasek: disable apparmor after boot> no. userspace can choose to not load profiles though [14:56] mvo: fyi, /lib/apparmor/functions /profile-load has: [ -d /rofs/etc/apparmor.d ] && exit 0 # do not load if running liveCD [14:56] I gotta run [14:56] test -d /rofs/etc/apparmor.d && exit 0 [14:57] that's in the apparmor init script [14:59] PR snapcraft#1573 closed: WIP project_loader: parse YAML without processing it [15:00] I wonder how can we detect that [15:00] being in live session [15:00] well, see above ... if /rofs exists ... [15:00] slangasek: the old image (based on 2898) fails in the same way for me [15:01] (there are many other indicators though ... ) [15:01] kyrofa, sergiusens: Can I get a final review on https://github.com/snapcore/snapcraft/pull/1412 [15:01] PR snapcraft#1412: lxd: snapcraft refresh in containers [15:01] jdstrand: (see above, the previous 2898 is broken for me as well) [15:02] slangasek, jdstrand: on reboot it works now [15:03] mvo: so, reexec for snap-confine is loading the appropriate profile into the kernel. it shouldn't on livefs (see reference from me and slangasek, above) [15:04] mvo: in the reexec code, just looke for /rofs/etc/apparmor.d and don't load [15:04] that should immediately fix this issue [15:04] jdstrand: ok [15:04] I can't comment on when it was first introduced [15:04] (the regression) [15:05] . we've had reexec for ages, so not sure what it is showing up only now [15:05] perhaps it should simply boot completely without reexec in live ? [15:05] sergiusens: elopio: Also a real review here would be appreciated https://github.com/snapcore/snapcraft/pull/1568 [15:05] PR snapcraft#1568: lxd: don't re-inject the same snaps [15:05] (given thats a simple env var that might be easier to implement) [15:05] ogra_: that would be simple. I don't know the requirements for livefs [15:05] just use the deb until you install [15:06] that does seem reasonable to me. mvo? ^ [15:06] kalikiana: I'm still confused by that one. Aren't we checking the md5 of the .snap file? [15:07] jdstrand: yes, working on a patch now [15:07] mvo, just addint SNAP_REXEC=0 to casper defaults would do [15:07] elopio: Then let's discuss it :-) Yes, md5sum is used to see if the files are the same [15:07] (assuming server uses casper for live) [15:08] ogra_: interessting - jdstrand, what do you think about about " mvo, just addint SNAP_REXEC=0 to casper defaults would do"? [15:09] elopio: Did you run it more than once with the same container while testing? If you do a cleanbuild you won't see a difference [15:09] kalikiana: so, I don't understand why it knows that the core snap is the same and doesn't reinstall it, but it doesn't work the same way for the snapcraft snap and it is reinstalled? [15:10] mvo: I think that is very reasonable [15:10] I suspect you can test that right now [15:10] kalikiana: Sergio said it's because core comes from the store, and the snapcraft snap is a --dangerous install. But if we are checking the .snap, I don't understand that difference. [15:11] I forget how casper works otoh [15:11] elopio: Was the snapcraft snap the same? From your comment I can't tell [15:11] jdstrand: could you pass it to steve, he seems to have dropped from irc. I will wait for his feedback and otherwise I will go ahead with a 2.28.4 with the nvidia fix but without any special subiquity [15:11] I need to focus on the sprint atm. I'' check back [15:11] mvo: yes [15:11] elopio: it should work for x versions as well, as long as the md5sum matches [15:11] mvo: please don't fork 2.29 before we backport all the fixes from 2.28 to master [15:11] jdstrand: thank you! I will be here waiting for feedback [15:11] zyga-ubuntu: +100 [15:12] kalikiana: I think so. I built a snapcraft.snap from your branch. Installed it with --dangerous. Ran container builds once, core and snapcraft are installed. Ran it again, only snapcraft is installed. [15:14] so it's identifying the repeated core. But as far as I understand, it should also identify the same snapcraft. Unless I'm missing a step or misunderstanding something... [15:16] elopio: Yeah. It's just the .snap files. [15:21] elopio: Does the code make sense to you? I don't know if there's a case I'm missing... [15:24] I think it makes sense. From reading the code, I got the idea that both store and local snaps would be checked and installed only if needed. kalikiana is there something you want me to try here? [15:26] kyrofa: ping. We are getting this in artful and zesty: http://paste.ubuntu.com/25720772/ [15:26] * kalikiana thinking [15:26] elopio, those tests should be tagged as xenial-only [15:27] elopio, are you moving them around by any chance? [15:28] sergiusens: btw this is also waiting on your re-review https://github.com/snapcore/snapcraft/pull/1546 [15:28] PR snapcraft#1546: cli: update parts cache in the container [15:30] elopio: I just tried here again, with a new container, works 100% fine... `SNAPCRAFT_CONTAINER_BUILDS=1 snapcraft -d pull` twice, second time I get `Not re-injecting same version of 'snapcraft'` [15:31] elopio: Did you test this way also? [15:31] kyrofa: I don't think I've touched them. And I see no != xenial skip in there. I can add it. [15:31] kalikiana: I tried without the `-d pull`. I can try again [15:32] elopio: The `-d` is just so you see the message, any command is fine [15:32] pull is just the cheapest operation [15:33] elopio, hmm. That error isn't really unusual though, I'm surprised we haven't seen it more [15:33] elopio, we should add a way to ack pubkeys [15:36] kyrofa: so, how does it pass on xenial if it can't validate the keys? Could this be caused by a newer apt version or something like that? [15:36] elopio, yeah maybe. Or sha1 invalidation? [15:36] We need to investigate [15:36] Rather: I will investigate :) [15:37] I've got a few things on my queue though-- can it wait a bit? [15:37] kyrofa: do you want me to propose the skip? [15:37] elopio, it depends on how soon you need those tests to pass [15:39] kyrofa: I don't yet have the xenial results yet, but it seems to me that's the last blocker for the release. I'm not sure if sergiusens wanted to release this week, or the next. [15:39] /me -> math with son, ping if emergency [15:40] kalikiana: so, please confirm the steps I'm running. Checkout your no-reinject branch, build a snap from that branch, install that snap. snapcraft init, and SNAPCRAFT_CONTAINER_BUILDS snapcraft twice. [15:42] elopio: assuming you have =1 in there like I did above, yes [15:43] elopio: Do you see log messages about installing or "not re-injecting"? [15:44] I will let you know in a few minutes when I have the snap built. [15:44] I didn't run with --debug, I will do that this time. [15:50] elopio: Okay. Thanks a lot! [16:00] kalikiana: now it seems to work: http://paste.ubuntu.com/25720936/ [16:00] I can't explain how I got the log with only snapcraft reinstall :/ [16:01] mvo: re, all good? [16:02] PR snapcraft#1590 closed: setuptools: conditional Debian-specific deps [16:02] elopio: Interesting. The inherent problem with manual testing I guess... [16:04] kalikiana: oh wait, maybe I know! [16:05] on my previous log, my snapcraft version was x2. So I reinstalled the snap snap, and ran two container builds from scratch. [16:06] kalikiana: http://paste.ubuntu.com/25720968/ same log as before. Any idea how x2 could be different from x1? [16:06] zyga-solus: still waiting for slangaseks feedback is seeding SNAP_REEXEC=0 in casper is sufficient [16:08] mvo: I advised slangasek to use SNAP_REEXEC=0 and he is testing that [16:09] jdstrand: cool, thanks [16:10] jdstrand, mvo: I am somewhat contended right now (just pulled into another meeting), I am going to test it as quickly as possible but don't know if I'll get it done before lunch (eta 20m) [16:11] slangasek: thank you, keep me updated. I'm preparing a new snapd right now but will wait with the release until you had a chance to test the env string [16:12] slangasek: I will just wait for your feedback [16:12] ok [16:12] mvo: does that mean that, once tested, you will be fixing this via snapd and I don't need to change livecd-rootfs? [16:13] slangasek: the other way around :) [16:13] mvo: once tested, I will change it in livecd-rootfs and you will make no changes to snapd? :) [16:13] slangasek: if the re-exec env does not work for you I can fix in snapd, otherwise I will leave it out of snapd [16:13] ok [16:13] slangasek: correct [16:14] kalikiana: here's an idea. When snapcraft is x2 in the host, in the container it will be installed as x1 on the first execution. On the second execution it compares x2 with x1, and then reinstalls it on the container. Now both the host and the container have x2, so the third execution will not reinstall it. Would that make sense? [16:14] slangasek: I think it makes more sense to customize the env in casper than to hardcode this behaviour in snapd. if you give me a pointer how I can do it I can test it here myself [16:16] mvo: the rootfs is an overlay, so everything is editable; I was going to drop a snippet into /etc/systemd/system/snapd.service.d/ that sets Environment=SNAP_REEXEC=0 [16:16] mvo: file extension must end in .conf, and Environment must be set under a [Service] block [16:19] slangasek: ta [16:19] slangasek: testing now === JoshStrobl is now known as JoshStrobl|AFK [16:26] mvo: tested here also, and it passed [16:26] mvo: this isn't super-urgent since the apparmor accesses for snap-confine for the nvidia thing are safe, but I'm really puzzled how a stat on a file in /dev is causing those for you. I *think* the root cause was that my original PR was always intended for 2.28, but for some reason didn't make it there (so that is something to consider how to improve) [16:27] elopio: Ah. Yes. It would be looking for the same x2.snap which wouldn't be there. [16:27] slangasek: reliable?that is great [16:27] elopio: Unfortunately the x is a continuous number, nothing we can do here [16:28] jdstrand: I'm not sure either, I think we need to do a proper retrospect on this [16:28] jdstrand: when the fires are out of course :) [16:28] jdstrand: could it be the snappy-dev-app helper? [16:28] jdstrand: so probably post-sprint [16:29] mvo: sure, that's fine. there were several issues. I want to make sure they are all knownand addressed [16:29] jdstrand: yeah, I think we are in agreement [16:29] jdstrand: do you think we need more for the .4 release? [16:29] mvo: for example, I thought I did the initial PR inenough time for it to be in 2.28 (indeed, I worked on it with priority so it would be there), but I must have missed a fork [16:30] jdstrand: I can check the exact timing [16:30] sergiusens: Can this be merged, please? https://github.com/snapcore/snapcraft/pull/1512 [16:30] PR snapcraft#1512: pluginhandler: clean error for BasePlugin.run{,_output} [16:30] mvo: so, why did I miss that, how can I not miss it in the future, how can snapd team make that easier for me. that sort of thing [16:31] jdstrand: was the PR tagged for 2.28? [16:31] (tagged as in github milestone) [16:31] jdstrand: +1 [16:31] mvo: obviuosly there is the QA aspect (why didn't QA see that an lxd consuming snap broke, why didn't qa see that opengl failed on nvidia) [16:31] (I know that last one, the CI tests don't have nv hardware, which is why I mocked it) [16:31] * jdstrand happens to also not have nvidia hardware [16:31] jdstrand: qa process doesn't involve nvidia unfortunately [16:32] * jdstrand nods [16:32] zyga-suse: right, so we need to figure out how to do that, even if manual, whenever we see changes for nv [16:32] eg, hey zyga-suse, I patched something with nvidia, can you test real quick? [16:32] jdstrand: agreed [16:33] jdstrand: we were discussing similar measures [16:33] niemeyer also said we should all run candidate. [16:33] jdstrand: all releases smoke tested on nvidia HW [16:33] jdstrand: and also all nvidia-touching code really tested as well [16:33] anyway, don't have to discucss here. niemeyer and I talked about it. I'd like to participate in the post-mortem to make sure I know all the agreements and can adhere to them [16:34] +1 [16:34] zyga-suse: yeah [16:35] like, I *knew* nvidia was busted. so I did the PR. unfortunately it didn't hit .28(failing), the fact that I happened to notice nv would fail was a failing. if we actually needed additional apparmor rules, that was also a failing (I'm really curios if they were actually needed) [16:35] ok, lunch [16:35] PR snapcraft#1536 closed: repo: implement :target suffix for package names [16:36] jdstrand: we need apparmor permissions to stat files, right? [16:38] elopio: Can you please comment on the PR? I'm really trying to get my list of PRs down :-D [16:39] uh, sorry, my comment was caught in a network issue. [16:40] elopio: Ah, I see it now... not to be demanding, but I was thinking *review* comment ;-) [16:40] slangasek: for me the journy was slightly more complicated, when I do "printf "[Service]\nEnvironment=NO_REEXEC=0" > /etc/systemd/system/snap.subiquity.started.service.d/no-rexec.conf" (and added the basedir) things work, but it needs to be that because the "snap run" that starts subiquity is indepedent of snapd and will not inherit the environment [16:40] kalikiana: you have it. [16:40] slangasek: *if* this is a sufficient workaround for now I will go ahead with 2.28.4 [16:41] slangasek: and leave the re-exec disable to casper. I can help with the PR if you point me to the right branch once .4 is out :) [16:41] elopio: Ah, you did it separately. This distinction between "just comment" and proper reviews is really silly... but anyway, thanks a lot! [16:41] mvo: yes, that looks like a sufficient workaround to me [16:41] mvo: I'm going to shove it into livecd-rootfs rather than casper [16:41] slangasek: thank you, that sounds good as well, let me know if I can help [16:43] kyrofa: Can you please check this one again? I addressed your comments https://github.com/snapcore/snapcraft/pull/1577 [16:43] PR snapcraft#1577: lxd: don't inject local snaps on a different arch [16:43] also elopio ^^ [16:44] kalikiana: I like that distinction. I don't feel good about -1 a PR when I don't understand something. Like in this case. [16:44] one could argue that a -1 is the right thing to do, because this behaviour should have been explained in a PR comment somewhere. But still it's not clear if it's my fault because I'm being dumb, until we dig further. [16:46] elopio: Hmm yeah. To me it would be clearer if you could have a ? icon there, and turn it into a +1 or -1 as needed, like the "approve" and "discmiss" buttons you get at the bottom [16:46] Really the fact that it splits the work-flow so weirdly is what bugs me [16:47] a review for 4024 would be great [16:47] you missed the # there [16:52] * zyga-suse looks [16:52] PR snapd#4024 closed: debian: fix replaces/breaks for snap-xdg-open (thanks to apw!) [16:53] ah, I just looked from another computer :) [16:57] PR snapcraft#1348 closed: repo: setup a foreign arch and sources [16:57] mvo: tests on 4022 are incredibly slow [17:02] * kalikiana still waiting on #1587 and #1577 wondering if sending European chocolates to his colleagues would help [17:02] PR #1587: store: deal with 404 froms the SSO store properly [17:02] PR #1577: daemon, cmd/snap: refresh --devmode [17:03] * zyga-suse -> supper and clenaup [17:03] kalikiana: presumably snapcraft#1587 and snapcraft#1577 [17:03] PR snapcraft#1587: lifecycle: clean after deleting container [17:03] PR snapcraft#1577: lxd: don't inject local snaps on a different arch [17:04] Chipaca: Thanks, yeah. I guess ids are not unique... [17:04] kalikiana: yeah, and they're similarly small numbers [17:05] otherwise mup does guess they're something else (e.g. #1688531) [17:05] Bug #1688531: Remove whitespace line between tracks in 'snap info' [17:06] anyway, EOD for me [17:06] o/ [17:13] zyga-suse: you do *not* need apparmor rules for the files to stat them. you need read on the directory the files are in. That is why I am puzzled why the /dev accesses were needed (and why the /sys denials popped up). [17:13] I suspect the /sys accesses are just noise and that the /dev accesses are not needed at all [17:13] aha, interesting [17:13] I didn't know that, I agree that some of those are probably not needed in that case [17:14] this is why the mocked nvidia devices passed the test [17:14] I was trying to be conservative in hard situation (time running out, remote access to hardware) [17:14] spread tests [17:14] I'll gladly research why the sys access showed up [17:14] I'm super-curious on that. also curious if they still show up if they are just noise [17:15] I suspect they are cause snap-confine isn't going to do anything with any of that. it is just going to stat the files and add them to the cgroup [17:15] * zyga-suse was hoping to do some updates on snap-update-ns but today turned out different [17:16] I found a bug where snap-update-ns doesn't do what it should, I need to debug that [17:16] but now I need a break [17:16] o/ [17:16] I suspect the udev lib calls snap-confine does a little earlier are triggering those, then udev ignores nvidia and moves on. then we stat and are good [17:16] zyga-suse: my curiosity is certainly not a reason to deprioritize other things :) [17:17] I would like to remove the /dev rules if possible [17:17] no no, it's not your fault, I'm just tired and I want to wrap up that branch before jumping onto other topics [17:17] who knows, maybe in .5 :) [17:17] * zyga-suse knocks on wood [17:18] cause access to the devices is more than the setuid snap-confine needs (though, it is just read, but still) [17:18] jdstrand: I'm surprised stat is not triggering apparmor checks btw [17:18] there is a bug on that [17:19] * jdstrand finds [17:19] jdstrand: it's an information leak via (very) expensive enumeration [17:19] aha [17:19] so it will be changed eventually? [17:19] https://bugs.launchpad.net/apparmor/+bug/1655435 [17:19] Bug #1655435: stat() unconditionally allowed via apparmor_inode_getattr() [17:20] zyga-suse: not in a way that we wouldn't know about it [17:20] and also, not any time soon [17:20] apparmor could conceivably grow a 'stat' perm (as opposed to read and write) [17:21] but backc in the day that was implemented and it was amazingly annoying. no one is working on it [17:21] not a weekend project? [17:38] zyga-suse: yeah, I am waiting for two tests right now :/ [17:38] I'm assembling furniture [17:39] zyga-suse: 4022 is green now [17:39] I think we are doing the same thing lately :) [17:39] zyga-solus: heh, enjoy, I will do 2.28.4 now - but first I check the forum if there is anything else we need to do [17:39] good call [17:40] PR snapd#4022 closed: interfaces/opengl: don't udev tag nvidia devices and use snap-confine instead (2.28) === cachio is now known as cachio_afk [17:57] PR snapd#4025 opened: release: merge the snapd 2.28.4 changes back into master [18:22] cachio_afk: just a heads-up - we should have a 2.28.4 in beta in ~1h that fixes the opengl issue [18:26] Bug #1722882 opened: Ubuntu Core 16: Error: cannot refresh "pi2-kernel": snap "pi2-kernel" has changes in progress [18:41] zyga-suse: heh, no, not a weekend project. I mean, the mediation itself wouldn't be bad (iirc), it would be the policy implications. [18:59] jdstrand: do you think it's feasible to introduce a change that is backwards compatible? [19:00] jdstrand: (stat keeps being allowed in absence of policy but can be controlled) [19:19] zyga-solus: just fyi, the world is conspiring against us: https://code.launchpad.net/~snappy-dev/+snap/core/+build/90572 - my fresh core build with 2.28.4 does not upload to the store :/ [19:25] a review for 4025 would be great [19:35] mvo: :-( [19:35] mvo: I'll review it in a sec [19:37] PR snapd#4025 closed: release: merge the snapd 2.28.4 changes back into master [19:40] cachio_afk: 2.28.4 is in beta now and ready for testing towards candidate [19:52] zyga-solus: yes. it is possible to say 'you haven't specified any stat rules, so I'll let you stat. if you add a stat rule, every stat is mediated. that is possible [19:52] jdstrand: maybe I could work on that eventually, I'd like to [19:57] zyga-solus: honestly though, there are a number of info leaks-- I'd prefer to see fixing those. all of a sudden mediating stat is ging to be *painful* for policy [19:57] anything small? [19:59] I would suggest going to #apparmor on OFTC and asking if there is something bitesize [19:59] ok [19:59] the one I want is kernel variable, so @{pid} corresponds to your pid [19:59] but that is not at all bitesize :) [20:02] PR snapd#4020 closed: tests: add test for lxd interface === cachio_afk is now known as cachio [21:06] PR snapcraft#1607 opened: python plugin: use extracted pip [21:14] any way to not have snap directories show up as actual drives in applications? [21:15] For some reason applications like Firelight pick them up as seperate drives. [21:15] check udisk2 interfaces ? [21:15] https://docs.snapcraft.io/reference/interfaces [21:16] thanks I will [21:20] gouchi, how will that help with hiding the mounted snaps? [21:20] oops sorry I misread [21:21] I understood how to access drives [21:21] sorry my mistake [21:22] JonelethIrenicus, snaps are simply squashfs images mounted into place [21:23] JonelethIrenicus, those applications are probably picking them up like any other disk image === JoshStrobl|AFK is now known as JoshStrobl [22:12] PR snapd#4026 opened: overlord/auth: continue for now supporting UBUNTU_STORE_ID if the model is generic-classic