IRC logs for #buildstream for Monday, 2017-11-20

*** valentind has quit IRC01:01
*** valentind has joined #buildstream01:02
*** tristan has quit IRC07:59
*** tristan has joined #buildstream08:23
gitlab-br-botpush on buildstream@master (by Jürg Billeter): 1 commit (last: _ostree.py: Fix string formatting in fetch()) https://gitlab.com/BuildStream/buildstream/commit/b9418b495ca5b12953c97724d8c10f2ac8db576708:23
tristanjuergbi, ah good, one less glitch to think about :)08:43
* tristan thinks this is the week for 1.008:44
juergbiis there a way we can run our tests in parallel? running them one at a time seems pretty wasteful09:15
tristanNot sure09:18
tristancould be nice09:18
tristanjuergbi, on the other hand I kind of like that it can be ordered, and would rather strive for less randomness in test ordering09:19
tristanjuergbi, when testing specific things, you can always do for example: ./setup.py test --addopts -k --addopts 'tests/pipeline/load.py'09:19
tristanduring development09:19
tristanif you want to test a specific thing quickly09:19
tristanregarding randomness, what I would prefer is to test _yaml first; test lower level / simpler functionality first; so that you know that if a lot of later tests are failing; fixing the first failing ones most likely causes the others to pass again09:20
juergbiwell, we wouldn't have to force parallelism. but if you just want to quickly check whether the changes break any tests, parallelism would be very useful09:22
tristanparallelization might be tricky to achieve with python and pytest anyway; especially considering the coverage reports which need to hook into parallelization techniques09:22
tristannod, they are taking close to 2 minutes now09:23
tristanwould be nice to have09:23
juergbiyes, and they could just be a few seconds with maximum parallelism on a fast desktop09:24
tristantrue09:24
juergbimaybe we could have two different invocations09:24
juergbione for just testing, as quickly as possible09:24
juergbiand the other for reasonable order and coverage09:24
tristanwell, if it can be done without severely contorting the setup, I wont hate it :)09:25
juergbi:)09:25
tristanWe should also have a new set testing that in the CI09:25
juergbii may take a look at this but not right now09:25
tristanif there is a separate entry point, we risk it bitrotting otherwise09:25
juergbiwell, i would frequently test it locally ;)09:25
tristanstill, it costs little to add some lines to the .gitlab-ci.yml (and there would be no need for collecting the coverage for those runs either)09:26
juergbiwe might not want to run all tests twice in the CI just to test the test runner. as i guess the CI will be CPU-limited09:26
* tristan is thinking of a bright future where you and I can eventually work on inventing cool new stuff09:27
tristanso I'm hoping to make the CI and everything as hardened as I can :D09:27
juergbi:)09:28
paulsherwood:-)09:29
*** bochecha has joined #buildstream09:30
*** jude has joined #buildstream09:32
juergbitristan: unrelated syntax question. i added variable substitution for junction/subproject options last week with the usual %{...} syntax. my implementation was actually broken and it's a bit less straight forward to handle than i expected09:33
juergbii'm now wondering whether it even makes sense to use that syntax as options are not arbitrary strings09:33
juergbiand it's only usable if you export the top-level project options as variables09:34
juergbiit might make more sense to just support a convenient way to directly inherit a project option09:34
juergbihowever, not sure what syntax to use for that09:34
juergbitheoretically, we could interpret an option name without value in the junction options dict as 'inherit option with the same name from parent' but it seems rather odd09:36
tristanhrmm09:40
tristanjuergbi, my instinct says that your toplevel project options expose conditionals in that toplevel project; which in turn can be used to conditionalize variable values09:41
tristanand that variable values can be used in junction configurations to assign project options to subprojects09:41
tristanyes, stings vs multitype... but... meh ?09:41
tristanAlso, do you need to have a separate variable resolution algo for that ? or can the junction element not just call self.node_subst_member() in the regular way ?09:42
tristanI guess what this all boils down to is just, ability to create non-string values ?09:43
tristanjuergbi, maybe all that is required here is for the junction element to perform some string->bool conversions when feeding the options to the sub project ?09:43
juergbitristan: if you think the %{...} still makes sense even though we don't really need that flexibility, i'll fix that implementation09:46
juergbias it's not completely straight forward, i wanted to check whether this is sensible before refactoring related stuff09:46
juergbi(each option type has their own loading implementation which can't directly be combined with Element's subst mehtods)09:47
tristanjuergbi, right so; maybe we need to relax the loading implementation of options ?09:52
tristanjuergbi, the reason I think it's valid to allow variable expansion is more for consistency of the API than anything else09:53
tristanjuergbi, currently anyway; the options allow loading from strings for the sake of the command line too09:53
tristanso, *maybe* (not sure ?) we can even reduce the options code paths by relaxing the loading mechanism a bit09:53
* tristan notes that he doesnt expect to ever have a need for creating options for complex types like lists or dictionaries09:54
tristanconditionals for those would be weird anyway09:55
juergbinot sure what you mean with relaxing in this context09:55
tristanjuergbi, well; the option classes each have 2 codepaths for loading a value09:55
juergbiyes, yaml and string09:55
tristanone from yaml and one from a string provided by the command line09:55
tristanso they could just use the string method09:55
tristanand do their assertions based on the string09:56
tristanit's "relaxing" because we dont use the additional type check from _yaml.node_get()09:56
tristanensuring that say, a boolean was specified as a valid yaml boolean09:56
juergbiright, that'a possibility09:56
*** jonathanmaw has joined #buildstream09:59
*** bethw has joined #buildstream10:25
*** WSalmon has joined #buildstream10:27
*** jude has quit IRC10:33
*** WSalmon has quit IRC10:38
tristantlater, I need to add an integration test10:51
tristantlater, and I'm confused10:51
tristantlater, is it one test per directory ?10:51
tristanno, cant be10:51
tristanbut the run scripts dont enumerate the test that they run10:52
tristantlater, it's based on the element names in the element subdirectories ?10:52
* tristan wishes this was all just a lot more verbose and explicit, and not functional and automated and hence, difficult to understand10:53
tlatertristan: I think so, if I recall correctly10:53
gitlab-br-botbuildstream: Jonathan Maw created branch 132-loading-external-plugins-works-without-explicit-requirement-in-project-conf11:00
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12511:00
*** valentind has quit IRC11:02
jonathanmawtristan: the loading of external plugins is currently blocked because when the tests run with coverage it segfaults. tlater had a similar problem.11:02
tristanjonathanmaw, I backed out a change I merged this weekend due to a similar problem11:06
tristanseems it was consistently failing in the cmake test11:07
tristanjonathanmaw, if it helps you to track it down; this patch was causing it to trigger: https://gitlab.com/BuildStream/buildstream/merge_requests/15111:08
jonathanmawtristan: hrm, that's nowhere near where my changes were :/11:09
tristanthats nowhere near *anything* I would expect to have that side effect11:09
tristanbut it did very consistently cause the cmake test to fail, with a segfault from coverage11:09
tristanso, perhaps it's a good lead to figuring out the real underlying cause11:10
jonathanmawtristan: it was the cmake test where it failed for me, too11:11
jonathanmawI wonder what's special about that...11:11
tristanyup, you and me both11:11
*** jude has joined #buildstream11:12
tristanhrm... this is disturbing11:14
tristanlooks like `./setup.py test` is failing sporadically while running `./run-test.sh run <test-case>` in parallel11:14
tristanin the integration tests11:14
tristanI'm getting "BUG: Message handling out of sync, unable to retrieve failure message for element import element at workspace-test-tar.bst [line 1 column 0]"11:15
tristanin random places11:15
tristanThink maybe the message queue implementation tries to create a socket name based on the program name or something horrible like that ?11:15
tristani.e. Queue() from multiprocessing11:16
gitlab-br-botpush on buildstream@132-loading-external-plugins-works-without-explicit-requirement-in-project-conf (by Jonathan Maw): 1 commit (last: Test whether removing whitelist checking is enough) https://gitlab.com/BuildStream/buildstream/commit/a54352c1e9d4ddcea0d033b3ed0bd7a077a7d54611:19
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12511:19
gitlab-br-botbuildstream: merge request (workspace-build-count->master: WIP: Skip configure-commands when building workspaced elements a second time) #154 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/15411:25
*** tlater has left #buildstream11:27
*** tlater has joined #buildstream11:27
tristancrap11:33
* tristan not happy with integration tests11:33
gitlab-br-botpush on buildstream@tracking-changes (by Tristan Maat): 11 commits (last: main.py: Fix app initialization) https://gitlab.com/BuildStream/buildstream/commit/1909c686f5bba4e6df398d4a7399834f3f6be50311:40
gitlab-br-botbuildstream: merge request (tracking-changes->master: Tracking changes) #119 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/11911:40
gitlab-br-botpush on buildstream@132-loading-external-plugins-works-without-explicit-requirement-in-project-conf (by Jonathan Maw): 1 commit (last: Test whether not passing the whielist makes tests pass) https://gitlab.com/BuildStream/buildstream/commit/e328988a0c8d7037681ca659fcf76bc8c255d1d011:45
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12511:45
*** bethw has quit IRC11:54
*** bethw has joined #buildstream11:54
gitlab-br-botpush on buildstream@tracking-changes (by Tristan Maat): 14 commits (last: _yaml.py: Remove extra brackets in Provenance class) https://gitlab.com/BuildStream/buildstream/commit/44b00de090348f94d27998e5378c1beef0db629612:00
gitlab-br-botbuildstream: merge request (tracking-changes->master: Tracking changes) #119 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/11912:00
gitlab-br-botpush on buildstream@tracking-changes (by Tristan Maat): 8 commits (last: load.py: Add test to check intersection exceptions) https://gitlab.com/BuildStream/buildstream/commit/dc3169ec201db997574025963736c85aea71befc12:07
gitlab-br-botbuildstream: merge request (tracking-changes->master: Tracking changes) #119 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/11912:07
gitlab-br-botpush on buildstream@compose-integration-delete (by Tristan Van Berkom): 4 commits (last: Handle removed files from integration in compose plugin) https://gitlab.com/BuildStream/buildstream/commit/cecbbec7ae5a9e6f9021bb087427c41cdb2bd63312:11
gitlab-br-botbuildstream: merge request (compose-integration-delete->master: Compose integration delete) #156 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/15612:14
tristangrrr, ok so that out of sync message thing seems to be happening at random places regardless of concurrently running things12:19
tristannobody else seeing this error in `./setup.py test` ?12:20
tristanmaybe it's only happening in `bst push` tests12:22
tristanlooks like it12:22
* tristan wonders if it's another case of what juergbi fixed this morning 12:23
* tlater doesn't currently12:25
gitlab-br-botpush on buildstream@compose-integration-delete (by Tristan Van Berkom): 1 commit (last: integration-tests: Adding a compose test ensuring removed files in integration are removed) https://gitlab.com/BuildStream/buildstream/commit/82291261e6630b46c009378804a6703471f2b42c12:29
gitlab-br-botbuildstream: merge request (compose-integration-delete->master: Compose integration delete) #156 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/15612:29
gitlab-br-botpush on buildstream@tracking-changes (by Tristan Maat): 10 commits (last: tests/pipeline/load.py: Enhanced and added test cases for exceptions) https://gitlab.com/BuildStream/buildstream/commit/0214e4c5be01412466c19be83e6b97bc0a441f2612:30
gitlab-br-botbuildstream: merge request (tracking-changes->master: Tracking changes) #119 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/11912:30
gitlab-br-botpush on buildstream@tracking-changes (by Tristan Maat): 1 commit (last: Fix tests) https://gitlab.com/BuildStream/buildstream/commit/4f8a116c0b5021f92a3a77c5321aa7a802e8783a12:31
gitlab-br-botbuildstream: merge request (tracking-changes->master: Tracking changes) #119 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/11912:31
tristanI think it's related to the coverage crashes12:37
tristanI just ran one which just did "Segmentation Fault" at some point12:37
tristanand no report, just crash12:37
tristanif a child process crashes without getting the exception back to the parent, that would cause the out of sync thing to happen12:38
*** tristan has quit IRC12:40
*** tristan has joined #buildstream12:42
tristanwat12:44
tristanhttps://gitlab.com/BuildStream/buildstream/-/jobs/4110153712:45
tristantlater, how come that is happening ?12:45
tristantar source at dependencies/amhello-full.bst [line 9 column 2]: Error mirroring file:///home/tristanmaat/Documents/Projects/buildstream/buildstream-tests/compose-test/src/amhello.tar.gz: <urlopen error [Errno 2] No such file or directory: '/home/tristanmaat/Documents/Projects/buildstream/buildstream-tests/compose-test/src/amhello.tar.gz'>12:45
*** tristan has quit IRC12:48
gitlab-br-botpush on buildstream@compose-integration-delete (by Tristan Van Berkom): 1 commit (last: integration-tests: Adding a compose test ensuring removed files in integration are removed) https://gitlab.com/BuildStream/buildstream/commit/81203b63e0cdbe3ed0b0696168a79764816b047f12:50
gitlab-br-botbuildstream: merge request (compose-integration-delete->master: Compose integration delete) #156 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/15612:51
*** tristan has joined #buildstream12:51
gitlab-br-botpush on buildstream@132-loading-external-plugins-works-without-explicit-requirement-in-project-conf (by Jonathan Maw): 1 commit (last: Test removing get_expected_plugins) https://gitlab.com/BuildStream/buildstream/commit/3ac2d3583568287cfb43e67462bfad33d0d48dfd12:51
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12512:51
* tristan tried a reboot... maybe my system has become prone to these crashes12:55
tristannope, one successful run, second run had a failure, lets see12:56
tristanwe are not out of the woods12:56
*** tristan has quit IRC13:16
jonathanmawerk, there's no changes left for me to pare down in search of the cause of coverage crashing - the only changes I have left are changing function signatures.13:24
tlaterjonathanmaw: Changing function signatures may well be it13:30
tlaterSorry, was out for lunch for a bit13:30
jonathanmawhmm, I'll juggle things around and see if a method that sets the whitelist will work13:30
* tlater wonders what trips up the url for that tar13:33
tlaterAh, tristan looks to have already fixed it13:34
tlaterAck13:37
tlaterI have a segmentation fault again13:37
*** tristan has joined #buildstream13:38
tlatertristan: Do you get those crashes in a docker container?13:39
tlaterI haven't seen a segmentation fault outside of sam's image13:39
tristanI'm getting mixed results13:45
tristanI see it only while tracking or while interacting with a remote artifact cache (push/pull)13:45
tristanI got one time a "segfault"13:45
tristanMany times I got the out of sync message, which could be a segfault in a child thread13:46
tristanAnd two times I got a hang in the push_pull_all test13:46
tristanI tried to check if it's due to the branch I'm working on....13:46
tristanbut I've gotten hangs from master too13:47
tlaterHm, I don't have an artifact cache server set up, do the tests require that?13:47
tristanmy branch is for #147, based on valentind's branch but adds integration tests13:47
tristantlater, the tests simulate it by creating a local one13:48
* tlater attempts this on his machine13:48
tristantlater, and the artifact cache code supports a local artifact share with file:// uris, with slightly different code paths13:48
tristanso actually, the code which my branch touches is not touched at all by the cases I've been seeing13:49
tristanstill; I have a sneaking suspicion it might be due to the formatting changes13:49
tristanwhich have done things like {:d} instead of just raw {}13:49
tristannot sure what the idea behind attempting to format explicit types was, but it looked like a no-brainer merge so I merged that13:50
tlaterI noted a few hiccups after that merge too, it was an odd one. Testing with an older branch the push/pull works fine13:51
* tlater hopes that pytest caches buildstream so I can check out master without my other run breaking down13:51
tlatertristan: It doesn't seem like the test hangs on my machine...13:52
tristanI dont understand about pytest caching buildstream13:53
tristantlater, push_pull_all ?13:53
tristanoh13:53
tristandoesn't13:53
tlatertristan: Ah, might be running the wrong test13:53
tristanyeah; I dont know what's up13:53
tlaterAww13:53
tristanI've seen it mostly happen in the frontend tests13:53
tristanbut push_pull_all is the only one I've seen produce a hang (twice)13:53
tlatertristan: What file is that in?13:54
tlaterAh, nevermind, found it13:54
gitlab-br-botbuildstream: issue #147 ("Compose element loses symlink modifications from integration commands") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/14713:55
gitlab-br-botbuildstream: issue #147 ("Compose element loses symlink modifications from integration commands") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/14713:55
* tristan thinks that tests/sandboxes/mounting should be an integration test exclusively13:55
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 4 commits (last: Handle removed files from integration in compose plugin) https://gitlab.com/BuildStream/buildstream/commit/cecbbec7ae5a9e6f9021bb087427c41cdb2bd63313:55
gitlab-br-botbuildstream: merge request (compose-integration-delete->master: Compose integration delete) #156 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/15613:55
gitlab-br-botbuildstream: Tristan Van Berkom deleted branch compose-integration-delete13:55
gitlab-br-botbuildstream: merge request (compose-integration-delete->master: Handle removed files from integration in compose plugin) #142 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/14213:57
* tristan notes that he is regularly running `./setup.py test` without buildstream installed13:58
tristanI wonder also if this could be related to coverage, and if there might be a regression in upstream coverage causing us grief13:59
tlatertristan: I have run `./setup.py test --addopts k --addopts 'tests/frontend/pull.py'` with the current master a few times now, I don't seem to get any hangs14:00
tristanhmmm, well ... would be nice if this one just disappeared of it's own accord I guess14:01
* tristan rebooted and hasnt had the out of sync message problem since then14:01
tristanbut did see one hang in push_pull_all14:02
tlaterMight have been an oddity in network setup things?14:02
tlaterjonathanmaw: Any luck in the meantime btw? It looks like the pycoverage maintainer wants a minimal test case, unsurprisingly.14:04
tristanpossibly14:04
tristannedbat, he's one of the good python developers14:05
tristancoverage maintainer14:05
jonathanmawtlater: no luck yet14:05
tristantlater, anyway the except branch went pretty well, I would have looked deeper into your other branch but rebase didnt work out so well after the other tests I added14:06
tlatertristan: I fixed that :) Unfortunately I got a segfault again after...14:07
* tlater liked the changes you made to the tests though14:07
* tristan notes out loud that the next thing he would work on if he had the freedom to just hack instead of an accumulating todo list; would be to refactor the integration tests more14:08
tristanprobably convert to pytest14:08
tristanfix the base runtime assumptions14:08
tristanSam is not here... but if he were I would tell him that we now have Element.compute_manifest() which unblocks his work on another branch14:09
tristantest_push_pull hanging again; ps axf tells me: [python3] <defunct>14:10
tristanone zombie14:10
tristanlooks like I have the machine that reproduces this14:10
*** WSalmon__ has quit IRC14:19
*** WSalmon__ has joined #buildstream14:19
tristanthere it is again14:23
tristanok, dont think I can fix tonight, but I'll give it a shot after midnight pizza14:23
*** mcatanzaro has joined #buildstream14:32
*** ecruzreyes has joined #buildstream14:35
gitlab-br-botpush on buildstream@132-loading-external-plugins-works-without-explicit-requirement-in-project-conf (by Jonathan Maw): 4 commits (last: Revert "Test removing get_expected_plugins") https://gitlab.com/BuildStream/buildstream/commit/297894490e848e938db21d0a233d07f23438771814:35
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12514:35
*** ecruzreyes has quit IRC14:38
jonathanmaw:tableflip: reworked my code to not change the function signature, but instead to have a separate setter that's called15:04
jonathanmawstill segfaulting in cmake-test15:04
jonathanmawso I can conclude it's no individual part that's causing segfaults15:04
jonathanmawso I'm going to revert everything, see if that still fails, and if not, find the minimal change that'll cause it15:05
tlater:|15:06
* tlater also resorted to that last week15:06
gitlab-br-botpush on buildstream@132-loading-external-plugins-works-without-explicit-requirement-in-project-conf (by Jonathan Maw): 3 commits (last: Revert "Test an implementation that doesn't affect function signatures") https://gitlab.com/BuildStream/buildstream/commit/fdbcd5aa699c64ba2f2da3f8c0f39cd9f0439b9715:06
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12515:06
gitlab-br-botpush on buildstream@tracking-changes (by Tristan Maat): 1 commit (last: Only run the cmake test) https://gitlab.com/BuildStream/buildstream/commit/0e800e0954debe194dbd213ea7c0e3662da5c65f15:12
gitlab-br-botbuildstream: merge request (tracking-changes->master: Tracking changes) #119 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/11915:12
tristanwell, I'm often getting both the hang and the out-of-sync error message thing15:14
tristanboth before and after my branch merge15:14
tristanso I can at least conclude that I did not introduce it (even though it only started happening to me today it seems)15:14
tristaneek, and we're raising OSError in utils.py15:20
gitlab-br-botpush on buildstream@132-loading-external-plugins-works-without-explicit-requirement-in-project-conf (by Jonathan Maw): 1 commit (last: Test minimal change to make the CI complain) https://gitlab.com/BuildStream/buildstream/commit/e80de2df71599de69154499fb027f7f03a7f76cf15:29
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12515:29
*** jude has quit IRC15:31
gitlab-br-botpush on buildstream@another-segfault (by Tristan Maat): 1 commit (last: Only run the cmake test) https://gitlab.com/BuildStream/buildstream/commit/1eb7f616f0a1fcaaa64d8699a22fee8db5af15f215:37
tlaterOh, whoops15:37
tlaterThat was supposed to be on my private repo15:37
*** WSalmon__ has quit IRC15:39
tristantlater, theres no problem with pushing to main repo15:42
tristanwe only wish the gitlab bot would shut up about pushes to non-protected branches ;-)15:42
tristanmaybe at some point we'll want to do some house cleaning of old stale work branches15:43
* tlater hates the spam so avoids it when possible x)15:53
tristanya know, I'm not totally against just disabling the `git push` notifications until we can reduce it to only notify protected branches15:54
tristanI think I mentioned that15:54
tristanjust that I would *prefer* to keep the notifications for pushes to protected branches15:55
tristanI.e., for the time being if everyone's happier without them, until we can tune it better; lets just disable them15:55
tristanooooo strange15:56
tristanah, nope; false alarm15:57
tristandidnt track it down to the commit introducing this15:57
gitlab-br-botpush on buildstream@132-loading-external-plugins-works-without-explicit-requirement-in-project-conf (by Jonathan Maw): 1 commit (last: Test minimal change to make the CI complain) https://gitlab.com/BuildStream/buildstream/commit/2427d315f15f6c99d1b1c2d9fc926c922e7d04f516:03
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12516:03
* tristan is starting to see a trend16:08
* tlater just executed an event hook :)16:08
tristantlater, try this if you can... `./setup.py test`... and wait till you get around the _yaml tests at the end, then interrupt with ^C16:09
tristanThen, check to ensure that you have a metric ton of .coverage.hostname.pid files lying around16:09
tristantlater, you should have > 300 files16:10
tristanI *think* the hangs are a problem with coverage not dealing well with stale data lying around from previous runs16:10
tristanah, maybe not that many16:10
tristanlooks like ~80 is enough16:11
* tristan will run the cycle a bunch of times to verify16:11
* tlater is waiting...16:12
* tristan thinks he is on the wrong path16:13
tristantlater, sorry for the noise :-/16:13
tlaterHmm, I don't even see the metric ton of tempfiles16:14
* tristan was bisecting back to old revisions and bug still happens, even since last week when we landed the pep thing by jonathanmaw 16:14
tristaneven since before that it reproduces16:14
tristanthen suddenly I removed the .coverage files, and it stopped happening16:14
tristancame back to master, still not happening, but happened again; only when there is a .coverage output file16:15
tristanbut, it doesnt yet prove that that is what is to blame16:15
tlaterWell, it was worth a try :)16:15
tristanI will instead try many runs with the .coverage files removed first16:15
tristanand see if it never happens16:16
tristanif this is the case; it might mean we need per-bst-invocation coverage collection in the integration-tests16:16
tristanok so, uninstalled coverage 4.4.2 from ~/.local16:32
tristanand I have older 4.2 installed in /usr/lib/python3.5/dist-packages16:32
tristanso far so good16:33
* tlater hasn't attempted the segfault branches with old pycoverages either16:37
tlaterIt would explain why we can't reproduce this locally16:37
tristanusing 4.4.2 without any installed, also reproduces...16:38
tristanNow trying it with tests_require pinning it to == 4.216:38
tristanlooks promising16:38
* tlater wonders if he can script docker to try it with all kinds of versions16:39
tristanI think we need to look at the git log of coverage between 4.2 and 4.4.216:40
tristanpossibly something related to multiprocessing16:40
* tlater checks if his current segfault is fixed by switching to 4.216:41
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 2 commits (last: Removing unneeded str() statements in "{}".format() statements) https://gitlab.com/BuildStream/buildstream/commit/1f39c63ca8f18291b43ad0dd0a007e3951b0557d16:45
* tristan expects that might fail16:47
* tristan filed https://gitlab.com/BuildStream/buildstream-docker-images/issues/116:47
tristantlater, in the absence of sam, do you have any idea how to move the latest tag on the docker images ?16:51
gitlab-br-botpush on buildstream@132-loading-external-plugins-works-without-explicit-requirement-in-project-conf (by Jonathan Maw): 1 commit (last: Require a different version of coverage) https://gitlab.com/BuildStream/buildstream/commit/fa250a4832ab4cbfa40558b972dc6d8443616e3e16:52
gitlab-br-botbuildstream: merge request (132-loading-external-plugins-works-without-explicit-requirement-in-project-conf->master: WIP: Resolve "Loading external plugins works without explicit requirement in project.conf") #125 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/12516:52
tristanjonathanmaw, same ?16:52
jonathanmawtristan: hrm, not sure. I'll have a look.16:53
tristanjonathanmaw, https://gitlab.com/BuildStream/buildstream-docker-images/merge_requests/6 will *probably* work around that cmake issue16:53
tristanthen maybe I can unrevert that patch I reverted16:53
tlatertristan: Move the latest tag to what?16:53
tristantlater, there is this thing called a "docker repository"16:53
tristanat least16:53
tlaterI think it was supposed to update automatically, didn't sam set up the CI to do that?16:53
tristanI think thats what people who know anything about docker, call it16:53
tlaterThe docker hub thing :)16:54
* tlater knows that doing it wrong can cause issues, so is not too comfortable saying anything16:54
tristantlater, I accepted that we use the "latest" tag from the buildstream repository CI, because of the promise that updating that latest tag was always going to be an explicit activity16:54
tristanI'm not sure that that activity is "merging to master" in the buildstream-docker-images repo16:54
tristanit might be16:54
tristangitlab ci yaml seems to indicate it might be yes16:55
* tlater thinks so too16:57
tristanit's on the way... needs to execute again once it hits master16:59
tlaterThat will take a while, unfortunately :/17:00
tristanwill it ?17:00
tristanhttps://gitlab.com/BuildStream/buildstream-docker-images/-/jobs/4114588317:00
tristanfirst run didnt take that long17:00
tristannow it's blocking on creating the cache or smth17:00
tlaterDamn, that's a lot faster than I expected17:01
tristanonly 221161 files17:01
tristanpeanuts :)17:01
tlaterDocker tends to take its sweet time on my private machines, but I guess it's faster if you keep all intermediate containers17:01
tristanas expected, buildstream pipeline fails for now17:05
tristanit's uploading... ok so; things should come back to life I guess in less than an hour17:06
* tlater still can't confirm this fixes the segfault T.T17:06
tristanor sooner, it's merged and we're on the way: https://gitlab.com/BuildStream/buildstream-docker-images/-/jobs/4114934317:08
tristantlater, because you only reproduce it in a docker image ?17:09
tlatertristan: Because I keep screwing up the pip remove line in the .gitlab-ci.yml x)17:11
tristananyway, soon the docker image will be with coverage 4.217:12
tristanfunny, seeing as the docker image is created with fedora, you would think that *somebody* knows the package names needed for the dnf install line17:12
tristanyet, we *still* have no patch for fedora instructions at: http://buildstream.gitlab.io/buildstream/install.html#installing ??17:12
* tristan mystified17:12
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 1 commit (last: doc/source/install.rst: Added instructions to install on Fedora) https://gitlab.com/BuildStream/buildstream/commit/380dff80ff2a6d79cf8d656a204b35a56abfdae517:20
* tristan adds the dnf install line and crosses fingers that it's the right one17:21
tristanat least people will complain with "Hey that's missing the package for python3 !" instead of "Hey how come you have no install instructions for Fedora !"17:22
tlater"Hey how come you have no install instructions for Gentoo !"17:23
* tlater will just wait until the image updates naturally, it's too hard to get pip to uninstall something in CI17:24
tristanWell, gentoo is another beast17:31
tristanthe only important ones are really debian and fedora17:31
tristanwe have this strange thing called arch... just because jjardon[m] :)17:31
*** valentind has joined #buildstream17:32
jonathanmawhrm, the new docker image failed to push https://gitlab.com/BuildStream/buildstream-docker-images/-/jobs/4114934417:32
tristanjonathanmaw, I made a retry17:32
tristanbut it looks a bit doomed without sam indeed17:32
jonathanmawfingers crossed17:32
jonathanmawgoogling around the problem, "tag does not exist" happens when the image doesn't exist locally17:32
tristanjonathanmaw, maybe it's because I actually did a merge request from a separate branch17:33
tristanmaybe the thing has to properly run directly from master only17:33
tristanor, maybe the cache wasnt in sync17:34
tristanDunny17:34
tristanDunno17:34
tristanjonathanmaw, I also just created https://gitlab.com/BuildStream/buildstream-docker-images/pipelines/14160724 to spam it for good measure17:35
tristanhopefully it'll get hammered through17:35
benbrowntristan: seems like the buildstream repo was pushed between the build and push job17:41
benbrownthe CI fetches latest buildstream to form the tag17:41
tristanoh weird17:49
tristanwhy would it do that ?17:49
tristanworth filing a bug17:50
tristanbenbrown, you sure about that ?17:50
benbrowntristan: Yeah. I assume it's done to create a unique tag. But it should only be done once (during build), then passed on to the push stage.17:50
benbrownOtherwise this happens :)17:51
tristanbenbrown, i.e.; the buildstream-docker-images basically fails to push a latest tag, if even the buildstream project master gets updated inbetween the buildstream-docker-images build & push tasks ?17:51
tristanok17:51
* benbrown nods17:51
tristanhttps://gitlab.com/BuildStream/buildstream-docker-images/issues/217:55
* tristan thinks there is an automatic git sha for the docker images repo that is already exported as a variable for gitlab CI17:58
tristanwhich seems like a more suitable "unique thingy"17:58
*** bethw has quit IRC18:01
tristanand we're back!18:01
tristantlater, now you can run pipelines again :)18:02
gitlab-br-botpush on buildstream@130-interactive-prompt-prefix (by Tristan Van Berkom): 1 commit (last: Accept the first character as shortcut on interruption prompts) https://gitlab.com/BuildStream/buildstream/commit/22d804df6e5d08fb84be590da17316417136537418:38
tristanbenbrown, thanks for the patch !18:55
tristanbenbrown, I have a theory that the tag format may however be wrong18:55
tristanI think that maybe a random seed or such might be better; the point being: I *think* the idea here is that manually creating a pipeline creates a new docker image; which *might* be desirable regardless of whether the buildstream or buildstrea-docker-images repo has changed or not18:56
tristani.e. the process fetches the latest from fedora18:57
tristananyway; I think we leave this for sam to look at when he resurfaces18:57
*** mcatanzaro has quit IRC19:30
*** bethw has joined #buildstream20:07
valentindGNU ed is distributed as tar lzip file. But python tarfile does not support it.20:34
valentindThat is a little bit annoying.20:38
valentindI am wondering what is the best way to work around that.20:38
gitlab-br-botpush on buildstream@master (by Tristan Van Berkom): 1 commit (last: Accept the first character as shortcut on interruption prompts) https://gitlab.com/BuildStream/buildstream/commit/22d804df6e5d08fb84be590da17316417136537420:58
gitlab-br-botbuildstream: issue #130 ("Interactive prompts requiring full words is annoying") changed state ("closed") https://gitlab.com/BuildStream/buildstream/issues/13020:58
gitlab-br-botbuildstream: merge request (130-interactive-prompt-prefix->master: Accept the first characters as shortcut on interruption prompts) #151 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/15120:59
*** mcatanzaro has joined #buildstream21:03
*** tristan has quit IRC21:21
gitlab-br-botbuildstream: issue #157 ("Missing accept header in http resquests leads to "HTTP Error 406: Not Acceptable"") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/15721:47
gitlab-br-botbuildstream: issue #158 ("Support for lzip is missing") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/15821:50
*** bethw has quit IRC23:38
*** valentind has quit IRC23:48

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