IRC logs for #buildstream for Friday, 2017-07-21

gitlab-br-botpush on buildstream@interactive-terminal (by Jürg Billeter): 1 commit (last: _sandboxbwrap.py: Restore terminal after exit of interactive child) https://gitlab.com/BuildStream/buildstream/commit/1431e545adf73a5b35a2b28bcc4c542fd29001dc07:08
gitlab-br-botbuildstream: merge request (interactive-terminal->master: _sandboxbwrap.py: Restore terminal after exit of interactive child) #62 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/6207:08
*** jonathanmaw has joined #buildstream08:59
*** tiagogomes has joined #buildstream09:03
*** ssam2 has joined #buildstream09:19
gitlab-br-botpush on buildstream@sam/artifactcache-preflight-check (by Sam Thursfield): 1 commit (last: Check for write access to remote artifact cache early on in the pipeline) https://gitlab.com/BuildStream/buildstream/commit/cb54f531b705dcc41b9a0bdae51efa327f6f0dc509:22
gitlab-br-botbuildstream: merge request (sam/artifactcache-preflight-check->master: Check for write access to remote artifact cache early on in the pipeline) #57 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/5709:22
*** tlater has joined #buildstream09:25
ssam2juergbi, wow I'm really curious now what is going wrong with my testing process09:27
ssam2I can see my branch working, but i must be testing the wrong thing as it clearly doesn't work ...09:27
gitlab-br-botpush on buildstream@sam/artifactcache-preflight-check (by Sam Thursfield): 1 commit (last: Check for write access to remote artifact cache early on in the pipeline) https://gitlab.com/BuildStream/buildstream/commit/8427fbc70c12408be87e4870f63d74dc980dc9c109:28
juergbiyes, i figured there must have been something gone wrong while testing09:28
gitlab-br-botbuildstream: merge request (sam/artifactcache-preflight-check->master: Check for write access to remote artifact cache early on in the pipeline) #57 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/5709:28
juergbianother comment, now it's working for me09:29
ssam2i am testing the correct file, so I guess i'm just not triggering the errors somehow09:30
ssam2does it only happen when you push ?09:30
ssam2ah I guess it does. I just hadn't got that far :-)09:30
juergbithe first comments were about issues as part oft he connectivity test, i.e., you should have hit that in any case with the right config09:31
*** locallycompact has joined #buildstream09:32
ssam2nah09:33
gitlab-br-botpush on buildstream@sam/artifactcache-preflight-check (by Sam Thursfield): 1 commit (last: Check for write access to remote artifact cache early on in the pipeline) https://gitlab.com/BuildStream/buildstream/commit/2b700e8b618a36763a95722c0a29cfe44c4321e809:33
ssam2bah09:33
ssam2even09:33
gitlab-br-botbuildstream: merge request (sam/artifactcache-preflight-check->master: Check for write access to remote artifact cache early on in the pipeline) #57 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/5709:33
ssam2well we get there in the end at least...09:33
juergbissam2: have you seen my last comment?09:34
ssam2yes... i don't quite follow09:35
ssam2is the comment in the right place?09:35
ssam2oh the line it discusses is hidden by gitlab09:35
*** locallycompact has quit IRC09:35
juergbithe relevant line is a few lines down09:36
juergbiyes, i couldn't point to the correct line as it wasn't modified09:36
ssam2ok09:36
ssam2still waiting for my bst to push as it's starting from scratch09:36
juergbiok09:36
juergbii haven't tested URL remotes, only SCP-style, but i expect URLs to work fine as well09:38
*** locallycompact has joined #buildstream09:45
tlaterIs it possible to remount / in a chroot?09:58
jonathanmawjuergbi: hrm, after trying out various other tests in buildstream-tests, I think it might just be dpkg-build elements that fail to be checked out.10:00
jonathanmaw(the dpkg-build test is currently at https://gitlab.com/jonathanmaw/buildstream-tests/tree/jonathan/dpkg-build-test)10:02
jonathanmawI can't see any particular way that the cache key could be changed by the addition of dynamic public metadata10:03
gitlab-br-botpush on buildstream@sam/artifactcache-preflight-check (by Sam Thursfield): 1 commit (last: Check for write access to remote artifact cache early on in the pipeline) https://gitlab.com/BuildStream/buildstream/commit/cd33dd37936cf19cde2377dc8f1b835a1ff5558e10:03
gitlab-br-botbuildstream: merge request (sam/artifactcache-preflight-check->master: Check for write access to remote artifact cache early on in the pipeline) #57 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/5710:03
jonathanmawbut that sounds like the most obvious way it could go wrong.10:03
juergbijonathanmaw: how exactly does checkout fail?10:07
juergbiit can't find the ref in the cache?10:07
jonathanmawthe full error is Failure staging dependencies, with the message "ERROR: dpkg_build element at dpkg-build-test.bst [line 1 column 0]: Missing artifact 33482b6f"10:08
jonathanmawlooking in the ostree, there's nothing with 33482b6f in, and a bit of judicious debug messaging added shows that it doesn't add anything with that key.10:08
jonathanmawthough when building the element, the logging for each stage identifies it with 33482b6f10:09
juergbijonathanmaw: what key does it show in the logs when building the package?10:09
jonathanmawjuergbi: here's the full build stdout https://pastebin.com/3ftp5M7e10:10
juergbita10:10
juergbihm, so there it displays the same key, seemingly adding that to the cache10:11
jonathanmawjuergbi: the refs it actually commits to ostree are script-test/dpkg-build-test/e96d7fa71067f7b382f7efec282a55e7d0c8a3a3aeee4ab2359be5b6b34b835c (strong) and script-test/dpkg-build-test/432e452e12236a652bf90b627d362af828b6fd3637cc37efebcb60de37326868 (weak)10:12
juergbii assume you're running in strict mode (default)10:12
jonathanmawI don't know how to activate the other mode, so probably10:13
jonathanmawnow that I've figured out how to enable non-strict, I certainly haven't enabled it.10:14
juergbiwill try to reproduce this here and take a look10:16
juergbissam2: do you want to keep the last 3 lines of the commit message? other than that i think it's looking good now10:16
ssam2hahaha, i really did well on this one10:17
ssam2maybe i should stick to conference organisation from now on :-)10:17
juergbiyou want to test whether anyone actually reviews things? ;)10:17
gitlab-br-botpush on buildstream@sam/artifactcache-preflight-check (by Sam Thursfield): 1 commit (last: Check for write access to remote artifact cache early on in the pipeline) https://gitlab.com/BuildStream/buildstream/commit/14a8b5aa28db973243b58a9ecb1ac9b26afa099410:17
gitlab-br-botbuildstream: merge request (sam/artifactcache-preflight-check->master: Check for write access to remote artifact cache early on in the pipeline) #57 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/5710:18
ssam2yeah it was all a test :-)10:18
gitlab-br-botbuildstream: merge request (sam/artifactcache-preflight-check->master: Check for write access to remote artifact cache early on in the pipeline) #57 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/5710:29
gitlab-br-botpush on buildstream@master (by Jürg Billeter): 1 commit (last: Check for write access to remote artifact cache early on in the pipeline) https://gitlab.com/BuildStream/buildstream/commit/14a8b5aa28db973243b58a9ecb1ac9b26afa099410:29
gitlab-br-botbuildstream: issue #50 ("Loading pipeline is impossibly slow with > 50 elements") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/5010:37
ssam2i've opened that to track the current variant resolution issue10:37
ssam2jjardon[m], I cancelled https://gitlab.com/baserock/definitions/-/jobs/23491831 as it seems to have hit that issue10:40
ssam2had been spinning for 4 days :-)10:40
jjardon[m]ssam2: cheers10:41
jjardon[m]ssam2: I wanted to try the branch again as seems some problems with the protocol got solved in latest buildstream, but I triggered that early today?10:43
ssam2oh right, I was misreading10:43
ssam2still, it was clearly stuck10:43
ssam2the artifact cache should now work again, I deleted the existing artifacts from ostree.baserock.org10:44
ssam2the problem was that the artifact format changed but we don't version it yet10:44
juergbiand there was a protocol limitation which is fixed now10:47
ssam2oh yes, i keep forgetting that10:48
juergbijonathanmaw: i can reproduce the issue, looking into it11:07
juergbi       install-commands:11:11
juergbi-      - "for pkg in <PACKAGES>; do\n  cp -a debian/${pkg}/* /buildstream/install\n\11:11
juergbi-        done"11:11
juergbi+      - "for pkg in test; do\n  cp -a debian/${pkg}/* /buildstream/install\ndone"11:11
juergbiBuildElement.commands is modified, which is part of get_unique_key()11:12
juergbijonathanmaw: not sure what the best way to fix this is. it would be pretty simple to calculate the key before calling the plugin's assemble() method and thus, avoid any side-effects of that11:23
juergbiit doesn't feel 100% clean, though, maybe there is a better solution11:23
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 3 commits (last: element.py/sandbox.py: Add message helpers to sandboxes) https://gitlab.com/BuildStream/buildstream/commit/87e744c0c22a4b2ff111148cdb85a195ac0f7c1d11:26
jjardon[m]juergbi:  thanks for the fix btw! :)11:28
juergbinp, thanks for reporting the issue :)11:28
gitlab-br-botpush on buildstream@key-calc (by Jürg Billeter): 1 commit (last: element.py: Calculate effective cache key before calling plugin methods) https://gitlab.com/BuildStream/buildstream/commit/cc08185235a0375cf5488e2f21be064f41cfb5ba11:29
juergbijonathanmaw: my key-calc is a quick and dirty implementation of what i mentioned and the dpkg test passes with this11:29
juergbikey-calc branch...11:30
jonathanmawta juergbi, I'll give it a go11:32
*** tlater has quit IRC13:03
*** tlater has joined #buildstream13:06
gitlab-br-botpush on buildstream@cross_platform (by Tristan Maat): 3 commits (last: _sandboxchroot.py: Fix chroot sandbox susp/cont/term) https://gitlab.com/BuildStream/buildstream/commit/ddb46bd0a2bdbc0e36fbcf4082d651f8dbbae01c14:18
*** tlater has quit IRC14:30
*** tlater has joined #buildstream14:32
jonathanmawjuergbi: key-calc is working for me, and I can't suggest a better approach (mostly because my source-code diving has concluded that it's impossible for key-calc to solve the problem, so I'm not qualified to offer an alternative)14:41
jonathanmawAIUI, an element's Scope.BUILD does not include itself, and _get_cache_key_for_build() solely uses cache keys from its build-dependencies14:42
juergbiyes (and their runtime dependencies)14:42
juergbiwe should probably check with tristan what he thinks about this issue14:43
juergbicould clean up the key-calc branch a bit but the main question is whether we want to stay with this approach or not14:44
jonathanmawjuergbi: I think ideally we'd want to know what's caused it, but at this point I've spent the best part of 2 days and it seems impossible to me.14:50
juergbijonathanmaw: modifying self.commands in the dpkg plugin triggers a change in the cache key. didn't you see my explanation above?14:51
jonathanmawah, I see.14:52
juergbian alternative solution would be to have two sets of 'commands', one read from the file, one effectively used (similar to how we have two sets of public data)14:54
jonathanmawjuergbi: yep, I vaguely recall an original_commands field in dpkg_build14:54
juergbii haven't been involved much on the plugin side, though, so it might be better for you or tristan to come up with alternative solutions14:55
jonathanmawI'll see about overriding the get_unique_key method for dpkg_build elements14:55
jonathanmawthen I can make sure the cache key doesn't contain anything that changes during build.14:55
juergbiok14:57
tlaterjuergbi: To port the artifact cache I need to rewrite it to use tarfiles instead of ostree. In your opinion, would it be a good idea to split the current artifactcache class to have something that's less tied to ostree first?15:18
juergbitlater: changing the API for a better fit with multiple backends will likely make sense. however, not sure whether it should really be a split of the ArtifactCache class, maybe it would be sufficient to move some parts to the Element class (or wherever appropriate)15:20
juergbii haven't given it much thought yet, though, a split could make sense as well15:20
juergbiin any case, please make sure to keep refactoring in separate commit(s)15:21
*** jonathanmaw has quit IRC16:05
*** jonathanmaw has joined #buildstream16:08
*** tiagogomes has quit IRC16:08
*** jonathanmaw has quit IRC16:15
*** locallycompact has quit IRC16:18
*** jonathanmaw has joined #buildstream16:28
*** tlater has quit IRC16:43
*** jonathanmaw has quit IRC16:43
*** jonathanmaw has joined #buildstream16:43
*** jonathanmaw has quit IRC17:17
*** ssam2 has quit IRC17:31
*** set has joined #buildstream22:19
*** set has quit IRC22:22

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