[00:09] Bug #1758465 opened: snapd doesn't upgrade on bionic when a local installed snap mount is failing [00:59] PR snapd#4858 closed: strutil, cmd/snap: drop strutil.WordWrap, first pass at replacement [04:20] Bug #1741486 changed: failed snap try leaves snap symlink around [07:04] PR snapd#4882 closed: snap: make `snap run` look at the system-key for security profiles [07:12] PR snapd#4924 opened: snap: make `snap run` look at the system-key for security profiles (#… [07:44] PR core#86 opened: hooks: create compat copy of /lib/udev/snappy-app-dev [07:45] PR core#86 closed: hooks: create compat copy of /lib/udev/snappy-app-dev [08:28] mvo: zyga: I'm a bit confused, it seems account-control expects files to be already present in /var/lib/extrausers but in our tests they are just because of a hack [08:32] PR snapd#4924 closed: snap: make `snap run` look at the system-key for security profiles (2.32) [08:33] if I tweak the hack I get: useradd: cannot open /var/lib/extrausers/passwd [08:37] it's not a confinement issue btw, useradd --extrausers alice as root also gives the same [08:59] PR snapd#4925 opened: tests: fix snap-run tests when snapd is not running [09:00] PR snapd#4926 opened: tests: fix snap-run tests when snapd is not running [10:10] hello. how do I debug why stage-packages: pulls in packages that I don't see installed when I do apt-get install for that list? [10:11] I see some packages that should not be there [10:12] found --debug, let me see if that helps... [10:16] zyga: hi, you around? [10:17] zyga: there's a hackathon at GOG office in May, want to show them how make snaps? https://www.gog.com/hackathon [10:19] PR snapd#4925 closed: tests: fix snap-run tests when snapd is not running (2.32) [10:28] Hi mborzecki [10:28] Ooohhh [10:28] Thanks [10:29] Wanna come? [10:36] zyga: i'm interested for sure, don't know yet if i will be able to go, probably will know more mid-april, registration closes on may 7, so we still have some time [10:36] hi [10:37] We could snap gog games [10:37] am building my app with qt5.7.1 and later am going to snap pack it, how can i use my local qt5.7.1 toolkit to build in snapcraft file [10:37] I’ll register us back home [10:38] bulld: hey, I’m not sure but it’s possible for sure. [10:38] Did you check on the forum? Maybe someone did this already [10:39] i build qt5.7.1's webengine myself with codecs support so i need it to build/ship the binary am using in snap package [10:39] so I've ran two snapcraft --debug prime runs, and it seems like the behaviour is inconsistent: https://thre.sh/stuff/snapcraft-different-packages-staged.diff.txt [10:39] okay @zyga i will check [10:39] any idea how to make sure snapcraft works the same between different runs? [10:40] * zyga is a snapd hacker and builds snaps less frequently than others [10:40] e.g. you can see it fetches libvlc5 in one case and not in the other [10:40] And when I do I build weird snaps that use new features [10:40] @zyga :) [10:41] Speaking of which, I have some cool snap demo to publish [10:41] But first family time with my daughter :-) [10:42] hmm :) [10:55] my snap installation is broken somehow cannot install any snap package local or from store. getting some apparmor errors [10:55] am using ubuntu 16.04 [10:57] PR snapcraft#2024 closed: errors: improve the UX for sending error data [11:02] i already posted details of errors am getting in snapcraft forums https://forum.snapcraft.io/t/unable-to-install-snap-from-store-or-loallay/4629 [11:08] bulld: can you give me more details [11:08] Snap version [11:08] And the errors you are seeing [11:09] i provided everything in the forum link in my previous msg [11:09] https://forum.snapcraft.io/t/unable-to-install-snap-from-store-or-loallay/4629 [11:10] Ok [11:10] Thanks [11:22] I’ll check that later today [11:27] okay ty [11:55] PR snapd#4927 opened: release 2.32 [12:02] zyga: I think I know how to disentangle the etc mess, was confused for a bit by writable-paths (surprise) [12:02] Ha [12:02] I sent a PR that looks for the damage [12:02] There are some tests that need fixes [12:03] zyga: well, it's no the tests [12:04] is the prepare stuff that does very strange stuff [12:04] (in hindsight) [12:04] zyga: we basically run the tests with /etc/passwd being a bind mount of /var/lib/extrausers/passwd [12:04] that makes little sense conceptually [12:05] Why do we do that’s [12:05] Note that would not break the mimic code [12:05] zyga: well we do need to bind mount something on /etc/passwd [12:05] It is this with combination of some unfortunate rm -rf [12:05] afair [12:05] sorry [12:05] afaiu [12:06] but making it /var/lib/extrausers/passwd [12:06] adds to the confusion [12:06] because then some other code will modify it [12:06] zyga: it doesn't seem to be a rm -rf , more some cases of sed -i [12:06] but I bit unclear exactly how (I don't get that effect playing locally with sed -i) [12:07] Interesting [12:07] I think sed would not cause that [12:07] Kernel code indicates that dentry must be removed [12:07] So more like the parent directory [12:07] zyga: anyway having etc/passwd === extrausers/passwd doesn't make sense [12:07] conceptually [12:07] I agree [12:08] zyga: I think we need to bind mount /etc/passwd because we need to put there the spread root user [12:08] afaiu [12:08] Cannot we use extra users for that? [12:08] zyga: no, that's the problem [12:08] root cannot be in extrausers [12:08] because the one in /etc/passwed wins [12:09] Ah, I see [12:09] so we need a bind mount [12:09] but no reason to do this bind mount [12:09] (is super confusing in various ways) [12:09] also it means that when we test extrausers stuff [12:09] (which is important) [12:09] Well [12:09] we really test nonsense [12:09] At the very least I know how to improve mimic code [12:10] But our test environment is in a very broken state [12:10] zyga: anywy I can propose a change that doesn't have any /etc //deleted mounts at least [12:10] anymore [12:10] and also untangle a bit that confusion [12:10] I don't know if it's enough to not confused layout [12:10] but is a step [12:10] Because all those //deleted mount points are broken [12:10] yea [12:10] I will check kernel code [12:11] no more of those [12:11] with my change [12:11] I mean for etc [12:11] But I’m worried that such deleted mount points cannot be the target of a mount call [12:11] we have some for try snaps afaict [12:11] Because they no longer exist conceptually [12:11] zyga: ? [12:11] zyga: so? [12:11] It’s a detached inode [12:11] zyga: as I said I fixed the //deleted bit [12:11] So mount with that as a target will always fail [12:11] So what can we [12:11] Do? [12:12] is that a problem? [12:12] Yes [12:12] The mimic is broker [12:12] Broker [12:12] I mean do you think it will happen in practice? [12:12] Broken [12:12] No [12:12] But we must handle that in tests [12:12] ? [12:12] In reality it will not happen [12:12] if there are no //deleted [12:12] anymore [12:12] there's nothing to handle [12:13] I made changes such that there are no more //deleted [12:13] I think I said that a couple fo times [12:13] But I don’t want to fail tests 30% of the time because of that [12:14] Oh [12:14] ? [12:14] Cool [12:14] Can you merge my patch from a later pr that detects dangling //deleted please? [12:14] zyga: I used your patch [12:14] as a baseline [12:14] otherwise how would I know [12:14] that there no //deleted [12:15] Ah perfect [12:15] to be clear I'm talking about /etc here [12:15] there are some tests using try [12:15] that live //deleted around [12:15] not sure it's an issue or not [12:15] I see [12:15] I can review that next week and try to eliminate them [12:17] * zyga is very much afk [13:12] updated snapd to 2.32 in AUR [15:07] PR snapd#4922 closed: overlord/configstate: change how ssh is stopped/started (#4912) [15:27] ok, my change seems to do what I wanted (there was a further subtle detail, but I think I have a fix) [15:54] PR snapd#4928 opened: tests: disentangle etc vs extrausers [15:56] zyga: ^ [15:56] Thank you. I will return home soon and review it [15:57] Did you find this by reading the strace from last night? [15:59] zyga: no, I just assumed that /etc/group being //deleted would be the source of the problem? [15:59] zyga: anyway I tried to run those account tets and layout together and layout passes [15:59] with this change [16:03] Thank you so much! [16:04] My question about the strace was motivated by wanting to see if there was anything else fishy there [16:04] I will review it in the evening [16:05] zyga: anyway as I explain in the PR, this is a saner change because what we did would make our /var/lib//extrausers not very realistic [16:06] because /etc/passwd would also contain the stuff [16:06] etc [16:16] zyga: rechecked, on master if one runs ubuntu-core-create-user just before layout the latter fails with the /etc issue [16:17] Great find! But I also managed to fail it by running just layout with -repeat 2 [16:18] that is stranger [16:19] But that was against core 16 [16:19] So I thought the suite restore is buggy [16:19] this is a core only problem btw [16:19] we don't do this strange things on classic [16:19] It would fail on 2nd try [16:20] I hope so. I think we saw layout failures in classic too [16:20] But perhaps older codebase [16:20] well it might be that layout breaks layout [16:20] in some cases [16:20] are the threspassing fixes merged? [16:21] No but they cannot affect this [16:22] also linode and google are different because reuse vs not [16:22] Trespassing bug means we leave empty regular file, directory or symlink [16:22] that also changed [16:22] Ah, good point [17:04] grumble [17:22] PR snapd#4926 closed: tests: fix snap-run tests when snapd is not running [17:22] zyga: yes, that was my grumble, classic test is failing [17:22] pedronis: I reviewed https://github.com/snapcore/snapd/pull/4928 [17:22] PR #4928: tests: disentangle etc vs extrausers in core tests [17:23] ha [17:23] I think I know what to do [17:23] just annoying [17:23] I still need to create extrausers [17:23] what is your plan? [17:23] just not bind it somewhere [17:23] aha [17:23] zyga: basically we need the "test" user there [17:23] I'm testing the fix right now locally [17:23] if we need it for just one test, perhaps we could do it there [17:23] we can bind mount over /etc/passwd [17:23] and restore that correctly [17:24] it doesn't need to be in /etc/passwd [17:24] it really needs to be in extrausers [17:24] because classic knows that's were core puts users [17:24] so it's the thing it copies inside [17:24] ah, I see [17:25] as I said, I think I have a fix that should keep the rest of the sanity [17:25] trying it now [17:25] cool, thank you [17:25] I will play with the kernel, I have an idea on how to improve the error reporting for my sanity, at least [17:25] just add some logging in places where kernel returns error on mount [17:26] zyga: fwiw is not sed -i that was ripping apart /var/extrausers/foo, it's useradd itself [17:26] I think [17:26] I wrote a similar patch for pivot_root which has half a dozen reasons for EINVAL [17:26] it does atomic writes with renames [17:26] of stuff there [17:26] ah, that's sensible, it would get a new inode and the old one would become //deleted [17:27] kernel is "fun" [17:34] zyga: I pushed the fix [17:34] lookng [17:38] let [17:39] let's see if it passes now [18:09] zyga: passed, I'll need a 2nd review on monday [18:09] sounds very good [18:27] zyga, is it gonna be a new 2.32? [18:27] I am running beta validation for the current one [18:27] cachio: no, I don't think so [18:27] zyga, ah, ok, good news [18:36] it's a test only fix, we probably want it in 2.32.x if likely we need to do that, but should affect current 2.32 testing [18:36] *but shouldn't