/srv/irclogs.ubuntu.com/2019/07/18/#snappy.txt

=== morphis6 is now known as mophis
=== mophis is now known as morphis
=== JanC_ is now known as JanC
pedronismvo: hi, I reworked 702008:34
mvopedronis: nice, thank you. I have a look08:35
Chipacapedronis: do you remember offhand if aliases can have underscores in them?09:04
* Chipaca has the silliest doubts09:04
pedronisChipaca: they can09:04
Chipaca(this is related to a user question)09:04
pedronisthey allow quite a bit more latitude than app names09:04
pedronisbecause one of their goals is to support a reasonable range09:04
pedronisof upstream binary names09:04
Chipacagood good :-)09:05
Chipacasomebody i swanting to package a jenkins plugin09:05
Chipacaand it seems those use underscores09:05
Chipacaso aliases ftw09:05
Chipaca(and a snapped jenkins would be yuge)09:05
pedronis^[a-zA-Z0-9][-_.a-zA-Z0-9]* is their regexp09:06
pedronisoops with a $09:06
Chipacawhoa, england remembered how to rain09:10
pedronismvo: mmh, we did this experimentally:  cmd/snapd: ensure GOMAXPROCS is at least 209:28
pedronis but it didn't help. did we remove it ?09:28
mvopedronis: we did not remove it, there is a card, I can do thi snow09:38
Chipacasomething weird just happened09:39
Chipacaor maybe not i'm not sure09:39
ChipacaI merged #708309:39
Chipacaand #7086 also merged09:40
Chipacawere those two the same thing?09:40
Chipaca(that would explain github showing no diff … i thought it was just confused)09:40
Chipacathose are 3/4 and 4/4 of the snapd type work09:40
Chipacatruly I don't see a commit in 4/4 that is about what 4/4 claims to be about09:41
Chipaca¯\_(ツ)_/¯09:42
WimpressMorning o/09:43
pedronisChipaca: yes, seems there is no actual renaming there (??)09:43
Chipacayeah, probably a mis-push09:43
Chipacamade a note about it09:43
WimpressI just upgrade from 19.04 to 19.10 daily and more than half my installed snaps are showing a "broken" in `snap list`.09:43
ChipacaWimpress: kernel 5.209:43
ChipacaWimpress: buggy mc bug09:43
WimpressAwesome.09:43
Wimpress"mc bug" being?09:44
ChipacaWimpress: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/183691409:44
WimpressThanks.09:44
Chipacaniets te danken09:44
Chipacaclearly it's suse's fault09:45
ograChipaca, leave my girlfriend out of the discussion please !09:48
Chipacaogra: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1836914/comments/509:49
Chipacaogra: i have iferrutable evidence09:49
Chipacaor is that iferrutable edivence09:49
mvothe two ubuntu-core-18 prs from sergio need a second review and should be easy wins09:49
ogralol09:50
ogradamn ... i'll talk to her then to not do such stuff in the future09:50
WimpressChipaca: Anyway to manual remount the "broken" snaps?09:51
ChipacaWimpress: if you're brave, yes09:52
ChipacaWimpress: snap list --all09:52
ChipacaWimpress: remove disabled,broken snaps09:52
Chipaca(just to make things easier)09:52
ChipacaWimpress: then, disable+enable broken snaps09:52
ChipacaWimpress: should do it09:52
ChipacaWimpress: let me know, as i haven't heard back from anybody that's done this09:53
* Wimpress drinks brave juice09:53
* Chipaca spikes Wimpress's juice09:53
WimpressRemove the disabled snaps firs?09:53
ChipacaWimpress: in --all, yes, ie old revisions that just happened to not mount09:53
Chipacasomebody let popey know not to jump to 5.2 because this'd be a nightmare for him09:54
WimpressI have done09:54
Chipacait starts hitting people at ~40 snaps mounted09:54
WimpressHe is on vacation.09:54
* Wimpress has 287 snaps installed09:54
Chipacai know, thank you for letting him know09:54
* Chipaca hugs Wimpress 09:54
ChipacaWimpress: i didn't have you on my list of people with a lot of snaps, i do now09:55
mvoChipaca: any tl;dr updates on the mount issue?09:57
Chipacamvo: kernel bug09:57
Chipacamvo: don't use 5.2 for a bit09:57
Chipacamvo: https://github.com/torvalds/linux/commit/33ec3e53e7b1869d7851e59e126bdb0fe0bd198209:58
Chipaca(if you're curious)09:58
Chipacamvo: it's very much a race, hits once you're at ~40 snaps mounted (counting old revisions etc, so ~13 snaps is enough if you've got the usual 3x)09:59
popeyChipaca: thanks. I'm on vacation nowhere near snaps :)09:59
Chipacapopey: i didn't intend for that to reach you synchronously on vacation10:00
popeyI have 287 snaps at the last count10:00
popeyIt's cool :)10:00
WimpressSnap10:00
popeyGood to know!10:00
WimpressI had 287 until I started sorting this out.10:00
popeyHaha10:00
popeyThat's 287 X 3 here :)10:00
popeyAnyway, have fun. Bye!10:01
* Chipaca has fun as instructed10:01
* Chipaca ensures to always have a company-approved amount of fun10:01
* Chipaca sets up N+2 sources of fun to accommodate network issues and demand surges10:02
WimpressChipaca: The disable/enable trick doesn't work :-(10:03
Wimpress`- Setup snap "mumble" (463) security profiles (cannot find installed snap "mumble" at revision 463: missing file /snap/mumble/463/meta/snap.yaml)`10:03
Chipacaah10:03
WimpressGet something like that during the enable ^10:03
ChipacaWimpress: so10:03
ChipacaWimpress: the issue is more complicated probably10:03
ChipacaWimpress: try disabling/enabling *everything*10:03
* Wimpress decides to get coffee...10:04
Chipacathe problem is the kernel gets the loop devices discombobulated with their backing file10:04
Chipacaso maybe snap A shows up as broken but it's snap B that needs to be disabled to release the device10:04
ChipacaI don't know10:04
* Chipaca weeps10:04
* Chipaca remembers having fun10:05
Chipacamvo: is this affecting people not on the bleeding edge?10:08
WimpressChipaca: I'm down to 25 snaps.10:21
Wimpress5 are broken.10:21
ChipacaWimpress: at this point a reboot might be easier10:21
WimpressI am remove a couple of snaps. Rebooting. See how many are broken.10:21
ChipacaWimpress: ah10:22
Chipaca:-/10:22
WimpressI am starting to suspect there is not alower limit on the number of snaps installed.10:22
ChipacaWimpress: you can see more info about the breakage if you look at the failing mount units10:22
WimpressAt this point I am interested to know if there is a lower limit.10:22
ChipacaWimpress: systemctl --all --failed |grep snap10:23
ChipacaWimpress: ok10:24
ChipacaWimpress: the number i was quoting was how many i had had to add before getting a solid reproducer10:24
ChipacaWimpress: it's a race, though, so it's certainly possible to lose it with just two snaps :-/10:24
WimpressSo, enable/disable does not get a "broken" snap working.10:30
WimpressRefreshing from a different channel doesn't get a "broken" snap working.10:30
WimpressBut remove then install a "broken" snap does get you a working snap.10:30
WimpressI have 19 snaps installed. 1 (random on each boot) will always be in a broken state.10:31
ackkhi, should one use SNAP_NAME or SNAP_INSTANCE_NAME for prefixed names like abstract unix sockets or SHM prefixing?10:37
ackkI see snapcraft-preload uses $SNAP_NAME at the moment, but won't that cause collisions if you have multiple instances?10:38
Chipacaackk: depends :-) but probably SNAP_INSTANCE_NAME10:38
Chipacaackk: if you use SNAP_NAME, you risk trying to talk to some other instance of yourself10:39
Chipacaackk: and we all know that's when the world ends10:39
ackkChipaca, yeah but snapd check those names, right? so maybe snap.foo_bar won't be allowed for snap "foo" if snapd uses SNAP_NAME10:39
ackkChipaca, ISTR it's SNAP_NAME for abstract sockets for socket activation10:40
ackkbut that was before SNAP_INSTANCE10:40
Chipacaackk: it _should_ get blocked, yes10:40
Chipacaackk: i'm pretty sure it will get blocked, even :)10:40
ackkChipaca, which case should?10:41
Chipacaackk: using SNAP_NAME for SHM and dbus things10:41
Chipacaackk: abstract unix sockets, it's more a free-for-all10:41
Chipacawhoever gets there first will probably win10:41
Chipacaand then things'd be weird10:41
ackkChipaca, uhm, no, SNAP_NAME is what snapcraft-preload uses for /dev/shm/10:41
Chipaca(but i'm not sure we mediate them properly)10:41
Chipacaackk: ?10:42
ackk<Chipaca> ackk: using SNAP_NAME for SHM and dbus things10:42
Chipacaackk: well that probably won't work for an instance'd snap, then10:42
jameshackk: I don't think dbus slots are going to work with instanced snaps10:43
jameshin general, applications hard code the bus names they try to acquire, and clients hard code the bus names they want to talk to.10:44
ackkjamesh, I'm not talking about dbus slots. mainly /dev/shm files and abstract sockets for socket activation10:44
ackkit doesn't seem ValidateSocket does any filtering10:44
Chipacaackk: i don't think we look at abstract socket names in any way10:45
Chipacamight be wrong, but i don't think so10:45
Chipacaackk: i mean: snap foo can create and use an abstract socket that claimed it was from snap bar in some way, and it'd work10:46
ackkok10:46
Chipacaackk: it shouldn't be able to talk to a socket from snap bar though10:46
Chipacaackk: so if it uses SNAP_NAME, it'll work for itself if it's instanced and the non-instanced snap didn't create the socket (yet)10:46
Chipacamakes sense?10:46
Chipacaackk: much like with regular ports, snapd does no arbitration10:47
Chipacayou can have N snaps trying to grab port 8010:47
ackkright10:47
Chipacaonly one will 'win' :)10:47
ackkI see the apparmor template is for /dev/shm/snap.$SNAP_INSTANCE_NAME10:47
ackkso snapcraft-preload should use that too10:47
Chipacayes, shm should use instance name, yes10:48
Chipacawhich is why i said that if snapcraft-preload doesn't use that, it won't work for instanced snaps10:48
Chipacainstance-named snaps? instancedated?10:48
* Chipaca gives up10:48
ackkinstanced? :)10:48
ackkinstant snaps!10:49
jameshackk: https://github.com/snapcore/snapd/blob/master/snap/validate.go#L211-L219 <- there's the validation for abstract sockets for socket activated services.10:49
* Chipaca gets extra whimsical just before mealtime10:49
ackkjamesh, ah, right10:49
Chipacaoh, neat, i'd forgotten that bit10:49
Chipacajamesh: nice10:49
ackkjamesh, so that shuld be the instance instead?10:49
* ackk forgot he wrote that10:50
ackkI did have a memory that some validation was in place10:51
Chipacahuh, i wonder what maciej meant about it coming from the snap decl10:51
jameshackk: as the socket name comes from meta/snap.yaml, and already has the snap name in place, it doesn't really fit with instanced names10:51
Chipacaah probably that :-)10:51
Chipacas/snap declaration/snap yaml/ i guess10:51
jameshackk: if you want instance friendly unix domain sockets, consider putting them in $SNAP_COMMON (i.e. not abstract)10:51
ackkjamesh, ah, you have a point10:51
Chipacanon-abstract are safer anyway :-p10:52
ograpfft ... just pipe into netcat :P10:53
ograsockets ... pfft10:53
jameshit'd be nice if there was a system level area under /run for a snap to use for this kind of thing10:54
ograyou could use /tmp which is transparently overlayed10:55
jameshogra: the validation code requires it start with $SNAP_DATA, $SNAP_COMMON, or $XDG_RUNTIME_DIR (the last of which doesn't make sense until we've got user session daemons)10:57
ograoh, why is that ? /tmp should be as safe as these dirs are since it is fully confined10:57
jameshit's systemd that binds the socket10:58
jameshnot something within the sandbox10:58
Chipacameaning that the path needs to be the same outside and inside10:58
ograah10:58
ograsorry, i missed that part ... ignore me then :)10:58
Chipacanow that there's no random component in the tmp path we _could_ possibly make it work10:58
jameshwould systemd create the parent directories with the right permissions though?11:01
Chipacajamesh: ¯\_(ツ)_/¯ no idea11:13
Chipacaanyway, lunch11:14
Chipacajamesh: don't forget to sleep sometime11:14
jameshChipaca: good idea.  It's past 7pm11:14
Chipacaah, i figured it'd be even later11:15
Chipacaeven so, go get some life in that work/life balance thing11:15
Chipaca:)11:15
Chipacawait, that sounded dangerously close to 'get a life'11:15
* Chipaca backs away from the whole thing11:16
jameshhttps://www.youtube.com/watch?v=PrVSHa_5Tw411:17
Chipacamvo: #7102 is green, has two +1's, your call if you merge or address the indent question12:04
Chipacamvo: #7100 is also green and has two +1's and I'd merge it but dunno :-)12:04
diddledandang, wimpress has me beat by a long way: I only have 83 snaps installed12:18
Chipacadiddledan: try 'snap list --all | wc -l' :-)12:25
diddledan15412:25
diddledanthat's better :-)12:25
Chipaca-1 for the header line, fwiw12:26
ograyeah12:26
diddledand'oh12:26
Chipacano cheating12:26
=== ricab is now known as ricab|lunch
mvoChipaca: sorry, was in a meeting, let me read backlog12:47
pedronisChipaca: thanks for the review12:53
mvoChipaca: I tweak 7102 now12:53
mvopedronis: thanks for the updates to 7020, not quite finished reading but looks very nice so far12:56
mvoChipaca: what was the bugnumber of the kernel losetup issue again?13:22
Chipacamvo: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/183691413:29
=== ricab|lunch is now known as ricab
mvoChipaca: thank you13:35
pedronisChipaca: mvo: btw now that snapd having a type has landed I think 6923 and 6950 are also unblocked13:41
=== Greyztar- is now known as Greyztar
geodb27People : hi ! snap is stuck on one of my lxd machine : it refuses to launch "snap restart lxd" complaining that snap "lxd" has "refresh-snap" change in progress.13:46
geodb27I've tried many things, including "snap abord" with the task list, but things remains the same. What can I do to have things up and running again without losing any data ?13:47
Chipacageodb27: hi, sorry you're having trouble13:51
Chipacageodb27: can you pastebin the output of 'snap changes'?13:52
geodb27Thanks for your help Chipaca. Here it is : https://pastebin.com/6PmTm0Lx13:52
Chipacageodb27: and the output of 'snap tasks 20' ?13:53
geodb27https://pastebin.com/frhzSbwq Here it is.13:54
Chipacalooks like stopping the lxd services is struggling13:55
Chipacageodb27: what's the output of snap logs lxd ?13:56
geodb27there is not that amount of informations in "snap logs lxd". It lists the kernel modules in use (I'd guess) and only one warning concerning swap accounting.13:57
Chipacageodb27: and what does 'systemctl status snap.lxd.activate.service snap.lxd.daemon.service' think?13:58
Chipacageodb27: also the output of 'snap services lxd' please13:58
geodb27https://pastebin.com/6qkSrTCi I included the latest even if it complains about an error concerning the snapd socket.13:59
Chipacageodb27: can you retry it?14:01
Chipacadoesn't look good though14:01
geodb27Yes, got it.14:01
geodb27lxd.activate  activé   inactif  -14:02
Chipacageodb27: 'journalctl -u snapd' might be revealing also14:02
geodb27lxd.daemon    activé   actif    socket-activated14:02
geodb27Oh, hang on... Don't know what really helped out there, but "snap restart lxd" seems to be working, at last...14:03
Chipacahah, i was about to suggest stopping them manually, but that might also work14:04
Chipacain fact, i'd written this:14:04
Chipacageodb27: let's try this: sudo systemctl stop snap.lxd.* snapd && sudo systemctl start snapd14:04
geodb27Well it failed, but I know why : the revert to 3.14 went through, after a long while. But since now this machine is the only one of the lxd cluster with version 3.14, it can't start. I'll have to install latest 3.15 on this machine.14:05
Chipacageodb27: sounds like you're unblocked, at least14:05
Chipacai need to set aside some time to figure this one out though14:06
Chipacasuspect socket activation is breaking things for us14:06
Chipacageodb27: good luck! and do reach out if it gets stuck again14:06
geodb27Indeed. In parallel, while you guided me to find a solution, I issued in another terminal "apt-get update && apt-get upgrade -y && apt dist-upgrade -y && apt autoremove -y".14:07
geodb27Could be that there was something not up-to-date that led to this "dead-lock'. snap refresh lxd is in progress now. I'll let it go.14:07
geodb27Thanks a lot for your kind help !14:07
* diddledan moans at jdstrand "too many defined layouts (18 > 10) lint-snap-v2_layout"14:12
diddledanguess I need to trim them14:12
jdstranddiddledan: this was actually not only my decision. zyga and I decided on 10, but then I saw one with 8 so just upped it to 15 yesterday (not in prod yet)14:13
diddledanhah!14:13
jdstrandbut layouts take resources so with a system with hundreds of snaps...14:13
diddledanaye14:14
diddledanI put so many as an attempt to reduce "magic" in my launcher script:14:15
diddledanhttps://www.irccloud.com/pastebin/snNh71xP/layout.yaml14:16
diddledanI prefer declarative rather than imperative so I felt declaring the layout as a better solution than shoving the world into LD_LIBRARY_PATH14:17
ackkjdstrand, hi, tested your latest snap package w/snap_daemon, works fine. just one note, the test snap still doesn't14:35
Chipacadiddledan: https://www.youtube.com/watch?v=tljyCX8-Hw814:35
ackkjdstrand, not an issue for our testing though14:36
jdstrandackk: that is puzzling, I both tested it and use it in spread tests. can you paste what you did?14:37
ackkjdstrand, I followed the readme, one sec14:37
ackkjdstrand, odd, I tried again and was getting:14:42
ackk$ sudo test-snapd-daemon-user.drop snap_daemon14:42
ackkexecv failed: No such file or directory14:42
ackkjdstrand, then i removed and re-added the snap and it worked14:42
jdstrandthe combination of deb and disabling reexec and installing a snap can be delicate14:43
ackkjdstrand, do you need to export SNAP_REEXEC=0 every time in the shell?14:43
* jdstrand chalks it up to that14:43
jdstrandackk: yes14:43
ackkjdstrand, ah so maybe that's whyt14:43
ackk*why14:43
jdstrandfor 'snap'14:44
ackkjdstrand, is there an ETA for 2.40 release?14:44
jdstrandmodifying /etc/environment is good for snapd and it you log out14:44
ackkright14:44
jdstrandackk: idk, but fyi, this is now 2.41 material14:44
ackkjdstrand, so snap_daemon is 2.41 ?14:44
jdstrandyes14:45
ackkok14:45
diddledanhopefully 2.41 will enable me to get the much requested makemkv out to stable14:45
jdstrandackk: have a meeting today on a final detail for snap.yaml, then it is just finishing a couple small details and iterating on PRs14:45
ackkjdstrand, nice, thanks14:46
jdstrandackk: ie, I don't foresee it later than 2.4114:46
ackkjdstrand, btw, posted https://forum.snapcraft.io/t/request-for-auto-connection-of-interfaces-for-maas/1236715:07
cachiomvo, hey, any idea who created the snap test-snapd-with-configure ?15:08
cachioI need to create test-snapd-with-configure-core1815:09
oSoMoNjdstrand, hey, I'd love to have your opinion on https://forum.snapcraft.io/t/auto-connecting-the-cups-control-and-password-manager-service-interfaces-for-the-chromium-snap/4592/715:21
mvocachio: in a meeting but let me check15:22
cachiomvo, np, I'll upload the new one15:23
mvocachio: cool, go for it15:23
pedronismvo: I reviewed 7122, have a nitpick but maybe it doesn't make sense completely15:51
pedronisnot sure15:51
jdstrandoSoMoN: on my todo (thinking)15:55
oSoMoNthanks!15:57
mvopedronis: thanks, let me see16:06
* cachio lunch16:06
pedronismvo: let me know if what I had in mind isn't clear16:11
pedronisanyway I gave a +1, it's really nitpick, I suppose I'm slightly allergic to GlobalRootDir (I know why it exists)16:12
pedronisjdstrand: I gave my general +1 (but not details) to gpio-control and packagekit-control, though the former still needs to be locked down to be superprivileged16:14
pedronisafaict16:14
jdstrandpedronis: ack, thanks16:17
mvopedronis: hm, how would boot/kernel_os_test.go pick up this bootdir in the test suites?16:20
mvopedronis: happy to change it but not fully sure what you have in mind, but we can have a quick HO tomorrow, I'm almost eod16:20
pedronismvo: I might not have been very clear16:20
mvopedronis: or (more likely) I'm just a bit slow this evening, I will look at it with fresh eyes in the morning and if I doN't figure it out we can have a chat, does that sound good?16:22
jdstrandpedronis: curious if you have an opinion on when to create the (shared) snap_daemon user. I'm of two minds: a) at the time a snap uses it and b) after snapd finishing fetching declarations, add any users that don't already exist). 'a' is easy but feels at the wrong level and means inconsistency between systems that have snaps that use the user and ones that don't. if 'b', I'm thinking in daemon.go-- is16:25
jdstrandthere an area I should be looking at?16:25
jdstrandpedronis: err s/at the time the snap user it/at the time a snap that specifies it is installed/16:26
jdstrandfinishes*16:26
jdstrandmeh, so many typos. hope you can wade through them :)16:26
pedronisjdstrand: I'm not quite sure about the worry related the inconsistency, why would we have the user on a system without snaps using it?16:27
pedronisI'm probably missing something16:28
jdstrandpedronis: the question is whether to have the shared users unconditionally there or only as needed16:29
jdstrandpedronis: unconditionally gives consistency for all systems running a snapd that supports the feature (and eventually the snap declarations in the store)16:30
jdstrandpedronis: which may make sense for snap_daemon, but probably does not make sense for snap_other or scope: private16:31
jdstrandpedronis: so in that light, I think I answered my own question (at install)16:31
jdstrandwhich is cool, cause that is easy :)16:31
pedronisjdstrand: yes, that seems easier and sensible16:31
jdstrandpedronis: thanks for being my sounding board :)16:32
pedronisheh, np16:32
pedronismvo: did you re-review 7020, or not quite yet?16:40
pedronisChipaca: I think I never noticed it, but the error handling code in client is a bit strange (from a HTTP POV)16:41
* zyga sends greetings from the eastern part of Italy 17:28
zygacrossing over to Slovenia soon17:28
mvopedronis: I did not :( sorry ! in my morning or later tonight17:32
pedronisnp, just wondered17:43
pedronisChipaca: could you quickly double check the changes related to context I had to do to fix conflicts in the rereg PR: https://github.com/snapcore/snapd/pull/7007/commits/d904093cc19e1d13ce6b474bec7cdc5220711a8217:44
* cachio afk17:51
Chipacapedronis: LGTM19:11
=== msalvato- is now known as msalvatore
roadmrjdstrand: review-tools 20190717somethingsomething are now in prod \o/19:35
jdstrandroadmr: yeah! thanks :)19:40
sergiusensmvo: hey, any reason the bare base is not on stable?21:20
=== harrisj_ is now known as harrisj

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!