/srv/irclogs.ubuntu.com/2017/12/15/#snappy.txt

mupPR snapd#4402 opened: tests: save the snapd-state without compression <Created by sergiocazzolato> <https://github.com/snapcore/snapd/pull/4402>02:19
mborzeckimorning06:00
=== pbek_ is now known as pbek
pstolowskimornings08:05
mborzeckipstolowski: hey08:16
pstolowskio/08:16
mborzeckii've pushed some tools to analyze travis logs right here: https://github.com/bboozzoo/snapd-tools08:44
=== __chip__ is now known as Chipaca
Chipaca*yawn*09:14
Chipacagmornin'09:14
pstolowskimorning Chipaca!09:16
mborzeckiChipaca: o/09:21
mborzeckiChipaca: have you found anything interesting in interfaces-many test?09:21
Chipacamborzecki: just that connect takes 4s+, and it does 65 of 'em09:30
Chipacamborzecki: i'm wondering about digging into why it takes that long per connect09:30
Chipacapstolowski: how long does a hook take to execute?09:31
mborzeckiChipaca: are there any hooks used in this test?09:32
Chipacamborzecki: I don't think so, but run-hook is still run and still seems to take time09:33
Chipacathat's why i'm asking: what's the minimum time run-hook takes, if there is no hook09:33
Chipacathis is run-hook that's part of connect-snap09:33
Chipacareporting its ReadyTime - SpawnTime to be an average of 4s also09:34
pstolowskiwell, hooks in the tests are very simple, hookmgr just executes hook script and grabs the output, that's as fast as it can be. unless the hook misbehaves, in which case we can get stuck waiting on 10min timeout09:34
Chipaca(ie most of the time is there)09:34
Chipacapstolowski: so that's my question, how fast is "as fast as it can be"09:34
Chipacabecause if that's 4s then something is wrong09:35
pstolowskiChipaca, if there is no hook script present then there is nothing to do.. it's a no-op09:35
Chipacaand if it's _not_ 4s, then something else is wrong :-)09:35
pstolowskiChipaca, is this about interfaces-many test?09:36
Chipacapstolowski: there are no hook scripts in any of tests/lib/snaps/test-snapd-policy-app-*/09:36
Chipacapstolowski: and it's taking 4s per hook09:36
pstolowskiChipaca, indeed09:36
Chipacapstolowski: so, there's a bug in there somewhere09:36
Chipacawhen I say "it's taking 4s per hook", what I should say is "it's reporting 4s per hook"09:36
Chipacabecause the bug could also be in the reported time :-)09:36
pstolowskiinteresting. how do you measure it, do you have a modified code?09:38
Chipacapstolowski: http://paste.ubuntu.com/26187733/09:39
Chipacapstolowski: just looking at changes09:39
Chipacathat is, /v2/changes?select=all, and then print and sort09:39
Chipacato be clear, i am suspecting the times are somehow wrong09:40
pstolowskiChipaca, what is the number in parentheses?09:41
Chipacapstolowski: id09:41
pstolowskik09:41
Chipacabut it doesn't make sense for them to be like this, so it's probably counting spawn time from the change and not the task spawn, or something09:42
Chipacameaning i might need to accumulate time along a change09:42
Chipacahm09:42
Chipacai'll give it a try09:42
pstolowskiChipaca, I was going to say exactly that. the times on the left looks like accumulated times from the start09:44
Chipacapstolowski: http://paste.ubuntu.com/26187774/09:49
Chipacaaccumulated, now09:49
Chipacathat makes more sense09:49
Chipacabut it does mean the time is all in connect itself09:50
Chipacai'm going to have to profile this aren't i :-/09:51
* Chipaca sighs and gets onto it09:51
pstolowskiChipaca, big gap between 8.209555 install-snap(2)/run-hook(14) and 17.577298 install-snap(8)/setup-profiles(54) ?09:52
Chipacapstolowski: are you still looking at the non-deaccummuated one?09:53
pstolowskiChipaca, ah gosh, right, I confused the tabs in my browser09:53
Chipaca:-)09:53
* pstolowski closes the old tab to be safe ;)09:54
Chipacapedronis: shouldn't SpawnTime of a change be the time it was run, not the time it was created?09:54
Chipacapedronis: ditto task09:54
Chipacaoh wait that's "AtTime"09:54
Chipacawhich isn't in the client >:-(09:54
pstolowskiChipaca, one thing I can say for sure wrt to this test is09:55
mupPR snapd#4403 opened: asserts/signtool: support for building tools on top that fill-in/compute some headers <Created by pedronis> <https://github.com/snapcore/snapd/pull/4403>09:56
pstolowskiChipaca, in the past we had Connect doing multiple connections at once. that was changed to create one task for every connection which in reality adds even more tasks because of hooks09:56
pedronisChipaca: Gustavo defined it that way, but basically it's creating time, not start of running time, notice that a task can start running many times (because of retry)09:56
Chipacaquick, how many definitons of a 'change' struct do we have in our codebase?09:57
Chipacaanswer: no less than 4 (i wouldn't swear it wasn't more)09:57
Chipacaoverlord/state has two, client has one, daemon has one09:57
Chipaca:-( no wonder theyre out of sync09:58
Chipacapedronis: it makes knowing how long a task took to run quite hard09:58
pedronisit is hard though essentialy09:58
pedronisChipaca: AtTime is used by retry with a specific time09:58
Chipacapedronis: sorry, i said hard but i meant impossible, strictly09:59
Chipacait is hard, yes09:59
Chipacabut with the data exposed we can only guess at it09:59
Chipacagah09:59
ChipacaEOY-day should be more puppies and less cockroaches09:59
pstolowski:)10:00
pedroniswe could have a cumulative run time10:00
pedronisalso we have do and undo10:00
pedronisa task is not one-time function10:00
mupIssue snapcraft#1695 closed: Refactor meta into package <Created by sergiusens> <Closed by sergiusens> <https://github.com/snapcore/snapcraft/issue/1695>10:02
mupPR snapcraft#1804 closed: meta: refactor into a package <Created by elopio> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1804>10:02
pedronisChipaca: you need to measure stuff from TaskRunnun.run basically10:03
pedronis*TaskRunner10:03
Chipacapedronis: i think i'll open a forum topic10:04
Chipacaotherwise it'll bug me10:04
jameshyay.  green ticks next to my PRs again.10:05
Chipacajamesh: oh no you jinxed it10:06
Chipacapedronis: https://forum.snapcraft.io/t/task-accounting/3201 fwiw10:06
jameshChipaca: apart from the tests/main/searching bug that was recently fixed, a few times it seems the tests just take too long to run for travis10:09
Chipacajamesh: yeah, we're looking into that -- they shouldn't10:09
Chipacajamesh: there are some things we can do, but we'll wait for the new year as they require a concerted effort10:10
Chipacajamesh: (this is, basically, updating the images to spend less time waiting on the network)10:10
Chipacajamesh: but then, there're still tests that are inexplicably slow; looking into that as well10:10
mborzeckior randomly failing10:10
jameshChipaca: it'd also be  nice if the test output was less verbose: when there is a failure, it takes a while to locate the error message10:10
Chipacajamesh: yeah, gustavo was going to turn off a lot of the output10:11
sergiusenskyrofa elopio you both added non actionable comments to https://github.com/snapcore/snapcraft/pull/1786 please address that10:17
mupPR snapcraft#1786: lxd: always install squashfuse <Created by kalikiana> <https://github.com/snapcore/snapcraft/pull/1786>10:17
pedronisChipaca: I added to backlog at least otherwise it will get forgotten, Doing the simplest possible thing shouldn't be too hard, it might be too simple though.10:18
Chipacaunless i'm reading this profile wrong, 2/3 of the (cpu) time is spent doing json encoding10:46
pedronisChipaca: there might be some kind of   for loop Locking/Unlocking  state somewhere in there10:52
jameshany chance of getting https://github.com/snapcore/snapd/pull/4140 merged?10:53
mupPR #4140: interfaces: add an interface for gnome-online-accounts D-Bus service <Created by jhenstridge> <https://github.com/snapcore/snapd/pull/4140>10:53
pedronisjamesh: if the interface don't work 14.04 should it not be exported there?10:56
pedronis*doesn't work in10:56
pedronisjamesh: I'm a bit unfraid that without clarity on that it can't be merged10:57
jameshpedronis: I think the D-Bus API changed between those GNOME versions, but haven't really investigated because we didn't install gnome-online-accounts by default back then (I don't think it is installed in 16.04 either)10:59
pedronisjamesh: where is it installed by default?11:00
jameshpedronis: 17.10 definitely.  We had a different online accounts system in unity711:00
pedronisI'm not even sure we have a policy around interfaces that aren't there by default?11:00
jameshit'd be installed on Ubuntu-GNOME for those older releases though.11:01
pedroniswhat happens  if one installs a snap needing this but the service is not there? does the interface auto-connect?11:02
pedronisok, it doesn't11:02
jameshpedronis: if you connected the interface but goa-daemon wasn't present, then the confined app would get a D-Bus error when it tried to contact the service11:03
pstolowskipedronis, i've been looking at https://forum.snapcraft.io/t/new-configure-snapd-task-and-reverting/2774/2 in the light of 'auto-connect' task. aborting will make revert fail, no? or do I miss something?11:16
pedronispstolowski: you miss something,  as I said we would need some special casing11:17
pedronisotherwise it doesn't help11:17
pstolowskipedronis, indeed. somthing like a 'ignore-me' flag on the task?11:18
pedronisyes11:18
pedronisI thought we discussed that11:18
pedronisgiven that your case you are splitting the bahavior of a preexisting task it would be ok11:19
pedronisthough setup-profiles is complicated11:19
pstolowskipedronis, yes, we discussed many aspects of that but i'm sure i missed some of that because of limited understanding of entire picture and edge cases; i'm sure reviews will prove that11:23
mborzeckiam i the only one getting i/o timeouts all the time when trying to run anything on linode through spread?11:28
kozaeveryone has a superpower ;-)11:34
mborzeckiyeah, i speak polish, what's your superpower koza.. oh wait :)11:36
Chipacapedronis: spot on. Dropping the unlock/lock in a loop in a loop (in a loop?) drops execution time to nearly nothing11:39
Chipacathis is in ifacestate/helpers.go: setupSnapSecurity11:39
Chipacabasically it means doing backend.Setup() with the lock held11:40
Chipacais that bad?11:40
Chipacain numbers, the test drops from over 5 minutes to under 1 minute11:40
pstolowskiimpressive11:48
* cachio afk11:54
pedronisChipaca: I think over time we are moving away from freeing the lock if all we are doing is disk ops,  otoh some backend do systemd stuff I think12:01
ChipacaI need to go to the boys school now (and might not make it back for the standup), but i'll look into it when i return12:04
sergiusenselopio something is wrong with the nightly, trying to commit to the uncommitable https://travis-ci.org/snapcore/snapcraft/jobs/31676753712:21
=== daniellimws is now known as Guest24164
=== Guest55974 is now known as daniellimws
=== daniellimws is now known as Guest97038
=== dows is now known as daniellimws
mupPR snapcraft#1795 closed: lifecycle: do not include source tarballs from previous runs <Created by ted-gould> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1795>13:05
* Chipaca returns13:37
Chipacai wonder if gofmt can find me all the instances of a for loop with a lock/unlock inside it14:22
pedronisChipaca: I don't think we have a ton of those, we had some in snapstate but I think we removed them14:47
elopiosergiusens checking the commit...14:52
pedronisChipaca: we have about 51 Unlock of state/contexts  without a defer14:59
pedronisChipaca: or were you thinking of adding something to run-checks ?15:00
Chipacapedronis: no, was just going to look at current state15:01
pedronisChipaca: you can probably just look at each of them15:02
sergiusenselopio and testing from master fails as transfer.sh is blocked15:05
Chipacapedronis: heh, wrote a thing using parser and ast15:05
Chipacafound 10 locks inside loops15:05
Chipaca6 of them not in tests15:06
Chipacaone is overlord.Loop, one (two actually) is overlord.Settle, one is TaskRunner.wait, one is devicestate.fetchKeys15:08
Chipacaand one in daemon.finishShutdown15:08
Chipacaall very boring15:08
* Chipaca throws the ast away and goes for grep15:08
pedronisSettle is also test only15:09
pedronisChipaca: notice also that they are much more problematic if the code invoked might change the state15:10
pedroniswe shouldn't serialize if there's no write15:11
pedronisserialize as in JSON encode15:11
sergiusenselopio mind updating snapcraft#1802 ?15:12
mupPR snapcraft#1802: metadata: extract metadata from appstream <Created by elopio> <https://github.com/snapcore/snapcraft/pull/1802>15:12
sergiusenselopio actually, if you have time, let's meet15:12
elopiosergiusens: on the weekly?15:41
sergiusenselopio one sec15:42
pedronisChipaca: will you propose a PR today?15:46
Chipacapedronis: I fear not: the systemd backend does indeed do weird stuff that can take 10s+16:27
pedroniswhat I feared16:28
Chipacapedronis: so i think i need to talk with zyga about it, and there might be a bigger refactor16:28
* elopio is back16:28
mupPR snapd#4404 opened: data/selinux: allow messages from policykit <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/4404>16:28
Chipacaalso the systemd code is suspicious16:28
pedronisChipaca: given some control to backends, but we cannot pass state there, we  would need an interface16:28
Chipacapedronis: maybe define them as getting a sync.Locker16:29
Chipacanot sure16:29
Chipacamaybe Setup needs to return a callback to be called without the lock, so it's only frobbed once16:29
mborzeckii'm done for today, enjoy your weekend guys16:30
Chipacamborzecki: see you next year!16:30
=== mbiggers_ is now known as markb1
mborzeckiChipaca: oh, you're not here next week?16:30
Chipacamborzecki: nor the one after that :-D16:30
mborzeckihaha :)16:30
Chipacamborzecki: i should be back on tuesday the twooth of january16:30
mborzeckiwell, then merry christmas and happy new year :)16:31
Chipacamborzecki: likewise!16:31
Chipacapedronis: or maybe we move to an actual database and this whole thing goes away?16:32
pedronismaybe16:32
pedronisnot sure it's the best time to do that (too much other feature work/bugs)16:33
* Chipaca nods16:34
* pedronis calls it a year16:35
pedronishappy holidays!16:35
mupPR snapd#4405 opened: taskrunner/many: KnownTaskKinds helper <Created by stolowski> <https://github.com/snapcore/snapd/pull/4405>16:37
Chipacapedronis: have a good one! see you in 201816:39
pstolowskihappy holidays pedronis!16:42
elopioenjoy pedronis !16:45
kyrofaogra_, I can't remember: will removing the classic snap reset the unpacked chroot as well?17:20
kyrofaReset by removing it as well, I guess17:20
kyrofaOr is there a special command I need to do that?17:20
kyrofaChipaca, perhaps you know?17:24
Chipacakyrofa: AFAIK removing the snap will remove the chroot17:24
Chipacakyrofa: because AFAIK the classic snap isn't special17:24
kyrofaChipaca, well, it's a devmode snap, so I figure it can put that anywhere it wants17:25
kyrofaRemoving and crossing my fingers...17:25
Chipacakyrofa: i can check for you if you want :-)17:25
kyrofaChipaca, nah, testing now17:26
* Chipaca was curious and kicked it off to test17:26
kyrofaChipaca, you were right17:26
kyrofaIt's "creating classic environment" now. Excellent17:27
Chipacakyrofa: sorry17:27
elopiosergiusens: we don't yet have any results from the PPA. We are at the bottom of all queues. I think that collecting daily would be alright. We won't necessary get the results of what was triggered the previous day, but we will get the results of the most recent execution.17:30
elopiothere is already one execution for 20171215, so on tonights execution, the results should be collected. I'll keep an eye.17:31
Chipacaok boys and girls, I think I'm done.17:31
Chipacattfn, and see you next year!17:32
brunosferHi guys, does anyone know how can I start the snapd with the DEBUG MODE using the binary instead of the service?17:36
cjwatsonbrunosfer: There are instructions for that in HACKING.md17:40
cjwatsonsearch for DEBUG17:40
brunosfercjwatson: Thanks17:42
mupPR snapcraft#1808 opened: ci: don't fail if the snap transfer fails <Created by elopio> <https://github.com/snapcore/snapcraft/pull/1808>18:03
elopionessita: cprov ^ That's to unblock you.18:04
mupPR snapcraft#1809 opened: formatting_utils: add type hints <Created by konrad11901> <https://github.com/snapcore/snapcraft/pull/1809>18:15
nessitaelopio, thanks!18:20
* kyrofa is shooting, responses may be delayed18:36
elopiosnappy-m-o autopkgtest xenial:armhf 180718:38
snappy-m-oComputer says nooo. See logs for details:18:38
snappy-m-o Command '['/tmp/tmpcxggf713/retry_autopkgtest.sh', 'xenial:armhf', '1807']' returned non-zero exit status 118:38
elopiosnappy-m-o autopkgtest 1807 xenial:armhf18:38
snappy-m-oelopio: I've just triggered your test.18:39
elopiosergiusens: subscribe to that one ^18:39
elopiono need to make a new pr, that one is up-to-date with master, and will run what you are looking for.18:39
sergiusenselopio 07 because no one will touch it for a while? :-)18:40
elopioyup, and it's almost a noop change.18:42
kyrofaUhh... nessita cprov this seems like a problem: https://pastebin.ubuntu.com/26190126/18:56
kyrofaIt's working now. Maybe only some endpoints?18:57
nessitachecking18:59
cprovkyrofa: does it continue to fail ? my systems are not complaining and we haven't changed certs recently, let me dig more19:01
kyrofacprov, it happened twice. Third time it successfully downloaded/installed19:02
nessitakyrofa, is working for me: curl -s -H 'X-Ubuntu-Store: ubuntu' -H 'X-Ubuntu-Series: 16' -H 'X-Ubuntu-Architecture: amd64' 'https://api.snapcraft.io/api/v1/snaps/details/edukit-bot-kyrofa?channel=edge'19:02
sergiusenskyrofa is this an arm device? Check the date19:10
cprovkyrofa: we have some haproxy "SSL handshake failure", but it's too frequent to not have being noticed before19:11
kyrofaFair enough, just wanted to raise it in case it was an issue. If it happens again I'll let you know19:12
cprovkyrofa: ah sergiusens is right, your system clock might not be current, https://lists.ubuntu.com/archives/snappy-devel/2015-March/000416.html19:18
cachioniemeyer, I was researching the connection issue and there is not way to connect to the machines after the connection error19:30
cachioniemeyer, so, it seems to be a problem in the machine allocation/start process19:31
cachioniemeyer, today seem to be working better than the previous days, that could be because there is less traffic19:33
cachioless people creating PRs19:33
mupPR snapd#4406 opened: interfaces/dbus: adjust slot policy for listen, accept and accept4 syscalls <Created by jdstrand> <https://github.com/snapcore/snapd/pull/4406>19:41
mupPR snapcraft#1808 closed: ci: don't fail if the snap transfer fails <Created by elopio> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1808>20:07
sergiusenselopio this is my endgame, snapcraft#179821:07
mupPR snapcraft#1798: elf: strip the .note.go.buildid to make room for patching elf <Created by sergiusens> <https://github.com/snapcore/snapcraft/pull/1798>21:07
popeysergiusens: is it possible to get 'dump' plugin to _just_ dump the file at the url specified by 'source' and put it in the snap? I don't want to unpack. Just dump the file in?22:05
popeythink i might have to use nil, and wget in install step22:09

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