[00:16] I installed a snap named "arduino" on Mint 19.3, and when I start it it just crashes with: "java.lang.UnsatisfiedLinkError: /snap/arduino/41/usr/lib/jvm/java-11-openjdk-amd64/lib/libsplashscreen.so: libX11.so.6: cannot open shared object file: No such file or directory" [00:17] Another snap I have installed using X11 works fine. [03:31] Elladan: The "snap info" output for that snap suggests reporting problems at https://github.com/snapcrafters/arduino/issues [03:33] I haven't used that snap, so don't have much more to suggest. [03:34] howcome you could install snaps on mint? [03:35] they blocked that in a funny way [03:36] oerheks: they replaced some "deb to snap" transition packages in their archive overlay. I don't think they've done anything to actively break snap support if you install it [03:36] unless there's something else new. [03:37] They introduced this etc/apt/preferences.d/nosnap.pref file [03:40] Ah. I missed that. [03:41] Presumably if the user managed to install a snap, then they would have got past that setting though. [03:41] first remove that blob, then you could install snapd, === JanC is now known as Guest56745 === JanC_ is now known as JanC [06:19] morning [06:37] PR snapd#9144 closed: bootloader: add helper for creating a bootloader based on gadget [06:43] mvo: hey [06:44] omg, forgot about squash merge label i added myself [06:44] mborzecki: good morning [06:46] mvo: we're not doing $kernel after all? [06:47] PR snapd#9130 closed: [RFC] Support for gadget.yaml "$kernel:" style references (1/N) [06:47] PR snapd#9142 closed: sandbox/cgroup: detect dangling v2 cgroup [06:47] PR snapd#9147 closed: [RFC] Support for gadget.yaml "$kernel:" style references (2/N) [06:57] PR snapd#9148 opened: gadget: add new Kernel{Info,Asset} struct and helpers [07:04] pstolowski: hey [07:04] good morning pstolowski [07:04] morning o/ [07:57] pedronis: hey, thanks for the feedback [08:59] pedronis: i've updated #9145 [08:59] PR #9145: boot: track trusted assets during initial install, assets cache [09:01] mborzecki: thx, I will look in a little bit (was in meetings) [09:01] pedronis: sure, let me know if we should have a chat as well [09:01] * mborzecki goes looking for a copy-tree helper [09:18] zyga is coming back and should be online in a bit [09:35] what a day [09:35] mvo I will file half day off, [09:35] there was a leak at my parent's flat, someone upstairs from them had a broken pipe or something [09:36] I need to spend a moment to file the insurance claim [09:36] I'll be back around noon [09:37] zyga-mbp: ok [09:39] how is master? are we green? [09:41] zyga-mbp: yeah, the PRs i restarted today were green [09:42] (as in all green) [09:42] super-green :) [09:42] PR snapd#9129 closed: sandbox/cgroup: remove temporary workaround for multiple cgroup writers [09:43] zyga-mbp: #28a745 green [09:43] PR #28: Updated import path, closes #27 [09:43] "super green" is a quote, from, I think, the 5th element [09:44] hm now that you reminded me, i'd love to watch it again [09:50] ok , paperwork ready [09:50] eh [09:50] let's focus on work now [09:52] PR snapd#9118 closed: tests: detect unexpected xenial kernels [09:58] mborzecki: do we need to discuss something? [09:59] pedronis: idk, do you want to go over the PR maybe? [10:00] pedronis: otherwise we're good i suppose [10:01] pedronis: btw. we haven't discussed it, but we should probably add boot.SealWithModeenv() or similar at some point [10:02] mborzecki: I'm sure I have mentioned it many times [10:02] without a name yet [10:02] PR snapd#9149 opened: [RFC] gadget: provide new gadget.ResolveContentPaths() (2/N) [10:03] Isaid we need functions that seal/reseal based on a modeenv (or at least to start a function that takes a modeenv and produces sealing params) [10:03] pedronis: ok, i'll add a stub when i open the bits with content update observer [10:03] mborzecki: please coord with Claudio on this [10:04] pedronis: yup, will do [10:12] mborzecki: a few more comments [10:13] mborzecki, pedronis I'm moving kernel.yaml reading into the kernel package now, but one open question is the edition, it's private to gadget right now, so I would either need to copy or extract it [10:13] mborzecki, pedronis (the edition datastructure) - any recommendations for this? [10:15] mvo: gadget will to import kernel, right? [10:15] pedronis: yes [10:15] *will have to [10:16] mvo: it's annoying, but I recommend making a tiny gadget/edition package [10:16] with edition.Number [10:16] pedronis: works for me, thanks [10:16] or maybe we could move editionNumber to snap? [10:16] not unless we use for a 3rd thing [10:16] fair enough [10:17] I see the appeal, but snap is already full of things [10:17] and snap/edition is not better than gadget/edition [10:17] missing a kitchen sink ;) [10:28] mborzecki snap/mime and we're close to sending email [10:38] PR snapd#9148 closed: gadget: add new Kernel{Info,Asset} struct and helpers [10:52] pedronis, mborzecki updated the kernel yaml stuff in 9150, sorry I got confused by GH [10:53] PR snapd#9150 opened: gadget,kernel: add new kernel.{Info,Asset} struct and helpers [11:11] brb [11:13] pedronis: hm, i think we've forgotten to support a forced bootloader in ForGadget, anyways we can remedy that later [11:20] mborzecki: I'm sure it will be obvious when you need it :) [11:21] most tests are red, are we in another wave of problems or are those just old? [11:26] I don't know if people merged master in their PR, some of michael stuff has vet/fmt problems [11:27] it seems some uc20 prepare are timing out [11:28] mborzecki: uc20 prepare is timing out here: https://github.com/snapcore/snapd/pull/9145, real problem? [11:28] PR #9145: boot: track trusted assets during initial install, assets cache [11:29] hmmm [11:30] interesting, let me check locally in a vm [11:35] zyga: can you point to an interesting bit of history in 7285 that you think we don't have in master atm [11:36] pedronis: I think I can but it will take me a moment, there's a lot of discussion there and resulting patches [11:36] zyga: well the discussion is in the PR, not the commits [11:36] there's a lot of back and forth that has no footprint in master [11:36] at this point [11:37] yes but the comments contain responses in code commits [11:37] but I'm not sure that's a bug [11:49] pedronis: well, pushed mocking of for gadget bootloader too to 9145 [11:51] hm the core-20 spread tests don't use a tpm & secboot, do they? [11:52] mborzecki: not those ones [11:52] zyga: I found only https://github.com/snapcore/snapd/pull/7825#discussion_r411269504 [11:52] PR #7825: many: use transient scope for tracking apps and hooks <⛔ Blocked> [11:52] wierd, anyways snap prepare-image is downlaoding all snaps, we'll know what's wrong in a bit [11:59] * zyga debugs something as well [12:11] pedronis: hm looks like Observe is called with a nil structure [12:16] interesting [12:17] seems some preexisting bug in gadget though? [12:18] PR snapd#9151 opened: vendor: update secboot to fix key data validation [12:19] pedronis: unclear, gadget unit tests assert that structure is non-nil [12:19] some weird case of := vs = [12:20] that's a way to get nil where you don't expect one staring at the code [12:21] mborzecki: did an impossible situation happen in tests? [12:22] mborzecki: the other option is something wrapping a nil into an interface, and the thing going past != nil [12:23] hm actually it's more intersting [12:23] observer is nil [12:23] ah [12:23] func (o *TrustedAssetsInstallObserver) Observe(op gadget.ContentOperation, affectedStruct *gadget.LaidOutStructure, root, realSource, relativeTarget string) (bool, error) <- so o is nil [12:24] but it's called from a place where it's not nil [12:24] well, see my comment about wrapping nils into interfaces [12:24] that might be one reason [12:25] mborzecki: ah, yes [12:25] fun [12:25] morning folks [12:25] hey ijohnson [12:25] ijohnson: hey [12:25] hey cmatsuoka mborzecki [12:25] mborzecki: the issue is probably the signature of TrustedAssetsInstallObserverForModel [12:25] you probably take that and cast implicitly to an interface [12:26] that doesn't give you a nil for the interface [12:26] mborzecki: does this make sense? [12:29] pedronis: regarding making recover -> run mode automatic via a reboot, I got the initramfs method working easily ... if I base the changes on top of my other 2 initramfs PR's (systemd-mount and cross-check) the test diff is small, otherwise there are a number of conflicts I'd rather not resolve (but could if needed) [12:30] ijohnson: yes, I saw your notes, let's chat at the standup [12:30] pedronis: I am going to take a quick stab at the ensure devicemgr method we discussed now to see how much work that is [12:30] pedronis: ack [12:31] pedronis: yes, most likely, https://play.golang.org/p/UWyducWpRj7 [12:32] missing test case in handlers_install too [12:33] yes [12:33] function returning nil for structs are dangerous [12:34] mborzecki: I'm happy to chat about how to clean this up, I think both me and mvo made some comments about those functions originally [12:34] pedronis: and the unit tests check for NotNil with an interface [12:38] huh [12:40] pedronis: i'm open to suggestions, a chat? [12:40] mborzecki: yes [13:18] PR snapd#9152 opened: cmd/snapd-generator: generate drop-in to use fuse in container [13:37] zyga, to reproduce the error you can use this image https://storage.googleapis.com/spread-snapd-tests/images/pc-amd64-16-beta/pc.img.xz [13:37] cachio sorry, which error? [13:38] zyga-mbp, the reloading with --user [13:38] I see [13:38] do you know which commit corresponds to that? [13:38] I don't need to look at the image, more at the history [13:39] we can look at the image once we know where it is anchored [13:39] I am running eith the branch for beta [13:39] 2.46 [13:40] ok, I'll check [13:40] it probably doesn't have the fixes then [13:40] so unlucky fork [13:55] * pstolowski lunch [13:57] zyga-mbp: if you can update the description of #7825 with something that hints at the journey and then ping me [13:57] PR #7825: many: use transient scope for tracking apps and hooks <⛔ Blocked> [13:57] pedronis: sure [13:58] zyga: so what I was trying to say in the SU is that I don't think the extra info from mount helps because if the fsck fails or the mount fails, it shows up the same to us when we run `systemd-mount` [13:58] pedronis: I need to prepare for another call so likely in the evening or tomorrow [13:58] ijohnson: I see [13:58] i.e. systemd-mount doesn't tell us how things fail it just says that the unit failed [13:58] and then we have to go on digging to find out what failed [13:59] ijohnson: what if we start the fsck unit ourselves? [13:59] mborzecki: yes we could do this [14:02] pedronis: https://github.com/snapcore/snapd/pull/9153 [14:02] PR #9153: overlord/devicestate: workaround non-nil interface with nil struct [14:03] PR snapd#9153 opened: overlord/devicestate: workaround non-nil interface with nil struct [14:05] * zyga breaks for lunch [14:08] hmm should have skipped spread there [14:16] * zyga waits for food to heat so https://github.com/snapcore/snapd/pull/9154 [14:17] PR #9154: tests: unmount FUSE file-systems from XDG runtime dir [14:19] PR snapd#9154 opened: tests: unmount FUSE file-systems from XDG runtime dir [14:21] ijohnson: can you take a look at https://github.com/snapcore/snapd/pull/9153 ? [14:21] PR #9153: overlord/devicestate: workaround non-nil interface with nil struct [14:22] mborzecki: yes [14:22] ijohnson: thanks! [14:50] ijohnson: I just did [14:50] mborzecki: just had a look [14:50] mvo: ijohnson: thanks! [14:50] mborzecki: I will merge once spread is done [14:51] cmatsuoka: thanks too! [14:51] haha wow 3 reviews in under a minute [14:51] haha [14:51] mborzecki's code is real popular [14:51] woah [14:51] :) [14:51] what a shinny PR :) [14:53] #8931 could use a review too and is a test-only fully green 31 line change :-) [14:53] PR #8931: tests/main/install-fontconfig-cache-gen: enhance test by verifying, add fonts to test [14:53] ijohnson: sure, looking [14:54] ijohnson: sorry, somehow missed this one (or rather missed that I can review it again) [14:54] no worries [14:56] * cachio lunch [14:59] thanks mvo [15:03] hmm all jobs are queued? [15:03] nothing in progress here https://github.com/snapcore/snapd/actions?query=is%3Ain_progress [15:15] mborzecki looking [15:16] mborzecki we're executing 32 spread runs now [15:16] it's a message queue, perhaps under load and out of date [15:16] we're definitely not idle [15:16] hm maybe [15:18] actually some more as I run 4 more locally for extra safety in case one node goes down [15:18] oh [15:18] cmatsuoka I found that doc about actions [15:22] zyga-mbp: ah nice, please share if you can [15:23] done [15:23] thanks! [15:26] I'm happy to talk if you want to set it up [15:49] PR snapd#9017 closed: o/snapstate: disk space check in Ensure (5/N) <⛔ Blocked> [15:56] Err:125 http://us-east1.gce.archive.ubuntu.com/ubuntu groovy/main amd64 libio-pty-perl amd64 1:1.12-1 [15:56] Temporary failure resolving 'us-east1.gce.archive.ubuntu.com' [16:04] PR snapcraft#3247 opened: spread tests: fix classic patchelf linker regex to match all arches [16:06] zyga: if you could look at 9152 too that would be great, I think system() is fine here but I would love someone that is not me to come to the same conclusion :) [16:06] sure [16:06] looking [16:06] pstolowski: some interssting points in the generator PR from dimitri [16:06] zyga: thank you! [16:06] mvo: yes, just looking [16:07] pstolowski: \o/ [16:10] meh, i'll grow more grey hair waiting for 9153 spread jobs to finish [16:11] it's looking good though, so bbiab [16:17] reviewed https://github.com/snapcore/snapd/pull/9152#pullrequestreview-466913663 [16:17] PR #9152: cmd/snapd-generator: generate drop-in to use fuse in container [16:59] PR snapd#9153 closed: overlord/devicestate: workaround non-nil interface with nil struct [16:59] PR snapd#9154 closed: tests: unmount FUSE file-systems from XDG runtime dir [17:13] yay, cmatsuoka thanks! [17:20] ughhhhhh I spent like all week trying to understand why the user wasn't added to this core-initrd nested spread test, turns out the code was expecting the user1 user, but I was creating the ubuntu user [17:20] 🤦 [17:23] #9145 is now unblocked [17:23] PR #9145: boot: track trusted assets during initial install, assets cache [17:25] ijohnson: uhh, kind of reminds me of snapstate tests, fakestore and assumptions about snap names that aren't obvious [17:39] mborzecki: yeah lots of copying and surgical extraction of code which has assumptions that aren't obvious makes simple things more frustrating, just glad I finally figured it out [18:33] ijohnson: thanks for the review, no I think adding bootState in that interface is fine [18:33] pedronis: ack I can push that change up for you and add that comment [18:33] ijohnson: thx, that would be nice [18:33] sounds good [18:34] pedronis: need anything else from me before you EOD/EOW ? [18:34] don't think so, I'm trying to wrap (as I said) the next PR for validation sets [18:34] I chatted with mvo and we will work on landing the open uc20 PR's I have then I will work on cloud-init for uc20 after those have landed as my next big uc20 thing [18:35] ijohnson: ok, do you need to rediscuss quickly what's the plan for that? [18:35] that's not a bad idea, give me a minute to look at the doc/matrix again to refresh my memory [18:36] yea, I'm not sure it completely reflects what we agreed after we started fixing the bug [18:36] * cachio afk [18:39] pedronis: ok, ready when you are I can join the SU HO [18:40] let me join it [19:10] PR snapd#9155 opened: asserts/snapasserts: introduce ValidationSets [19:15] PR snapd#9151 closed: vendor: update secboot to fix key data validation [19:49] PR snapcraft#3247 closed: spread tests: fix classic patchelf linker regex to match all arches [22:39] Bug #1891564 opened: Fonts are not displayed correctly [22:42] Bug #1891564 changed: Fonts are not displayed correctly [22:51] Bug #1891564 opened: Fonts are not displayed correctly [23:40] PR snapcraft#3244 closed: file utils: introduce get_host_tool_path() to find commands on host