[06:00] morning [06:44] (answer: snapd in the core snap is newer than snapd in bioinic today) [07:08] good morning [07:09] mwhudson: can you give me the denial please [07:09] mwhudson: grep for DENIED in dmesg [07:09] zyga-ubuntu: mornings [07:09] zyga-ubuntu: i think it's the more or less known thing about apparmor and overlayfs not being friends [07:10] mwhudson: ah, so it's still the version witohut overrlay support? [07:10] mwhudson: can you pastebin /var/lib/snapd/system-key [07:10] zyga-ubuntu: i'm going to wait for 2.32 until i get bothersome about it [07:10] zyga-ubuntu: don't have a vm up know [07:10] that's ok [07:10] I thought that patch was out already [07:11] zyga-ubuntu: i think xenial is on 2.23.1 or something [07:12] hm that's what xenial-proposed has anyway [07:12] so does the stable core snap have snapd from xenial-proposed in it? [07:12] that seems surprising [07:12] * zyga-ubuntu doesn't know [07:12] I was a little detached yesterday [07:30] PR snapd#4844 opened: overlord/snapstate: allow core defaults configuration via 'system' key === pstolowski|afk is now known as pstolowski [07:36] mornings [07:37] pstolowski: hey [07:38] pstolowski: can you take a look at #4826? [07:38] PR #4826: wrappers: services which are socket or timer activated should not be started during boot [07:53] mborzecki: yep [07:59] moin moin === _cpaelzer is now known as cpaelzer [08:15] pstolowski: thanks for the review [08:16] np [08:18] PR snapd#4826 closed: wrappers: services which are socket or timer activated should not be started during boot [08:37] PR snapd#4845 opened: snap, store: store version numbers in the commands database [08:38] mborzecki: could you please create a 2.32 version of 4826 (if there isn't one already)? [08:39] mvo: coming up [08:39] ta [08:49] PR snapd#4846 opened: [2.32] wrappers: services which are socket or timer activated should not be started during boot [08:50] mvo: ^^ [08:53] mborzecki: ta [08:53] *yawn* [08:53] just five more minutes [08:58] hello [08:59] pedronis: hi [08:59] Chipaca: hi, I need to update a PR after let me know when you want to chat about puritan [09:00] pedronis: knee-deep in the hash cache mash atm [09:00] Chipaca: I saw you discussing that, did you notice that some of those helpers are used when there's no state [09:01] StateCache need to be optional [09:01] pedronis: yes I did [09:01] I mean snapasserts exist to hold stuff at the intersection of snap files and assertions (but not needing state) [09:02] or at least not requiring state [09:02] * Chipaca nods [09:04] Chipaca: are you looking also into the download case? I though the idea was to fix firstboot first [09:04] store has its own ways to keep state at distance [09:04] pedronis: firstboot first, but with my eye on download to make the followup easy (or trivial) [09:05] easier sounds fair, trivial unlikely [09:05] it's all a bit messy though [09:05] pedronis: did you see the thing about the extra extra hashing during download delta? [09:05] yes, I was aware of that [09:05] we also check the hash of the delta itself [09:06] i guess i'd forgotten :-) [09:06] that's fine [09:06] seems a bit orthogonal [09:06] except that we should have picked a different hash for those [09:06] anyhoo, that's what i'm in [09:06] no sense being super expensive [09:06] given that we need to recheck the whole thing anyhow [09:06] but it's as it is [09:07] pedronis: we can fix that though :-) [09:07] yes, it's fixable [09:07] not today [09:07] also, store is a mess, and daemon is a mess [09:07] ¯\_(ツ)_/¯ [09:07] store was worse [09:07] oh, totally [09:07] baby steps [09:07] it's improving (slowly) [09:08] daemon, no, I don't think we rearchitected much of it yet [09:08] let me know if I can help, also happy to review [09:09] * pedronis back to his high prio stuff [09:09] PR snapd#4847 opened: osutil: add symlinkat(2) [09:20] grumble, the PR that had a consistently failing spread test now passed once I added a some debug stanza :/ I'm quite sure there is something fragile after the change but who knows now [09:23] pedronis: i'm feeling rather dumb here, but I can't figure out where the second hashing in firstboot is happening [09:24] pedronis: derive side info does one, but the second one...? [09:24] it'd be so nice if i didn't have to fire up a vm with fedora/suse just to check what `rpm -E %configure` expands to [09:24] Chipaca: verify-snap [09:24] pedronis: that's not run for firstboot [09:24] ? [09:24] pedronis: firstboot does InstallPath [09:24] pedronis: which means the snap is local, so gets no validate-snap task [09:25] really [09:25] I'm confused [09:25] that's how i read it, but see: dumb [09:25] I thought we always did that [09:25] if we don't there is nothing to fix [09:25] but might be problematic for other reasons [09:25] * Chipaca takes the rest of the day off [09:25] :-) [09:26] that's a recent chnage [09:27] pedronis: 2016 [09:27] nothing to do afaict [09:28] now I'll discover it's by me [09:28] PR snapd#4846 closed: [2.32] wrappers: services which are socket or timer activated should not be started during boot [09:29] pedronis: you'd only discover that if you went looking [09:30] pedronis: I say don't [09:30] it's by me [09:30] so we never did double hashing [09:30] so the symlink fix should make all the difference we can make [09:31] I mean at firstboot [09:31] * Chipaca too [09:32] mmh [09:32] yes, avoiding the copy is as good as it gets [09:33] unless we go back to the cheating script [09:33] same also for core btw [09:33] pedronis: well, core links [09:33] pedronis: the symlink only happens if the link fails [09:33] yea, there's not win to be had on core [09:33] ah. yeah. [09:34] but [09:34] i do feel that if we had a central place to do hashing this would've not taken so long to figure out [09:34] but, not work for today [09:35] not sure how we can achieve that [09:35] unless you mean one codeline, not conceptually [09:35] magic ヽ(`Д´)⊃━☆゚. * ・ 。゚, [09:36] wishful thinking mostly [09:36] we would need unify DeriveSideInfo and doValidateSnap, seems worthwhile but not sure how to attack that [09:37] it's probably possible, bit of a code pretzel though [09:37] * Chipaca nods [09:37] meanwhile I'll do the cheap thing and skip the extra hash in download after successful applyDelta [09:37] then that'll stop bugging me [09:39] pedronis: can we talk about puritan in ~2h [09:40] yes [09:46] mborzecki: can you please look at 4847 again [09:46] I added one more syscall [09:56] mborzecki: go vet is fully happy now again on 1.10, right? [09:57] mvo: yes, it's passing [09:57] mvo: cachio's bionic PR failed in InstallDate() unit test, probably outdated mksquashfs with the bug that you fixed [10:00] sergiusens, mvo I see that https://github.com/snapcore/snapcraft/commit/10509d590658f1c417b91d66a356700483997d75 has landed now, is there any plan to rename base-18 to core18 soon? [10:08] mborzecki: yeah, the issue here is that squashfs has not transitioned to bionic yet iirc the autopkgtest for lxd failed [10:08] ackk: yes, we want to rename it soon, right now a snapcraft issue prevents us from building, this will get fixed this week, then we will do the rename (once we can build again) [10:09] mvo, ah, cool, thanks [10:10] pstolowski: hi, I think I still owe you a bunch of reviews, I will try to have a reviews day tomorrow [10:12] pedronis: hi! no worries, and thanks in advance! I think you can focus on #4358 for now and ignore the rest [10:12] PR #4358: interfaces: interface hooks implementation [10:12] as they are stacked on top of 4358 [10:15] PR snapd#4848 opened: many: cherry-pick relevent `go vet` 1.10 fixes to 2.32 [10:18] mvo: you'll also want to cherry pick 19a1dc929b89bf8dd5d6ad22bb36942b5a2508c4 [10:19] PR snapcraft#1994 closed: docker: add the architecture [10:19] mvo: for bubonic i mean [10:19] bah, for bubonic to pass [10:19] bionic* [10:20] Chipaca: thank you [10:20] there's a go 1.10's behaviour change that breaks our tests (explained in that commit) [10:20] Chipaca: bubonic ;) [10:21] Chipaca: its not in master yet, is it? [10:21] mvo: no [10:21] hope it's not about the plague [10:21] Chipaca, mborzecki lol [10:21] mvo: it's pushed to #4835 [10:21] PR #4835: tests: add bionic system to google backend [10:22] but that fails to be green because the google archive mirror doesn't have the new bionic squashfstools [10:22] Chipaca: we need to enable bionic-proposed there [10:22] Chipaca: but I can cherry-pick into my 2.32 pr [10:22] * Chipaca nods [10:22] this is why i mention it :-) [10:22] ta [10:24] Chipaca: can you take a look at #4841? [10:24] PR #4841: snap/pack, cmd/snap: add `snap pack --check-skeleton` [10:25] hey stgraber ! the autopkgtests for squashfs-tools fail in the lxd testing right now (http://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html#squashfs-tools), is there a know issue with autopkgtest and lxd? the failures do not look related to the squashfs change [10:25] mborzecki: I can do 4831, and 4861, but not 4841 sorry [10:26] * Chipaca lies [10:27] at least 4861 gives the nice tatooine-ish 404 :P [10:28] PR snapcraft#1996 closed: tests: add SNAPCRAFT_KEEP_DATA to debug [10:28] mvo, the problem of enabling bionic-proposed is that I need to doit suring the prepare, is it ok? [10:29] #4829 and #4849 also needs reviews [10:29] PR #4829: store: Sections and WriteCatalogs need to strictly send device auth only if the device has a custom store [10:29] PR #4849: many: propagate contexts enough to be able to mark store operations done from the Ensure loop [10:29] PR snapd#4849 opened: many: propagate contexts enough to be able to mark store operations done from the Ensure loop [10:30] mvo, it will be temporal until is it enabled by default [10:32] cachio: yeah, I think thats ok [10:34] mvo: how would you feel about sliding 4834 into .32? [10:34] #4834 [10:34] PR #4834: snap/squashfs: when installing from seed, try symlink before cp [10:35] PR snapd#4834 closed: snap/squashfs: when installing from seed, try symlink before cp [10:36] Chipaca: let me look [10:36] zyga-ubuntu ping [10:36] Chipaca: absolutely [10:36] mvo: cd7a41b921446bff4ad02ceacf1811c1a6319cc7 fwiw [10:36] Chipaca: I cherry-pick [10:37] Hey ondra [10:37] zyga-ubuntu hey, I have asked this before, but when using layouts, what was the process to read original file? [10:38] Chipaca: ta [10:41] ondra: you can attempt to use hostfs [10:43] zyga-ubuntu any how to do that? [10:48] Chipaca: having early lunch, we can chat in ~40 ? [10:49] pedronis: sure [10:50] ondra: re, sorry, I was afk [10:50] ondra: so, you can look at the file in /var/lib/snapd/hostfs/$F [10:50] ondra: but you will need an interface for t hat [10:50] PR snapd#4850 opened: many: fix shellcheck warnings in bionic [10:51] zyga-ubuntu which interface is that? [10:51] none exists now [10:51] mvo: the spellcheck check is also broken in xenial, fwiw, we just don't run it [10:51] it would depend on $F for sure [10:51] zyga-ubuntu :) [10:51] as otherwise it would let you read any file [10:51] zyga-ubuntu right [10:52] Chipaca: spellcheck or shellcheck? I don't mind so much about the spellcheck, we might as well disable it and only run it via a nightly job [10:52] shellcheck [10:52] ah [10:52] sorry [10:52] :-) [10:52] oh, ok [10:52] sheepcheck [10:52] * Chipaca shellchecks his spellchecker [10:52] shellshock [10:52] zyga-ubuntu wouldn't be easier to allow hook to run before bind mount, and then we can rely on existing permissions? [10:52] ah wait, yes, shellcheck, we're talking of the same thing [10:52] ondra: no, it's not easy in any way [10:53] zyga-ubuntu right [10:53] ondra: and it would still need an interface [10:53] mvo: shellcheck does not run as part of tests; it's not installed on the images [10:53] ondra: as this way you could read abritrary files [10:53] ondra: our current design assumes that applications cannot observe pre-layout filesystem at any stage [10:53] so no partial state is expsed [10:53] zyga-ubuntu ok, so hostfs it is then [10:53] as our apparmor profile assumes the layout is in place [10:53] and grants permissions to the places affected by the layout [10:53] zyga-ubuntu ah, OK that makes sense [10:54] zyga-ubuntu: regarding #4571 we could move configure.ac/autogen.sh to the top of snapd tree [10:54] PR #4571: data, cmd, packaging: use autotools to generate artifacts under data [10:54] ondra: my advice is to open a thread to request an interface for reading hostfs file (specific file) so that we can grant this [10:54] mvo: what do you think about mborzecki's proposal? [10:54] I'm okay but we had a discussion with that and this is how we ended up with "autotools is hidden in cmd/" [10:55] zyga-ubuntu OK will do [11:00] zyga-ubuntu, that should be fixed? https://travis-ci.org/snapcore/snapd/builds/353519499#L5247 [11:00] zyga-ubuntu, or it is still in progress [11:00] cachio: no, not yet. I'm working on that now [11:01] zyga-ubuntu, ah, ok, thanks [11:04] zyga-ubuntu: I think to think but to me autotools is just something I dislike whereever it lifes [11:04] zyga-ubuntu: I mean "I need to think" [11:04] mvo: any ideas as to what to do then? [11:04] should we move away from autotools [11:04] or just use it consistently [11:06] zyga-ubuntu: sorry, I know my comment was not helpful. but yeah, either consistently or switch but switching must be worth it, mesons seems to be popular but I'm not sure its sufficiently better [11:07] (to justify the cost) [11:08] mvo: xenial version of meson is outdated, and afaik it's not available in trusty at all [11:11] zyga-ubuntu mvo any idea what could be causing "run hook "post-refresh": execv failed: No such file or directory" [11:11] hmmm, [11:12] ondra: what does the hook look like? [11:12] zyga-ubuntu https://pastebin.ubuntu.com/p/w22S3q9Y2D/ [11:12] zyga-ubuntu :) [11:13] zyga-ubuntu I trimmed it down, as I can't figure out what is the problem [11:13] so you refresh a snap and the hook fails to run? [11:13] is it reproducible? [11:14] zyga-ubuntu I have install hook which runs just fine I did sym link as I usually do and it failed to run [11:14] zyga-ubuntu install works [11:14] symlink? [11:14] zyga-ubuntu happening all the time [11:14] zyga-ubuntu that was before [11:14] pstolowski: ^ wanna look? [11:14] zyga-ubuntu so I replaced sym link with file, and still same [11:16] ondra: can you share that snap? [11:16] pstolowski yeah preparing to share it [11:22] pstolowski zyga-ubuntu damn, I did clean build and now it works, and I did same before [11:22] do you have the old snap? [11:22] so can't reproduce it now [11:22] maybe look inside [11:23] zyga-ubuntu so I was using snap try [11:23] zyga-ubuntu and without rebuild I was modifying prime/meta/hook [11:25] PR snapd#4848 closed: many: cherry-pick relevent `go vet` 1.10 fixes to 2.32 === bashfulrobot_ is now known as bashfulrobot === Kamilion|ZNC is now known as Kamilion === diddledan_ is now known as diddledan === mborzeck1 is now known as mborzecki === wiking_ is now known as wiking [11:30] Chipaca: I'm back [11:31] pedronis: wb :) [11:31] pedronis: so, if I understand your point of view, using puritan for everything stringish isn't a sustainable practice [11:31] zyga-ubuntu pstolowski http://people.canonical.com/~okubik/git_2.7.4_amd64.snap [11:32] zyga-ubuntu so I'm using snap try, so unsquash it first [11:32] Chipaca: indeed [11:32] ondra: could this be a missing -x on the hook script? [11:32] zyga-ubuntu pstolowski so now I have different problem, it will install, but if I try to run I get execv failed: No such file or directory [11:32] pedronis: OTOH my point of view is that unless we do something for every stringish thinig, we're going to eventually miss one we shouldn't [11:33] zyga-ubuntu pstolowski do $ snap try <>; it will run, call $ snap try <> on same directory and it will break [11:33] pedronis: would you be happier with using a lot more types, for example? [11:33] Chipaca: no in general [11:34] Chipaca: we need tooling and a way to mark things [11:34] Chipaca: I find needing a special type for snap-id very suspect [11:34] it feels very cargo cultish [11:34] pedronis: when you say tooling, do you mean a static checker, or do you mean a json decoder replacement? [11:34] whatever works [11:34] ondra: what core are you running with? [11:35] Chipaca: atm we are just making a bit of code uglier without clear path forward [11:35] pstolowski 16-2.31.2+git610.7a79b84 (4243) [11:36] pedronis: what would you do? [11:36] Chipaca: also whatevedr is problematic with the store is likely problematic with snap.yaml [11:36] as well [11:36] Chipaca: I don't know, I'm not even sure I agree with your premise [11:36] that we really need to worry about everything [11:37] but if we do need to worry about everything the current approach alone doesn't cut it [11:38] pedronis: because of the lack of a static checker? [11:38] ondra: ok, same core here. I un-suqashed it, did snap try twice, it worked. can you do 'snap changes' to find changes correspondin to your snap-try commands, and then 'snap change ' for both to see more info about the failure? [11:38] Chipaca: it seems we need to mark all structs with json or yaml tags as either risky or not and then decide what to do with each [11:39] zyga-ubuntu: mvo: tried having just cmd/configure.ac and doing AC_CONFIG_FILES([../data/Makefile ..]) but that doesn't work, the resulting makefiles do some silly thing and try to cd one level above snapd checkout [11:39] though sometimes we use map[string]interface{} directly, maybe not on input [11:39] not sure [11:40] mborzecki: thank you for confirming that [11:41] zyga-ubuntu: mvo: just moving configure.ac and autogen.sh to the top level dir (plus adjusting paths) is enough, it will clutter the directory once you autoreconf but at least both cmd and data are built using autohell [11:41] mborzecki: yeah, [11:41] you have my +1 but convince gustavo as he was opposing it before [11:42] pedronis: that's a mountain of work, but it does seem the logical conclusion [11:42] zyga-ubuntu: we could easily say with the hack that's right now in the PR :P works too, and does not clutter the directory [11:42] Chipaca: well, the non logical solution is say we need to care about everything but then leaving it up to reviewers [11:43] Chipaca: could we do a silly hack with reflection and field tags perhaps? [11:44] pstolowski https://paste.ubuntu.com/p/7J8yPTrmBG/ [11:44] * cachio afk [11:45] Chipaca: then have an unmarshaller that wraps json and goes to inspect all the strings to clean them up, unless there's a tag that says to leave the string as it is [11:45] pedronis: ^^ [11:45] there are probably a few possible approaches [11:46] there are also concerns about runtime speed [11:46] also personally don't think we should write a full new json decoder [11:48] agreed, i'm not propsing to write a json decoder, just sanitize the structs when they come out of the decoder somehow, in a separate call perhaps [11:48] pstolowski here you have whole test https://paste.ubuntu.com/p/2q7PH8cqk4/ [11:48] pstolowski from snap remove [11:49] Chipaca: now we also need to understand what everything means, I suppose you mean that for example store generated error messages are also a concern? [11:49] pstolowski exactly same error I was getting before about configure hook [11:49] Chipaca: I mean is our attacker a user of the store, or the store? [11:49] pstolowski need to run for lunch, but will be available later [11:50] (there are blurry lines there but it still make a difference where to spend our energy) [11:50] pedronis: if it's the store itself i think things fall apart [11:51] pedronis: but, the problem is bugs [11:51] I understand [11:51] but there are all sorts of bugs [11:51] pedronis: I mean, #1750527 is the bug [11:51] Bug #1750527: dashboard does not validate text fields [11:52] pedronis: even with that change, it's not clear to me everything textish from the store is validated [11:52] Chipaca: I'm not arguing for doing nothing, but I'm also not happy to do something cargo cultish and unbounded [11:53] pedronis: I understand, but if the alternative to cargo culting something is having to make a decision about every single field, cargo culting starts to look good [11:53] Chipaca: you are saying we should use the store data without knowing what it is / what it is about [11:54] pedronis: "is this something that can be edited by third parties, and is it going to be shown to the user" seemed to be the question [11:54] the first half we can probably answer easily [11:55] Chipaca: and snap-id is dubious? [11:55] anyway at this point as I said even if we continue to use string for some things [11:55] as I said we need to worry about all the json and all the yaml [11:55] I don't think snap-id is dubious, no [11:55] but you made a puritan.SimpleString [11:56] but if you make everything not be a string, you can write a really silly static checker [11:56] the alternative is tagging, which isn't hard (but I hadn't thought of it in this context) [11:56] I'm skeptical of that [11:57] (the silly part) [11:58] pedronis: it'd be only a little more work than the check in daemon for commands [11:58] ? [11:58] we define local types sometimes to parse json [11:59] ok [11:59] pedronis: so what do we do [12:00] it seems like we need to introduce safejson and safeyaml, and not use json and yaml, as thin wrappers and go from there [12:01] with a silly check that we don't use the other diretly in non-tests [12:01] pedronis: what are safejson and safeyaml? [12:01] Chipaca: packages with a subset of what is offered by json and yaml [12:02] we can probably then make them have different behavior at test time vs runtime [12:02] and at test time they could check the rules that we make for target types === tyhicks` is now known as tyhicks === tyhicks is now known as Guest65850 [12:05] Chipaca: it seems the only approach to make sure we cover all the ground (I'm a bit worried about the messiness of dealing with our various uses of json statically) [12:05] though yaml is probably worse, all of it comes from the user [12:05] by definition [12:06] if we don't trust snapcraft [12:06] otoh we have validation there [12:06] Chipaca: are you saying that we should do validation for snap.yaml but not trust any string from the store? [12:07] it seems asymmetric, but maybe there's a good reason [12:07] pedronis: aborting a 'snap find' because one of the results had a bogus entry seemed a poor choice [12:07] pedronis: aborting a 'snap install' because of the same seems fine [12:08] yea, but validation doesn't check all the fields at the moment [12:08] does it? [12:08] it does not [12:08] we might print a non-validated field [12:08] (for reasons) [12:08] yes [12:08] but it'd be fairly straightforward to fix that [12:08] Chipaca: I fear you opened a can of worms [12:09] pedronis: it was already open :-) i might've kicked it a little [12:10] Chipaca: anyway you mighe decide to go validation only for snap.yaml (but we have also other yaml files, like gadget yaml) [12:10] but we still need a scalable solution for all the json from the store === alan_g_ is now known as alan_g [12:11] pedronis: (just to keep things interesting, what should it do if the snap yaml ini the json fromo the store is invalid? :) ) [12:12] are we not validating it? [12:12] pedronis: the one in details? probably not [12:12] anyway it's a corner case that shows cargo culting with naive types is not great [12:12] false security effect [12:13] anyway I think we validate it [12:13] and if it's invalid we ignore it [12:13] or maybe not [12:13] let me check [12:14] ondra, ah wait, the execv error comes from running the app, it's not hooks [12:15] Chipaca: no, it's not validated atm [12:15] just parsed [12:15] we ignore it on "parse" errors but not validation (that we don't do) [12:16] ondra: but ok, i can reproduce what you pasted, investigating [12:18] Chipaca: so what I would do is have a way to enforce needing to tag all json fields as either "user" or something else, all user fields need one of the special dedicated types [12:19] (for values of all) [12:21] Chipaca: still would need a plan about how to make sure we validate all snap.yaml fields [12:22] pedronis: would something like puritan still be useful in this context? [12:22] Chipaca: yes, as I said we would String and Paragrah [12:22] for some of the user fields [12:22] pedronis: and in particular, if I just used puritan for the known-problematic fields today would that be a reasonable zeroth step [12:23] Chipaca: yes, starting with just a few fields would an accetable first step [12:23] we probably don't need or shouldn't need SimpleString though [12:23] for that step [12:23] unless I'm confused [12:23] ok, I'll prune puritan back to just those, and nuke everthing but paragraph and string [12:23] (they can easily be brought back -- i'll leave the flags in the underlying code) [12:24] Chipaca: I'm also not sure puritan will not offende somebody as a name [12:24] * Chipaca grins [12:24] it's a silly name, but I don't think there are puritans left [12:24] i might be wrong though [12:28] pedronis: i could call it 'safejson', and then also use it to house the tag checker [12:28] seems reasonable (to me) [12:28] although this is a particular brand of safe (but then, safe always is) [12:29] safe-against-global-thermonuclear-war [12:29] termite-safe vs thermite-safe, etc [12:29] (also, does termite-safe mean termites can eat it, or won't eat it?) [12:30] * Chipaca needs lunch [12:30] mvo: Chipaca: do we have a fix now with test layout and /etc? do I just need ot merge master [12:30] pedronis: AFAIK the layout test is still a flake [12:30] fun not :/ [12:31] ondra: I installed your snap normally, then uninstalled, then snap try works. something is fishy here... [12:31] pstolowski: what's going on? [12:32] Chipaca: contact(_url) is intersteting btw, it seems we need a type that validates urls or blanks them [12:32] ungh [12:33] pedronis: have you seen the data in contact [12:33] it's random? [12:33] I thought it was supposed to be a http: or mailto: url [12:33] hm there's a govalidator package that can do some of this magic [12:34] you basically set validate tags in struct fields and then call ValidateStruct() [12:34] Chipaca: pedronis: https://godoc.org/github.com/asaskevich/govalidator [12:34] interesting but seems not what we want (speedwise) [12:34] we've used it in mender for some of the APIs [12:35] if I understood Chipaca's worries [12:35] we need more of a metavalidator than a validator [12:35] speedwise is subjective, my guess would be the i/o part of working with store will be longer than the validation :) [12:36] that's not what I gathered from John at the sprint [12:36] he was worried about double decoding utf8 basically [12:36] the github page has some nice examples https://github.com/asaskevich/govalidator [12:36] anyway our current problem is not so much validation (we have the code), is make sure all the fields [12:36] are setup properly for it [12:37] pedronis: yes, that's what i recall to, but looks like we're moving towards verifying the contents/structure of respective fields [12:37] pedronis: mborzecki: well... i wasn't worried about the double utf8 decode, per se [12:37] pedronis: mborzecki: but i needed to do most of the work anyway [12:37] it might be underasting for snap.yaml [12:38] that's why it ended up doing it directly [12:38] heh [12:38] I meant "interesting" [12:38] otoh unless is perfect not sure we want one more dep [12:39] mborzecki: for store json we have more of cleaning up problem, than a validation one [12:39] if I understand [12:39] mvo: I have the first and harder half of the layouts fix [12:39] shall I push it to 4847 so that it can be squashed [12:39] or would you like to see separate commits [12:39] pedronis: mborzecki: we can also decide to drop invalid json on the floor [12:39] I haven't pushed the fix there yet, just the prerequisite helpers [12:39] pedronis: mborzecki i'd be fine with taht if we can do it at the snap level [12:40] that is, in a search result, drop individual results [12:40] but then... a typo in a description would stop a snap refresh [12:40] not sure we want that [12:40] (granted you'd really need to work hard to get a typo now the store is fixed) [12:41] Chipaca: doesn't that apply to snap.yaml too though? [12:41] if the description comes from the snap.yaml then we clean from the store, but fail when we install anyway? [12:41] pedronis: indeed. and even more vocally. [12:42] * Chipaca turns up the 'everything is terrible' dial another notch, and goes to get some tea [12:42] Chipaca: hey, sorry for being late with that patch; could you look at 4847, this adds the symlinkat and realinkat functions [12:42] and some testing helpers [12:42] it's used in upcoming fix [12:43] zyga-ubuntu: realinkat? [12:43] zyga-ubuntu: it's "cannot update snap namespace: cannot create writable mimic over "/etc": no such file or directory" fixed or are you working on that still? [12:43] but yes, after tea is brewed [12:43] * pedronis has lost track [12:43] I meant to say readlinkat [12:43] Thank you! [12:44] pedronis: that's the fix he's talking about [12:44] right now :-) [12:46] ondra: ah, ignore my earlier comment, second snap try breaks it [12:47] pedronis: that's what I fixed just now, it will be a PR in a moment [12:47] pedronis: just trying to coordinate that with mvo for release (one PR, many PRs, squash or not, etc) [12:48] PR snapd#4836 closed: tests: force profile re-generation via system-key [12:48] zyga-ubuntu: that's fine, just trying to understand whether I needed to re-run the tests or merge master first [12:49] re run now [12:51] PR snapd#4838 closed: snapstate: put layout feature behind feature flag [12:51] PR snapd#4851 opened: cmd/snap-update-ns: fix creation of layout symlinks [12:51] mvo: I've opened https://github.com/snapcore/snapd/pull/4851 to get a feel of the fix in the wild [12:51] PR #4851: cmd/snap-update-ns: fix creation of layout symlinks [12:52] after standup I need to go to the doctor again but the 2nd fix for layouts is easier so I will push the PR after returning [12:56] zyga-ubuntu: can you remind me/brief me on how do I inspect namespaces of a snap? [12:56] PR snapd#4809 closed: cmd/snap: tweak and polish help strings [12:56] pstolowski: use nsenter [12:56] nsenter -m/run/snapd/ns/foo.mnt [13:01] PR snapd#4852 opened: snapstate: put layout feature behind feature flag [13:02] niemeyer: having network issues, will join in a few moments [13:27] hey are there any plans to fix the ugly looking snap apps their icons in launchers etc? [13:28] pstolowski: can you please pastebin the meta/snap.yaml [13:28] pstolowski: I have a suspicion I know what's going on [13:28] zyga-ubuntu: https://pastebin.ubuntu.com/p/8tCdGtRTcp/ [13:29] pstolowski: aha, that's curious [13:29] that's not what I assumed [13:29] can you paste the URL of the snap pelase [13:29] *please [13:29] I'll pull and explore [13:30] zyga-ubuntu: http://people.canonical.com/~okubik/git_2.7.4_amd64.snap [13:30] zyga-ubuntu: unsquash and snap try twice [13:31] thanks [13:41] zyga-ubuntu: ty! let me know what's the outcome [13:42] I will only check after my doctor appointment though [13:45] sure === Guest65850 is now known as tyhicks === tyhicks is now known as Guest1006 [13:56] Chipaca: are you fixing snap info output? [13:56] mborzecki: yes [13:57] Chipaca: idk why, but even `fmt.Fprint(w, formatDescr(both.Description, termWidth))` tries to expand % [13:57] mborzecki: it's not formatDescr [13:57] mborzecki: it's strutil.WordWrap [13:57] mborzecki: which is the same one munging the indents [13:57] mborzecki: so guess who's throwing it away [13:58] <- this guy [13:58] :-) [13:59] Chipaca: [14:00] pstolowski hey [14:00] Chipaca: https://paste.ubuntu.com/p/qXH3Bk4Zkt/ pff poor man's fix, but if it's WordWrap breaking it then strutil is probably better place to fix it [14:00] pstolowski back now, I saw you can reproduce it now [14:00] pstolowski anything else I can assist with? [14:02] ondra: yeah, I got to the point where I can point my finger at what breaks and handed it over to zyga as it's his domain, he will look at it [14:02] I'm going to see a doc now, I'll check it out after that ondra [14:02] definitely feels like my type of problem [14:04] zyga-ubuntu yeah no time pressure from me, it's not blocking me personally, just found it as very interesting problem, so happy to help if there need [14:04] I know what to look at, I'll let you know when I understand the problem [14:06] mborzecki: yeah, by the time formatDescr gets it it's already happened [14:07] Chipaca: http://paste.ubuntu.com/p/F3y8NcpYQZ/ [14:07] zyga-ubuntu thanks bunch :) [14:07] mborzecki: pretty much yes, but as I said on the list, the indent munging needs to die [14:08] Chipaca: death by 1000 tabs [14:08] :-) [14:09] niemeyer: #4825 is the PR that needs a 2nd look [14:09] PR #4825: overlord/snapstate: implement policy of holding refreshes for 2h since seeding on classic [14:10] ondra: I know what the problem is, something for me to fix in do-undo logic for mounts [14:10] thanks for bringing this to my attention, I will focus on it ASAP [14:11] zyga-ubuntu happy to help :) [14:20] off to pick up the kids [14:28] PR snapd#4825 closed: overlord/snapstate: hold refreshes for 2h after seeding on classic [14:47] Question: After installing spotify snap in Elementary OS - How Do I Start It ? [14:53] MincePies, if they don't pick up the desktop file, check in /snap/bin [14:53] There should be an executable in there you can run [14:54] MincePies: if you just installed snapd, you might need to log out before it has the paths set up right, but you should be able to do 'snap run spotify' (or /snap/bin/spotify if elementary ships it as /snap) [14:54] brb, rebooting [15:41] PR snapd#4853 opened: overlord/snapstate: hold refreshes for 2h after seeding on classic [15:41] mvo: ^ I made the backport for that bit [15:41] zyga-ubuntu: I'm building test kernels, is there one you would like in particular [15:51] niemeyer, hey [15:52] remember the spread issue that I told you during the standup? [15:52] cachio: Hey, sure [15:52] niemeyer, well, the real problem was different [15:52] cachio: Not surprised ;) [15:53] debian is killing the networking before the ssh sessions [15:53] it is a known issue [15:53] cachio: What does that mean in more detail? [15:55] when we reboot [15:56] systemd is stopping the network services [15:56] in this debian [15:56] it is stopping first the network connection and then the ssh sessions [15:57] How's that an issue? [15:58] in that case spread is not getting that the session is closed [15:58] so then when it tries to connect to detect the machine is rebooted [15:58] it is to late [15:58] the machine is up again [15:59] bebian is taking between 7 and 8 seconds to start [15:59] ubuntu is taking + than 12 [15:59] Ah, I see.. the connection is silently dropped [15:59] yes [16:00] Okay, that makes more sense [16:00] I created a service to force to stop the ssh sessions before the network [16:00] when we reboot [16:00] and the problem is gone [16:00] I'd prefer to workaround it in a way that makes spread more resilient [16:00] Hmm [16:01] otherwise I could add a keepalive in spread when we reboot [16:01] to detect if the ssh session is gone === mborzeck1 is now known as mborzecki [16:01] cachio: Won't work.. too short a time [16:02] cachio: I suggest the following: let's drop all the waits, and make spread look at the actual uptime [16:02] niemeyer, ok [16:02] cachio: Instead of waiting for the disconnection, it disconnects by itself automatically when asking for the reboot [16:02] cachio: And then immediately tries to reconnect and check the uptime [16:03] cachio: Repeat until timeout [16:03] niemeyer, ok, makes sense [16:03] I'll try that [16:03] cachio: WE need to make this logic resilient as we'll often see errors mid-routine [16:04] which errors? [16:04] you mean the failed attempts? [16:05] niemeyer, [16:05] I'll try that and push it [16:05] after lunch :) [16:06] niemeyer, thanks [16:07] cachio: np, thanks for figuring it out [16:12] cachio: I suggest using this to figure the latest boot time: [16:12] date -u --iso-8601=seconds -d "`cut -f1 -d. /proc/uptime` seconds ago" [16:12] cachio: There are backticks in that message, which hopefully your IRC client did not interpret [16:13] cachio: Ah, even better: [16:13] date -u --iso-8601=seconds -d "$(cut -f1 -d' ' /proc/uptime) seconds ago" [16:15] cachio: Then, we need to tolerate a delta of up to, say, 3 seconds, since there will be a difference between the time we read the uptime from the time date makes the syscall to pick up the time [16:15] niemeyer: cachio: or, you know, 'uptime -s' [16:15] :) [16:17] i'm going to go offline for a while, will bbl [16:17] Chipaca: Does it use utmp or proc? [16:17] * niemeyer checks [16:17] (we want proc) [16:17] should still be able to push the fix for snap info tonight [16:19] Apparently proc, so that's nicer indeed, thanks! [16:19] niemeyer: proc; utmp for who's logged in [16:19] * Chipaca vanishes in a cloud of []rune [16:20] Except cut and date come from coreutils, and uptime comes from procps [16:20] Probably good enough [16:25] well that worked - only just! https://paste.ubuntu.com/p/Dj5nxS7t8g/ [16:26] Where can I find a list of snaps to test ? [16:37] niemeyer, ok, so I'll use 'uptime -s' [16:37] cachio: Sounds good, thanks [16:40] Where can I find a list of snaps to test ? [16:40] I have a 1 teraByte SSD [16:44] I'm getting again Job for snapd.service canceled. on 14.04 [16:45] did we find what was it about? [16:45] pedronis, do you have a log? [16:45] to see where is it failing [16:46] cachio: https://travis-ci.org/snapcore/snapd/builds/353848109?utm_source=github_status&utm_medium=notification 3 prepares on 14.04 are failing with that [16:46] pedronis, it was giving that error when we tried to stop it and it was not in running state [16:48] pedronis, it is failig in another place now [16:49] pedronis, a solution is to encapsulate the stop into a function and there check before the status and then stop the service [16:50] it's failing like this on a couple of my branches [16:50] that have very different changes [16:52] pedronis, so, perhaps it is something new [16:52] master is also red [16:52] trying to see which way [16:53] same error on master [16:53] something changed [16:53] yes [16:53] pedronis, I'll take a look [16:53] right now [16:54] thanks for the headsup === pstolowski is now known as pstolowski|afk [17:01] PR snapd#4854 opened: devicestate: introduce DeviceManager.Registered returning a channel closed when the device is known to be registered [17:01] re [17:01] * zyga-ubuntu needs more examinations [17:08] aww, pushed go fmt fixes [17:16] question, Where can I find a list of snaps for testing, please ? [17:26] https://snapcraft.io/store ? [17:27] https://uappexplorer.com/snaps [17:29] mcphail: how do I get this to go? https://uappexplorer.com/snap/ubuntu/software-boutique [17:31] MincePies: I've never used that snap. I think it is fairly specific for Ubuntu Mate. flexiondotorg may be able to clarify for you [17:32] Who is he ? [17:32] MincePies: he's affiliated with Ubuntu Mate [17:32] He's the creator of that snap [17:32] Lets see if he shows-up, then (?) [17:33] Generally, if you have a snap installed, "snap info name_of_snap" will tell you which commands can be run [17:36] Brilliant & Its my first snap install! https://imgur.com/CHByC6U [17:39] oh zyga-ubuntu .... [17:39] zyga-ubuntu, will you take pictures of the crowd with pitchforks in fromt of your house ? [17:39] "Because flatpak is not the future ..." [17:40] ogra_: in poland? they will be lost at the train station [17:40] lol [17:40] "track 6 at platform 4 in sector 8" [17:40] all said in gibberish polish with poor speakers [17:40] and once they come here they will become infected [17:41] and then half of them will oppose the other half [17:41] and they will discuss a substitute topic instead [17:41] wanna do a code review? [18:09] zyga-ubuntu: > wanna do a code review? Answer: Yeah. [18:09] MincePies: hey [18:10] I have two related PRs [18:10] https://github.com/snapcore/snapd/pull/4847 [18:10] PR #4847: osutil,testutil: add symlinkat(2) and readlinkat(2) [18:10] and https://github.com/snapcore/snapd/pull/4851 [18:10] PR #4851: cmd/snap-update-ns: fix creation of layout symlinks [18:11] I will happily take feedback [18:12] zyga-ubuntu: I don't Like this: https://paste.ubuntu.com/p/H944SV4kc3/ [18:12] can you be more specific? [18:13] Will it work on debian ? [18:13] yes, why would you worry about that? [18:13] this is an unit test for a testing helper [18:13] it will work on any system [18:14] zyga-ubuntu: > it will work on any system | That's abit 'headed' there. [18:14] ? [18:14] Have you tried Rosa ? [18:14] it will work on windows and macos and plan9 [18:15] because it's totally unrelated to the system [18:15] because it's a mocking helper for testing other parts of the code [18:15] What is a mocking helper, then, when its at home? [18:15] sorry, I'm looking for people who can review my code [18:16] he doesn't know. [18:16] internet is a funny place [18:25] jjohansen: hey, do you have a patch I could pull and try out? [18:37] PR snapd#4839 closed: errtracker: respect the /etc/whoopsie configuration [18:37] PR snapd#4853 closed: overlord/snapstate: hold refreshes for 2h after seeding on classic (2.32) [18:39] PR snapd#4285 closed: tests, spread: add Arch Linux to CI systems [19:17] PR snapd#4855 opened: Translate polkit strings [19:49] PR snapd#4852 closed: snapstate: put layout feature behind feature flag (2.32) [19:56] sergiusens, is https://forum.snapcraft.io/t/custom-environment-variables-for-parts/1639/9 being planned / worked on yet? [19:57] (I might be able to take a stab at it if not) [20:04] hmmm [20:04] I'm getting consistent failures [20:04] * zyga-ubuntu wonders what changed [20:06] + systemctl stop snapd.service snapd.socket [20:06] Job for snapd.service canceled. [20:06] zyga-ubuntu, I have fixed that [20:06] mvo: if you are around, do you have any idea what may have changed? [20:06] oh [20:06] cachio: shall I pull master? [20:07] * zyga-ubuntu hugs cachio :-) [20:07] no yet [20:07] what do I need? [20:07] I was testing that [20:07] I'll push in 5 minutes [20:07] excellent, thank you [20:07] I will send kids to bed in the meantime [20:08] oSoMoN: no, not on the roadmap; we could plan for it in Berlin. [20:09] zyga-ubuntu: hey [20:09] zyga-ubuntu: I am around, what is the question [20:11] sergiusens, please do :) I won't be in Berlin but I'll be tracking it [20:13] PR snapd#4856 opened: release: 2.32~pre2 changelogs [20:17] oSoMoN: if you want to implement I would not be against that either ;-) [20:17] zyga-ubuntu: morning [20:18] zyga-ubuntu: "We can check that we are on an overlayfs, look at the upperdir and check if it is a tmpfs." <- does this mean parsing /proc/mounts or something else? [20:18] if so, does snapd already have code for this? [20:19] zyga-ubuntu, #4857 [20:19] PR #4857: tests: adding checks before stop snapd service to avoid job canceled on ubuntu 14.04 [20:19] PR snapd#4857 opened: tests: adding checks before stop snapd service to avoid job canceled on ubuntu 14.04 [20:19] is not a super elegant solution but should work [20:20] We already used that in the past to fix the same problem in the reset [20:20] mmm osutil/mountinfo.go looks like a good start ;) [20:20] PR snapd#4855 closed: data: translate polkit strings (2.32) [20:24] re [20:24] hey good morning [20:24] mwhudson: we have code for this already [20:24] mwhudson: please look at ... (one sec) [20:25] https://github.com/snapcore/snapd/blob/master/osutil/overlay.go#L44 [20:25] I believe this can be modified to return both upper and lower dir [20:25] and then we can inspect the upper dir path to find the fstype [20:26] oh heh that code looks installer relevant [20:26] it is referenced from .. [20:27] https://github.com/snapcore/snapd/blob/master/interfaces/apparmor/backend.go#L114 and https://github.com/snapcore/snapd/blob/master/interfaces/apparmor/backend.go#L441 [20:27] which means it ends up in both snap-confine and per-snap profiles [20:27] er [20:27] sergiusens, I haven't looked into implementation details yet, but it looks like it shouldn't be too much work [20:27] per app snap profiles [20:27] yeah that makes sense [20:27] we could use it as a starting point [20:27] I think rather than doing elaborate mountinfo analysis just find upperdir and then fstatfs it [20:28] i guess we should change code around here: https://github.com/snapcore/snapd/blob/master/overlord/snapstate/autorefresh.go#L134 [20:28] (which seems very fresh, hi pedronis) [20:36] mwhudson: not sure, ask pedronis via the forum [20:36] zyga-ubuntu: ack [20:49] cachio: we might have a new 2.32~pre for amd64/i386 soon in beta [20:49] cachio: arm seems to be a bit slow to build though [20:49] mvo, perfect [20:49] tomorrow afternoon I'll be off [20:49] cachio: no worries [20:49] mvo, but I can make the tests run [20:49] cachio: getting it into beta and bionic is the key here, all else is bonus :) [20:50] so should not be a problem [20:50] cachio: thank you! that is great [20:52] np [20:53] cachio: so, what can I do to unblock PRs? [20:54] zyga-ubuntu, we need to merge #4857 first [20:54] PR #4857: tests: adding checks before stopping snapd service to avoid job canceled on ubuntu 14.04 [20:54] it is the first part of the solution [20:54] ok, reading [20:54] what's next? [20:55] then I'll apply that to the other tests and scripts [20:55] zyga-ubuntu, I just applied that for those tests that were failing [20:55] basically it fails in tests with script which are stopping snapd in the first line [20:56] in the prepare [20:56] it happens because in the prepare-each the last line is starting the snapd.service and socket [20:56] and for some reason now the start is taking more time than before [20:57] cachio: can we use systemctl is-active? [20:57] well, the problem is that the status "activating" makes the mess [20:57] is-active returns true [20:58] but it is not fully ready [20:58] it is just happening in 14.04 [20:58] perhaps we could try to make a change in systemd to prevent that [20:59] and/or see why the systemd service is taking more time to be active (running) [20:59] hmm [20:59] I mean [20:59] it prints "active" [20:59] I mainly ask because it looks cleaer than doing status and grepping [21:00] *cleaner [21:01] zyga-ubuntu, is-active is not enough [21:02] zyga-ubuntu, that's the problem [21:03] zyga-ubuntu, perhaps I am not getting you well, please add a comment in the PR [21:03] nah, that's ok [21:03] this solution is temporal [21:03] I'm fine with good is better than perfect if it ships [21:03] I think we need to figure out why it is happening now, and not before [21:04] but I did that to unblock all the other PRs [21:06] zyga-ubuntu, let's see if all the tests pass [21:06] zyga-ubuntu, I just tested completion [21:06] with repeat 50 [21:07] I'm not finding any documentation on build-snaps. how does snapcraft expose the contents of the build-snaps once they are installed? [21:09] cachio: i386 is in beta now [21:10] cachio: looks like you need to shepherd amd64/arm* into beta, it takes a long time today :/ [21:12] cachio: or will do the rest in my morning, need to sleep now. cu [21:12] sergiusens, ^ [21:16] zyga-ubuntu, well, no errors for 14.04 [21:16] still missing to finish one test [21:16] ok [21:21] zyga-ubuntu, in green [22:12] niemeyer: ping [22:12] Chipaca: pong but on a call [22:13] niemeyer: ah, give me a shout when you get off, i'll prepare some examples meanwhile [22:22] Chipaca: wow, you're working late [22:23] cnk [22:23] cachio: is it merged? [22:23] zyga-ubuntu: i don't work tomorrow, and i want to fix this snap info description thing [22:23] zyga-ubuntu, let me check [22:24] Chipaca: I understand the feeling [22:24] plus [22:24] I had coffee [22:24] that wasn't a smart thing [22:24] zyga-ubuntu, no reviews yet [22:24] but it was leftover after some cake we made [22:24] and now I'm here and looking at a bug [22:27] Chipaca, zyga-ubuntu #4857 [22:27] PR #4857: tests: adding checks before stopping snapd service to avoid job canceled on ubuntu 14.04 [22:27] please take a look before merging it [22:36] zyga-ubuntu: oooh, i have cake too [22:36] but … it's downstairs [22:39] Chipaca: let's review 4857 [22:39] it shoud fix master [22:39] i'm looking at it [22:39] and scritching my head [22:39] is systemd really this broken [22:39] why [22:39] heh [22:40] that's a good question [22:40] I'm inclined to slap a TODO on it and merge it because it's green [22:40] and red sucks [22:40] actually [22:40] maybe we are just silly [22:40] maybe the "cancelled" error just means [22:40] yeah, it's off [22:40] zyga-ubuntu: ? [22:40] but returns an error [22:41] ah, no [22:41] zyga-ubuntu: cancelled means 'i couldn't queue that job you asked me to do' [22:41] ah [22:41] hmmm [22:41] where 'that job' is stopping the thing [22:41] did we report it upstream? [22:41] zyga-ubuntu: AIUI it's fixed in a new enough systemd [22:42] but not in 18.04 [22:42] also if we describe what we're doing to systemd in trusty i suspect pottering will weep [22:42] zyga-ubuntu: isn't this 14.04 fix? [22:42] but this was affecting 16.04 and others [22:42] hmm [22:42] one sec [22:42] it is affecting just 14.04 [22:42] if we can catch it on a new enough one, yes please let's report it [22:43] i thought it was always trusty [22:43] ah [22:43] yes, just 14.04 [22:43] so... [22:43] meh but yes [22:43] I wonder why now it became so apparent [22:43] did something change [22:43] or is it just google cloud being "better" [22:44] races are racy [22:44] I have a feeling we are "winning" more often now [22:44] niemeyer: depending on how busy your call is, if you want, take a look at http://people.canonical.com/~john/wrappers.txt [22:45] niemeyer: bottom line the current formatDescr is very buggy, so i rewrote it, but before pushing i thought i'd compare it with formatDescr and with go/doc's ToText [22:45] niemeyer: in my book, i win [22:46] niemeyer: but i thought i'd check with you [22:46] * zyga-ubuntu -> Zzz [22:47] Chipaca: Which one is yours? Top? [22:47] niemeyer: the one labeled 'wordwrap' [22:47] yes, top [22:47] PR snapd#4857 closed: tests: adding checks before stopping snapd service to avoid job canceled on ubuntu 14.04 [22:47] Chipaca: A bit strange on acestreamplayer [22:48] niemeyer: that's the 'respecting existing \n' thing [22:49] Chipaca: Even worse on autopilot-qt [22:49] Chipaca: I wonder if we should fold [22:49] Chipaca: and respect empty lines instead [22:49] niemeyer: knowing when to fold is hard [22:49] Chipaca: Empty lines? [22:49] niemeyer: look at firefox for an example of folding [22:49] just buy 100 nvidia GPUs and have them AI the problem away [22:50] zyga-ubuntu: Zzz [22:50] Chipaca: I see.. [22:50] zyga-ubuntu: (in reading this i saw there's a gpu-enabled terminal, and i wondered why a terminal would use the gpu for the terminal and not for ai) [22:50] Chipaca: Empty lines and non letters at start, maybe.. [22:50] Chipaca: I think it's going into a good direction.. and the exercise you're doing is great [22:51] Chipaca: Thanks for that! [22:51] Chipaca: Let's see if we can do some conservative folding, starting on the cases we're pretty sure is fine.. that might be better than to figure when *not* to fold [22:51] niemeyer: if knowing when to fold were easy there wouldn't be a Common Mark :-) [22:52] Anyway [22:52] but, sure [22:52] I need to run [22:52] niemeyer: aw [22:52] you're no fun any more :-) [22:52] niemeyer: I'll push this, as it's an improvement over formatDescr, and we can loop back next week [22:52] i'm not here tomorrow :-) [22:52] Thank you! [22:52] Me neither [22:52] :) [22:52] Or maybe not anyway ;) [22:52] haha [22:52] ... nothing to see here ... o/ [22:52] so "see you all tomorrow" [22:53] this team is so predictibly terrible at not working [22:53] * zyga-ubuntu goes to sleep [22:57] niemeyer: btw in that .txt the "has \n\n" and "has \r" is to help figure out folding heuristics, if they exist [22:57] zyga-ubuntu, good night [22:57] the "has \t" is because i refuse to care if it looks bad because somebody put tabs in there [23:17] how long should booting ubuntu core on a dragonboard take? [23:18] i haven't booted this one in a long time so it's possible the hardware has died [23:18] but it's hanging at "failed to load macaddress file, using random one instead" [23:20] or it's possible i hadn't inserted the sd card fully [23:27] mwhudson: hmm, it should boot pretty quickly [23:27] mwhudson: I had to reflash my SD card after loooong inactivty, not sure why [23:27] maybe that other card just failed [23:27] zyga-ubuntu: nah i just hadn't pushed the card i was booting off in fully :) [23:28] ah :) [23:28] * zyga-ubuntu cannot sleep after that coffee [23:29] ok now time to try to remember how to make an ubuntu core image [23:29] ctrl-r ubuntu-image ;-) [23:29] you need a model assertion [23:29] the rest is easy-ish [23:29] yes exactly :) [23:31] uh i also need to download an arm64 core snap [23:32] PR snapd#4858 opened: strutil, cmd/snap: drop strutil.WordWrap, first pass at replacement [23:32] zyga-ubuntu: ^ special rune-wrangling pr for curing insomnia [23:33] uhh my board rebooted and snapd paniced with "sync: unlock of unlocked mutex" [23:33] uh [23:33] not fun [23:33] what did it do before [23:33] I recall we had some issues when error cases would panic [23:33] s/cases/paths/ [23:33] but not deliberatly, more by accident really [23:34] https://www.dropbox.com/s/y2svocouxp7o1h2/IMG_20180316_123326990.jpg?dl=0 [23:35] hm not extremely readable [23:35] no, not much [23:35] can you focus on the screen and send another one [23:35] oh [23:36] invalid memory address or nil pointer dereference [23:36] looks like pedronis-land [23:36] I don't know that code much [23:36] but please drop this in the forum [23:36] looks like something to fix for the release [23:40] https://forum.snapcraft.io/t/panic-on-dragonboard/4490 [23:41] Chipaca: replied [23:41] Thank you mwhudson [23:41] you can drop the image into the forum [23:41] it is more long-lived than a dropbox URL [23:41] just drag the image over to the edit field [23:41] and wow [23:41] you have a big office :D [23:42] haha i can't work at home any more [23:42] why not? [23:42] Chipaca: https://travis-ci.org/snapcore/snapd/builds/354083470?utm_source=github_status&utm_medium=notification [23:43] this build is done but still "running" on travis [23:43] it will fail on timeout any moment now [23:44] ok [23:45] I will now exercise "can I keep my eyes closed" game [23:49] ok, i'm out of here [23:49] see you all when i see you all