IRC logs for #buildstream for Thursday, 2018-01-18

*** mcatanzaro has quit IRC00:34
*** persia has joined #buildstream00:49
*** tristan has joined #buildstream04:41
*** noisecell has joined #buildstream07:29
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: WIP: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23308:27
tristanjuergbi, see my last comment on incremental builds: https://gitlab.com/BuildStream/buildstream/merge_requests/126#note_5505295308:39
juergbiok, reading08:40
tristanjuergbi, I think that MR is ready to land with a one liner warning and a rebased/fixed history; I'd like to hand off the final review if you can take it from there08:40
tristannote that it adds an integration test, I feel like better to get that in in advance of the test refactoring; and take care of the rebase on our side08:41
juergbihm, recalculate and stages08:43
tristanrecalculate is back ?08:45
juergbifor workspace sources08:46
juergbithat's a tricky aspect, not sure whether there is a better solution08:46
tristanright - Well - another approach would beeeeee.... not have source.py responsible for caching it ?08:46
juergbipossibly08:46
juergbineed to take a closer look08:47
tristanjuergbi, the comment I made on stages stands; he had it the other way, I said I wanted to think about it; at this point it looks trivial enough that I dont feel like burdening the contributor with that08:47
tristanI dont feel like I have a stronger opinion on it than you do at the moment fwiw, so I'm happy to let you have that one :)08:48
tristanrecalculate coming back is something not awesome though08:49
juergbitristan: i.e., if i can think of a clean modification of the patch without stages, either variant is fine with you?08:50
juergbiyes, i'll give that some thoughts08:50
tristanjuergbi, maybe just an explicit wipe method would be not bad, assuming it's always accessed via Element._update_state()08:50
tristanjuergbi, yeah either variant with stages or without, you have a stronger opinion than I do on that front08:51
juergbiinvalidate_workspace_key or something08:51
tristanjuergbi, but since he already swapped it around I felt it kinder to not ask him to swap it back08:51
juergbiprobably better an explicit name than generic recalculate08:51
tristanindeed08:52
juergbiyes, that makes sense08:52
*** aiden has joined #buildstream09:06
tristanoh this is interesting09:08
tristanjuergbi, ...09:09
tristan  A.) Clone gnome-modulesets from gnome709:09
tristan  B.) bst build --track-all code-deps/evolution-data-server.bst09:09
tristan  C.) Consistently reproduce: https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/_scheduler/fetchqueue.py#L6309:10
tristanthat is you !09:10
tristanhehe09:10
tristanSorry (B) (until jmac fixes it! \o/)... should actually be: bst build --track-all code-deps/evolution-data-server.bst | cat09:11
*** aidenhjj has joined #buildstream09:12
juergbioh, will take a look09:12
tristanlemme see maybe it's a specific element09:14
tristancause I'm only getting it once09:14
*** aiden has quit IRC09:14
tristanyep09:15
tristanjuergbi, it's a local source09:15
tristanjuergbi, maybe you reversed the original assumption that a source is cached until it's not :)09:15
tlatertristan: I think the integration tests are finally ready to merge09:16
juergbilinker-priority?09:16
tristanyep09:16
juergbii don't think i have09:16
* tlater did not write a custom stdout-tee thing because it is actually quite difficult, may be worth an issue09:16
tlaterBut otherwise I addressed ssam2's comments09:16
tristantlater, I have a desire to land cs_shadow's branch first if that can happen quickly...09:17
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23309:17
tlaterYeah, that's alright :)09:17
*** aidenhjj has quit IRC09:18
tristanjuergbi, originally we had it None initially to recognize the uninitialized state09:19
juergbiah i know what it is09:20
juergbitracking a non-trackable source09:20
juergbiissue with state variable ;)09:20
tristanyes09:20
juergbiwe mark it as being tracked but because there is never a set_ref with a local source, it will never be unmarked as being tracked09:20
tristanI wonder why our tests dont handle that... hmmmm09:20
tristanI guess I only tried exercising the trackable ones in the generic tests09:21
juergbiis this urgently blocking anything? i'll fix it today anyway but wanted to finish other things first09:22
tristanErrr myeaaah okay09:22
tristanUmmm, I guess I can work with 1.0 :)09:22
* tristan checks out 1.009:22
juergbiok, i guess i'll do this next anyway09:22
tristanit's certainly on the Critical level09:23
tristanburning fire09:23
tristanwidening window that it might happen to a user09:23
gitlab-br-botbuildstream: merge request (175-refactor-integration-tests->master: Resolve "Refactor integration tests") #233 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23309:24
juergbiok, should be easy to fix but i'll have to add an Element/Source method corresponding to the inverse of schedule_tracking that i can call in the TrackQueue09:25
juergbia possibly better solution would be to recognize sources that can't be tracked09:26
tristanjuergbi, Why is it not enough that Source.get_consistency() *always* returns Consistency.CACHED ?09:28
juergbibut that information is not currently available for source plugins09:28
juergbiwell, how do i know that it always returns that and not just with the current value?09:28
tristanWhy is that important ?09:28
tristanOh wait, you mean track09:28
tristanjuergbi, the assertion is in fetch, btw09:29
tristannot track09:29
juergbiyes but it's due to a track issue09:29
tristanI dont know how it properly escaped track's evil clutches09:29
tristanAhhhhh09:29
tristanYou assume a source needs to be fetched after tracking, *even* if it reports Consistency.CACHED ?09:30
tristanThat's the bug.09:30
juergbino, i didn't09:30
juergbii wrongly assumed set_ref would be called in track done for every source09:30
tristanWell I dont see what's wrong here at least in theory, then09:30
juergbiand marked Source as no longer being tracker in set_ref()09:31
tristanI'm quite certain that there is no need for a Source to report anything more09:31
juergbifor local sources, track() returns None, which means that set_ref is never called09:31
juergbibecause it's not returned in the list to the main process09:31
juergbiwe could theoretically add all sources there09:31
tristansounds like internal churn yes09:31
* tristan was mostly around to defend the point that Sources need *not* be marked with some additional sauce09:32
*** valentind has joined #buildstream09:42
*** noisecell has quit IRC09:43
*** jonathanmaw has joined #buildstream09:43
*** aiden has joined #buildstream09:43
gitlab-br-botbuildstream: issue #198 ("Cross-platform testing is not truly cross-platform") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/19809:49
*** ssam2 has joined #buildstream10:07
gitlab-br-botbuildstream: issue #199 ("Test suite buildstream imports may be ambiguous") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/19910:37
tristantlater, thanks for doing the secretary boring stuff :)10:38
tlater;)10:38
gitlab-br-botbuildstream: issue #200 ("bst workspace open creates the directory and then fails.") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/20010:44
gitlab-br-botbuildstream: merge request (issue-182_Closing_non-existing_workspace->master: Fix for issue 182 Closing non-existing workspace) #227 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/22710:48
* tristan uses workspaces to test a patch from Milan to fix the EDS build10:49
*** valentind has quit IRC10:49
*** ernestask has joined #buildstream11:14
gitlab-br-botbuildstream: issue #201 ("bst track reports strange output for untrackable elements") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/20111:14
gitlab-br-botbuildstream: merge request (juerg/tracking->master: Fix --track with local sources) #244 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24411:22
juergbiah, i actually fixed #201 in that as well11:23
tristanjuergbi, I filed a bug in mid-fix ?11:23
tristanheh11:23
juergbiyes, adding the number to the commit/MR11:24
tristanah cool, so I dont have to file --track with local sources11:24
gitlab-br-botbuildstream: merge request (juerg/tracking->master: Fix --track with local sources) #244 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24411:25
gitlab-br-botbuildstream: merge request (juerg/tracking->master: Fix --track with local sources) #244 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24411:25
juergbino, both should be fixed by !24411:25
juergbii haven't added new test cases, though. might not have time for that today11:26
tristanjuergbi, no worry; at least it's fixed11:30
tristanBut, it *would* be great to add one too - seems like a good thing to cover11:30
gitlab-br-botbuildstream: merge request (sam/integration-tests-alpine->master: WIP: Use a custom base sysroot for the integration tests) #243 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24311:44
*** tristan has quit IRC11:49
gitlab-br-botbuildstream: issue #201 ("bst track reports strange output for untrackable elements") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/20112:01
gitlab-br-botbuildstream: merge request (juerg/tracking->master: Fix --track with local sources) #244 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/24412:01
ssam2writing integration tests on top of !233 is infinitely nicer than with the old setup12:47
ssam2i say infinitely because previously one of the tests i needed was basically impossible :-)12:47
tlater\o/12:50
gitlab-br-botbuildstream: merge request (incremental-build->master: WIP: Add support for doing incremental builds) #126 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12614:06
*** mcatanzaro has joined #buildstream14:06
gitlab-br-botbuildstream: merge request (incremental-build->master: WIP: Add support for doing incremental builds) #126 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12614:09
gitlab-br-botbuildstream: merge request (incremental-build->master: Add support for doing incremental builds) #126 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12614:29
*** tlater has left #buildstream14:31
*** tlater has joined #buildstream14:31
* tlater just noticed something about a 'debugging widget' - what is that?15:04
ssam2where ?15:04
tlaterIn widget.py - presumably it controls some form of output15:04
tlaterI just have no idea how I would run that15:05
tlaterAh, I guess it's what shows --debug input15:06
* tlater wasn't aware of that flag, but notes it for future debugging15:06
*** benzea has joined #buildstream15:24
cs_shadowHi folks, is it a known issue that unix integration tests are slower than linux integration tests or do I have a really bad luck with those tests? I've noticed this pattern multiple times, for instance https://gitlab.com/bloomberg/bst/buildstream/-/jobs/48526803 finished in ~16 mins whereas https://gitlab.com/bloomberg/bst/buildstream/-/jobs/48526805 took over 50 mins15:47
persiacs_shadow: I think it is slower for non-linux, as some of the linux-only features are worked around clunkily, but I'm not authoritative.15:51
tlatercs_shadow: That is a known issue - I think it's mostly been solved by the integration refactoring15:51
tlaterOr at least, it's a lot less extreme now15:51
cs_shadowgood to know, thanks!15:52
*** jude has quit IRC17:04
*** jude has joined #buildstream17:12
gitlab-br-botbuildstream: merge request (164-minimise-overlaps-by-having-overlaps-raise-exceptions-unless-configured-not-to->master: Resolve "Minimise overlaps by having overlaps raise exceptions unless configured not to") #181 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/18117:53
*** ssam3 has joined #buildstream18:14
*** ssam2 has quit IRC18:14
gitlab-br-botbuildstream: merge request (issue-166_yaml_removing_underscores->master: WIP: Issue 166 yaml removing underscores) #245 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/24518:45
persiaStylistic note: do we care about spurious whitespace changes as part of merge requests?18:48
*** jonathanmaw has quit IRC18:50
juergbiwe generally do, yes18:55
juergbishould be fixed18:55
juergbinexus: also, gitlab issues are referenced with # not ! (the latter is for MRs)18:55
tlaterAbout #166, do we know why the ref changes?19:05
tlaterI thought this was because it successfully tracks and writes back the new ref, but while doing so also writes a modified 'track' target because of the ruamel bug.19:06
persiaI thought it was because BuildStream had internal storage as an int, so we were dependent on how the int is formatted to have it be the ref string or some other string.19:06
persiaIf BuildStream successfully tracks internally, that's a happy accident of how the call to git is made.19:06
persiaIn that the method invoked for int->string when checking out a branch happens to recreate the same sequence of characters as is found in the input.19:07
tlaterRight, I see19:07
tlaterI thought only the 'track' field was affected19:07
persiaThat's just how we found the bug.  The internal variable representation is the issue (IIUC)19:08
*** ssam3 has quit IRC19:08
tlaterI *thought* ruamel's representation was the issue, but that makes sense19:08
juergbimy suspicion is that track is interpreted as integer as 123119:09
* tlater wrote that issue with a bit of speculation19:09
juergbiand git then resolves this to the commit with that prefix19:09
persiaYes.  ruamel's representation was the issue, and BuildStream imports part of ruamel to parse yaml, so BuildStream inherits ruamel's represtation.19:09
persia+en19:09
tlaterYup, that makes sense, ta for the clarification19:10
juergbitlater: or to be specific, 1231 points to a blob, not to a commit19:10
juergbithat's why you then get the error19:11
tlaterYeah, I was never sure why that happened, and too lazy to actually check if I got the correct commit. This finally explains the whole issue \o/19:11
juergbithinking about that, maybe we could also change the git plugin to only ever resolve to commits19:12
persiaWhich makes !245 more useful to consider19:12
persiajuergbi: Would it also be able to resolve branch names and tag names to commits?19:12
juergbiand maybe even disallow abbreviated commit ids or at the very least require more than 4 digits19:12
juergbiyes, we definitely need this for track19:12
juergbiwe just don't want to resolve 'track' to a blob19:13
persiaI think disallowing abbreviations is important: it isn't hard to get the full SHA1, and anything smaller should be a branch or tag name.19:13
juergbii'd also tend in that direction19:13
persiaThere's just too much chance that an abbreviation is reused by a future commit, without the bst file author being aware.19:13
persia(especially for things that bst early, where the abbreviation may only be four or five characters)19:13
* tlater had a long look through our test coverage, and also thinks that "interactive" testing would improve things a bit19:40
tlaterLots of exception handling that isn't tested, but only comes up when the user interacts with buildstream19:40
tlaterProbably food for discussion tomorrow though :)19:41
persiatlater: Would something like behave be able to drive the interaction you seek?19:41
tlaterI'm talking about tests that would simulate terminal handling a bit better - i.e. hitting ^C at inopportune moments19:43
* tlater can't see what behave does from a cursory glance, and hadn't heard of it19:44
tlatertristan mentioned these kinds of tests a few days ago, in relation to a few ^C bugs19:45
persiabehave is just a framework for given...when...then... structured tests, which are intended to call into the program to verify behaviour.  The ^C test is perhaps a bit harder.19:59
*** valentind has joined #buildstream20:06
*** ernestask has quit IRC20:37
*** tristan has joined #buildstream21:04
*** valentind has quit IRC22:51
*** tristan has quit IRC23:01

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