IRC logs for #buildstream for Thursday, 2020-04-02

*** mohan43u has quit IRC01:46
*** mohan43u has joined #buildstream01:49
*** mohan43u has quit IRC01:53
*** mohan43u has joined #buildstream01:57
*** phoenix has quit IRC02:18
*** mohan43u_ has joined #buildstream05:43
*** mohan43u has quit IRC05:44
abderrahim[m]tristan: hi. It seems 1.4.2 wasn't published on pypi06:25
gitlab-br-botjuergbi opened MR !1850 (juerg/python-3.6->master: Require Python >= 3.6) on buildstream https://gitlab.com/BuildStream/buildstream/-/merge_requests/185006:45
*** mohan43u_ has quit IRC06:51
*** mohan43u has joined #buildstream06:51
*** ikerperez has joined #buildstream06:53
*** benschubert has joined #buildstream07:42
* mohan43u 07:52
*** narispo has quit IRC07:53
*** santi has joined #buildstream08:07
*** tristan has quit IRC08:14
*** tristan has joined #buildstream08:28
*** narispo has joined #buildstream08:29
*** rdale has joined #buildstream08:31
*** tpollard has joined #buildstream08:38
*** ChanServ sets mode: +o tristan08:42
tristanabderrahim[m], ahhh, I didn't realize I was supposed to do that ;-)08:42
tristanI think we have some shared account or smth for that, lemme see08:43
tristanHmmm, I also noticed the announcements.json in the website repo was terribly outdated and was going to update that08:45
tristanBut now, the table that it generates is suddenly missing the links to the release announcements on the mailing list: https://buildstream.build/releases.html ???08:45
tristanSo announcements.json is now deadcode ?08:45
* abderrahim[m] doesn't know how the website works08:46
tristanyeah, I believe I had put the release process and everything in the contributing guide but couldnt find it yesterday :-S08:47
tristanbut looks like that is gone from the docs, and looks like the process has changed in some ways08:48
tristanThe badge up at https://gitlab.com/BuildStream/buildstream/ is not updated, although I could have swore that I did trigger a pipeline on master after pushing the tag08:48
benschubertOne of my emails to the ML ended up having a "*** UNCHECKED ***" title and is not available in the buildstream ML archive. Is there something that should be done or should I just re-send the email?08:55
tristanOh damn, ok the badge thing looks like another side effect of runner screwups08:56
abderrahim[m]tristan: I believe the badges are updated from pypi08:56
tristanvalentind, The runners are still acting up, this pipeline is stuck: https://gitlab.com/BuildStream/buildstream/pipelines/13196221308:56
tristanvalentind, and this job has lots of errors: https://gitlab.com/BuildStream/buildstream/-/jobs/49495080908:57
tristancoldtom, ^^^08:57
tristanabderrahim[m], nah the badges are generated by running a pipeline on master, every time we run a pipeline on master the badges are updated based on the tags which are present in git at the time08:57
tristanBut pypi likes to have badges too :)08:58
tristanother ones08:58
tristanbenschubert, did you send it today ?08:58
tristanbenschubert, I noticed yesterday it took some hours for the release email to finally get through08:58
benschuberttristan: on the 25th, it was about external plugins tests08:59
tristanHrrrmmmm08:59
* tristan searches his email history for the email jjardon sent him informing him of the list admin password08:59
tristanwhich I have forgotten again09:00
tristanmaybe my browser has it in the cache09:00
benschubertthere was some work done on the backend at gnome apparently so something might have gone awry09:00
tristanyup thanks browser09:00
tristanbenschubert, no messages from you in the queue, all spam09:01
tristanJust send it again I guess is best :)09:01
benschubertthanks :)09:01
valentindtristan, I will look later at these CI errors.09:02
tristanThanks !09:02
valentindtristan, But this is a sled. It is a different builder.09:02
* tristan will forego debugging the badges until a pipeline on master passes09:02
tristanAha09:02
tristanvalentind, https://gitlab.com/BuildStream/buildstream/pipelines/13186242309:04
tristanThere is another "stuck" pipeline which is not bound to a sled09:04
tristanAlthough it would be good to fix both :-S09:04
benschubertOk message sent again :D WSalmon : if you can reply again :/ Sorry for the double work09:05
tristanWeird, "This job has not been triggered yet" with "This job depends on upstream jobs that need to succeed in order for this job to be triggered"09:05
tristanHowever, everything either passed with warnings or passed09:06
WSalmonbenschubert, did you mean me, im lost for context09:09
*** lachlan has joined #buildstream09:09
tristanOh wait09:10
tristanbenschubert, WSalmon; I actually have this in my inbox09:10
tristanBut it's not in the archive okay, so it went through the ML but didnt get to the archive09:11
benschubertah yeah :/09:11
benschubertWSalmon: ah sorry, my email about the plugins and tests09:11
benschubertbut wait actually :)09:11
benschuberttristan: how could that be? who to contact/ :D09:12
tristanI have the replies from Chandan and Ed09:12
tristanCan ask in #sysadmin09:12
benschubertdid Ed answer this mail? Haven't got that09:12
tristanbenschubert, waaaait a sec09:13
tristanbuildbox-casd timeout...09:13
tristantitle was like that ??09:13
benschubertNo, "BuildStream and external plugins tests09:13
tristanI definitely got this on buildstream-list, although it appears crossposted to buildgrid too09:14
tristanI never got that one09:14
benschubertOk, then good I sent it again. Chandan and WSalmon got it, it's in a weird state09:14
benschubertoh well, let's consider the new one the good one :)09:15
benschubertso yeah WSalmon if you mind re-doing your reply to the new thread :)09:15
tristanYeah, I never got that email09:15
tristanI dont think09:15
WSalmonI only ever recived it with ***unchecked*** in the subject09:15
tristanoooh no !09:15
tristanJaysus09:15
tristanI have that one *** UNCHECKED *** too09:15
tristanbut no replies09:15
benschubert-_-'09:16
tristansorry but there are about 6 or so *** UNCHECKED *** emails09:16
benschubertah yeah no worries :)09:16
tristanno replies to that one when I search "plugin tests", only the original post from Thursday09:16
benschubertI'm wondering where the screw up started in the system now :)09:16
benschubertweirder even09:16
benschubertWell better to have a new thread then09:16
tristanYeah I'm just trying to figure that out before alerting sysadmins09:17
benschubertWSalmon: I sent it a few minutes ago?09:17
benschuberttristan: there was apparently a maintenance on the backend at that time09:17
tristanSo: Do we know of any messages which were never delivered ?09:17
tristanOr only messages which didn't make it to the archive ?09:17
tristanHmmm I see09:17
tristanYes I have 5 *** UNCHECKED *** messages all from the same 4 hour period on Thursday09:18
tristanI suppose we can consider this an incident and move on :)09:18
benschubertcheers :)09:19
WSalmonbenschubert, i only just got it, i think it takes a while to get through the server so have resend my responce, it may take a few minits to come through09:19
benschubertthen you should have a new message from me :)09:19
benschubertWSalmon: yeah no rush :) just want to make sure we have things in the archive now!09:19
WSalmonI have a few `[BuildStream] ***UNCHECKED*** buildbox-casd timeout issues during BuildStream startup`09:20
tristanWSalmon, me too09:20
WSalmonmessages duno if everyone got them, might be worth piniging chandan, if they all got through with no checking then i gues that not the end of the world but seems bad they never got on to the Archive09:21
WSalmonhas some one asked av about this on #sysadmin? duno if he can fix it without needing everyone to resend?09:21
tristanWSalmon, I was about to but our conclusion is that there was some backend maintenance and this was an incident and not a recurring thing09:22
tristanWSalmon, note all of your *** UNCHECKED *** messages are from the same few hour span I believe09:22
WSalmoni dont know if av can do some magic to move them in to the archive as a one off?09:22
* tristan did make a passing remark in #sysadmin right now09:23
gitlab-br-botjjardon opened issue #1282 (Publish to pypi from CI) on buildstream https://gitlab.com/BuildStream/buildstream/-/issues/128209:52
gitlab-br-botwillsalmon closed issue #1280 (Junction in junction requires top level junction) on buildstream https://gitlab.com/BuildStream/buildstream/-/issues/128010:00
*** lachlan has quit IRC10:03
*** lachlan has joined #buildstream10:13
*** lachlan has quit IRC10:20
*** lachlan has joined #buildstream10:52
valentindIs master supposed to work on python 3.8? I have an issue with child processes not running correctly. They just return 1 and do not execute the target function.10:54
benschubertIt _should_ and we have tests for it. Do you have any debug info?10:55
*** lachlan has quit IRC10:56
valentindbenschubert, I had to run make in requirements, because the old requirements do not work with recent pip.10:56
valentindI am wondering if it is the issue.10:56
benschubertwhat's the problem with the requirements? Which package is broken?11:00
benschubertI am waiting to update all requirements as we'd need a fix in pytest before which I aim to be doing tomorrow11:00
valentindpackaging is too old11:00
valentindIt would be 20.x it is 19.x11:00
valentindAnd tox uses pip from host.11:00
valentindpip 20 needs packaging 20.11:01
valentindI tried to only upgrade "packaging" now. But I still get the same issue with child processes that just die at start.11:01
benschubertThat's weird I didn't hit that while running the tests on 3.8 with lates requirements11:01
benschubertdoes --debug --verbose give you something useful?11:02
valentindbenschubert, It is happening during running test.11:02
tristanI think the buster python 3.8 in CI is a bit "weird" though no ? I backported the docker to test 3.8 in bst1 and noticed some comments about that11:02
valentindJob.start runs. It creates and start a process.11:03
valentindBut Job.child_action does not get called.11:03
benschuberthttps://gitlab.com/BuildStream/buildstream/-/commit/551e0755e4dcb553ac220c5330a74a7b2b07cb19 can you see an obvious difference with this change?11:04
valentindon_completion registered to add_child_handler gets called with returncode being 1.11:04
valentindIt happens with zipp 0.6.011:05
valentindOh wait.11:05
valentindThat does not make sense.11:05
*** lachlan has joined #buildstream11:07
valentindbenschubert, running your branch, it fails as well.11:07
benschubertare you running tests with coverage actually?11:08
benschuberton py3811:08
valentindI do not know, I run "tox -e py38"11:09
benschubertah right11:09
benschubertsorry should have remembere earlier11:09
valentindCoverage.py warning: No data was collected. (no-data-collected)11:09
valentindCoverage.py warning: Plugin file tracers (Cython.Coverage.Plugin) aren't supported with PyTracer11:09
valentindWARNING: Failed to generate report: No data to report.11:09
benschubertthat runs tests with coverage and coverage is broken in python3.8 for I don't know which reason11:09
benschubertto use tox -e py38-nocov11:09
benschubertI *hope* coverage 5.0 might help unblock that, but need to fix pytest first :'D11:10
tpollardyep, async under coverage when we merged the 3.8 changes was completely broken11:10
valentindpy38-nocover11:10
benschubertah yes11:11
valentindWell, good I asked, but I could have lost a day finding out that.11:11
benschubertyou might have found the real bug by then :D11:11
*** lachlan has quit IRC11:12
valentindWell, at least I get another bug now.11:12
valentindbuildbox-casd that does not work.11:12
benschubertnot up to date?11:12
tpollardhttps://gitlab.com/BuildStream/buildstream/-/issues/117311:12
valentind0.0.6 is not enough?11:13
benschubertjuergbi: ^ ?11:13
tpollardcypthon doesn't seem to be supporting 5.0 either yet11:14
tpollard*cython11:14
juergbi0.0.6 is what CI uses right now, so that should work for master11:15
juergbi(I'm in process of updating to 0.0.7, though)11:15
*** lachlan has joined #buildstream11:17
valentindI am not sure what fails. I am trying to test tests/format/include.py::test_include_junction_file11:17
valentindAnd I get 2 errors.11:17
valentindOne is buildstream._exceptions.CASCacheError: Timed out waiting for buildbox-casd to become ready11:18
valentindBut maybe it retries and succeeds later.11:18
valentindThe other is from the git plugin:11:18
valentindfatal: path '.gitmodules' does not exist in '750392e63e0c4e5108bc410fc35066679b95df46'11:18
*** lachlan has quit IRC11:20
valentindRight but I think buildbox-casd is the issue11:21
*** tristan has quit IRC11:25
*** lachlan has joined #buildstream11:25
*** slaf has quit IRC11:26
*** lachlan has quit IRC11:32
*** slaf has joined #buildstream11:33
juergbivalentind: the casd timeout error is a known issue  outside the test suite if the local cache is large and the kernel dentry cache is cold. however, I don't think I've heard of such an issue in the test suite as that works with separate cache directories11:37
juergbithat said, I'm locally testing against buildbox-casd master as I'm working on casd as well11:38
juergbihowever, CI uses 0.0.6 and haven't seen it there either11:38
valentindI do not think that is the issue. buildbox-casd is started. It does not seem to do anything. But the socket is not created.11:43
*** lachlan has joined #buildstream11:43
juergbivalentind: do you use NFS or similar?11:47
valentindext411:50
valentindjuergbi, Also buildbox-casd has worked before with a previous commit.11:50
valentindIt just started to fail now.11:50
juergbiodd, can you give 0.0.7 a shot?11:51
juergbithere will be one test failure (XPASS of test_script_no_root)11:51
juergbibinary is available here: https://buildbox-casd-binaries.nyc3.cdn.digitaloceanspaces.com/buildbox-x86_64-linux-0.0.7-253cb8d6.tar.xz11:52
valentindI will build it.11:53
*** tristan has joined #buildstream11:55
*** mohan43u has quit IRC11:59
*** mohan43u has joined #buildstream12:03
*** lachlan has quit IRC12:03
valentindjuergbi, Still the same error.12:30
valentindOh right, I had this issue before. It was this: https://github.com/grpc/grpc/issues/2075712:33
valentindI do not remember how I fixed it.12:33
*** jib has joined #buildstream13:21
*** lachlan has joined #buildstream13:23
jibHi, I have a couple of questions to be able to complete a transition from flatpak-builder to buildstream13:23
jib1) Is there any way to use ccache to speedup subsequent builds (that would mean storing the ccache folder outside of the sandbox)13:24
jib2) Is there a way to pass "--option" to bst as string type ? The use case would be to specify the branch to build and to export as flatpak image13:25
valentindfor 2) I recommend you generate a yaml file defining a variable that you include.13:27
jib3) In order to run a testsuite I need to resolve hostnames located inside a VPN, exposing /etc/hosts from the host with the proper IP doesn't seem to make the cut13:27
valentindPut a development version by default. And overwrite the file in the CI to put the right version.13:27
jib@valentind Ok, that was pretty much what I had in mind if passing options as string wasn't possible, thanks13:28
valentindSo you run the tests in "bst shell"?13:29
jib"bst shell" but also "bst build"13:29
valentindThere is no network in "bst build"13:30
jibbecause I need the build to fail if the testsuite fails13:30
juergbijib: 2) are you aware of the `variable` key for options? https://docs.buildstream.build/master/format_project.html#common-properties13:30
valentindjuergbi, the problem with the options is that the allowed values have to be declared.13:31
juergbiah, I see13:31
valentindSo you cannot just pass any string.13:31
jib@valentind juergbi yes, that is the problem for passing branches13:31
juergbisource definitions still don't support any variables right now, though. so even an include file with a variable might not help13:32
juergbithis will hopefully be supported in the future, though13:32
jibbut generating a yml file is okay and would do the job, though having an option to pass strings from cli would be easier13:32
valentindWas it for the source? I thought it was probably to mark the version somewhere.13:33
valentindI understood it  was the version of the flatpak image, not of the upstream element.13:33
*** lachlan has quit IRC13:33
juergbiah, for that it would be fine, of course13:34
jibYes it is for the flatpak image because I can do a checkout of the proper branch before starting the build13:34
*** lachlan has joined #buildstream13:34
juergbijib: 1) this is not currently supported. we do support incremental builds for workspaces, though, which may or may not help in your use case13:35
jibIs there any "test" command which would be able to access the network ? How are we supposed to handle connections to remote machines ?13:35
jib@juergbi Yes I think a can manage to handle it using workspaces indeed, thanks13:37
*** lachlan has quit IRC13:37
valentindjib, I only think of "bst shell" which should have network access.13:39
juergbijib: 3) I don't think there is a solution right now with `bst build`. it should be fairly simply to support opting out of the network sandboxing (as we already support it for `bst shell`) for individual elements but we should discuss whether this is the right approach13:39
valentindThe problem for "build" is that network breaks reproducibility.13:40
juergbi(and have to consider potential issues with simply overriding resolv.conf)13:40
juergbiyes, we definitely don't want to change the default to allow network access13:40
juergbibut I could imagine a `sandbox` `network` option13:40
jib@valentind I can understand that, I think bst should definitively have a "test-commands" with network access like flatpak-builder has13:41
*** lachlan has joined #buildstream13:41
juergbiiirc, in a previous discussion about tests the idea was to have separate test elements13:41
valentindjib, Sure but any other reproducible builds cannot depend on non reproducible test builds.13:41
juergbii.e., the build elements themselves would still not lose reproducibility13:42
coldtomthat was my understanding too juergbi13:42
valentindWhat we would need is a way to make a reproducible virtual network in sandbox.13:42
valentindSo it is possible to do proper integration testing, but reproducible.13:43
juergbiwhat do you mean by that?13:43
juergbilocalhost networking should already work in the sandbox13:43
juergbiif you have a mock or real test server, that should already be fine13:43
jib@valentind the problem then is that you would risk to have reproducible but unproperly tested builds13:43
valentindjuergbi, I think in his case he wanted to connect to other machines.13:43
valentindWhy unproperly?13:43
juergbiright but presumably because the test runs against some kind of real server that can't be run in the sandbox or not?13:44
jib@juergbi @valentind That is correct, some servers definitively can't be inside the sandbox13:45
valentindThen in this case, "bst shell"13:45
jib@valentind I think using bst shell to have network access is fair. There is still the problem of accessing machines located inside a VPN, do you have any idea how to access them from a network sandbox ?13:48
valentindshell: host-files: ['/etc/resolv.conf']13:52
valentindI am not aware of the shell to sandbox the network, you should have access to all the network interfaces.13:52
jib@valentind That is strange, I added '/etc/hosts' as host-files and the resolution fails in the sandbox (not on the host) while the accessing machines located inside the VPN by their IP addresses is working...13:57
valentindjib, And have you checked the content of /etc/hosts is correct?13:58
valentindI would also add resolv.conf13:58
jib@valentind Yes because it is working on the host13:58
jibI also added /etc/resolv.conf13:58
valentindCan you "bst shell element.bst -- cat /etc/hosts" ?13:59
jib@valentind I tested it with success with the build flag but I am rebuilding the element to test without it.14:05
jib@valentind I found the problem : I simply needed to expose '/etc/nssswitch.conf' in the sandbox14:24
valentindOh right.14:24
valentindOr at least put one that allowed hosts.14:25
valentindjib, You are not building on top of Freedesktop SDK? I would expect we have nsswitch.conf14:25
valentindIf not we should add it.14:25
jib@valentind I was using app.ym from firefox-buildstream that wasn't exposing it. Btw thanks a lot for it, it helped me a great deal !14:25
valentindIt is components/nsswitch-config.bst14:26
valentindRight. Maybe the test can depend on that element.14:26
jib@valentind Yes I am building on top of freedesktop SDK but I use it as a junction so I am maybe missing a component14:26
jibThanks, perfect14:26
jibSo I  guess I now have answers to all my questions, thanks a lot and kudos for all the great work ! :)14:31
*** narispo has quit IRC14:34
*** narispo has joined #buildstream14:34
valentindjuergbi, I rebuilt buildbox-casd but linked to my own build of grpc instead of the debian package. And it works.14:35
valentindThe debian package is broken.14:35
valentindProbably because they do not use cmake, but the Makefile. Which might not be maintained as well.14:35
juergbiah, good to know14:36
valentindOr something like that.14:36
juergbiwe build buildbox components only against stable debian versions in CI, so not hitting this so far14:36
juergbidebian 10 seems to work fine14:36
valentindI use sid.14:38
juergbimight be good to file an issue to avoid this affecting testing/stable in the future. could be difficult to provide a simple test case, though14:40
douglaswinshipDoes anyone know how buildstream handles conflicts between dependencies? I've got two different dependencies that both produce different files with the same name, in the same location. I thought it would throw an error, but buildstream seems to be fine with it. It's just chosen one version and gone with that one.15:05
douglaswinshipAnd annoyingly, i wish it had chosen the other one.15:05
valentinddouglaswinship, With dependencies15:06
valentindIf you want one to overwrite the other, it has to depend on it. And you should declare that the files are overwritten.15:06
douglaswinshipInteresting. Declare how?15:07
valentindhttps://docs.buildstream.build/1.4.2/format_public.html#overlap-whitelist15:08
douglaswinshipThanks! I saw that before, but couldn't make sense of it. I think I understand it now.15:13
douglaswinshipI'm still not sure how it made the decision originally though. As it stands now, neither element has a whitelist setting that I'm aware of, but one of them still overwrites the other.15:28
juergbibenschubert: is this node.pyx change reasonable or can you think of a better approach? https://gitlab.com/BuildStream/buildstream/-/merge_requests/1845/diffs?commit_id=cc6ddec45022a68d94b3f47ec0d71a6df4fd679e15:32
juergbito support optional int keys15:33
benschubertlet me have a look15:47
benschubertjuergbi: could you benchmark the change?15:47
juergbiwith the debian project? sure15:48
benschubertThis will generate a completely different C code for those nodes, usings PyObjects instead of C int, so that will reduce the optimisations by quite a bit15:48
benschubertjust wonder how much it affect global setup15:48
juergbiI don't think we use tons of ints in elements15:49
juergbibut definitely makes sense to benchmark15:49
benschubertthat's true, if the impact is negligible I'm definitely for it :)15:49
benschubertwe might want to do the same for booleans later then15:50
benschubertbut I remember when I was developing as having a substantial impact, but it wasn't in the final form15:50
juergbiI don't know whether `str` is more efficient than `obj`. if it is, maybe that was the reason15:52
benschubertstr is definitely more efficient, cython will use char* internally15:54
benschubertuntil it _needs_ a string object15:54
benschubertwhich is then "just" a memoryview15:54
benschubertas far as I understood :)15:54
*** lachlan has quit IRC16:10
abderrahim[m]douglaswinship: about overlaps, bst will just warn by default and take the file from the last element (order is arbitrary but reproducible, and respects dependencies)16:33
abderrahim[m]douglaswinship: you probably want to make the warning fatal so it doesn't overwrite without an overlap whitelist16:34
abderrahim[m]`fatal-warnings: [overlaps]` in your project.conf16:35
douglaswinshipabderrahim[m]: interesting. I tried changing to order and it didn't seem to make a difference. I'll retry though.16:41
abderrahim[m]douglaswinship: that's what I meant by "arbitrary but reproducible": if you change the order in your bst files, it doesn't change16:43
abderrahim[m]so if you need something to be considered before another, you need to add a dependency16:44
*** lachlan has joined #buildstream16:48
*** jib has quit IRC17:00
benschubertThe order is https://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/_loader/loadelement.pyx#L163 exactly if you are interested but it's probably too much details :)17:01
*** toscalix has joined #buildstream17:02
*** toscalix has quit IRC17:08
douglaswinshipabderrahim[m]: oh, i see what you mean17:13
*** santi has quit IRC17:23
*** santi has joined #buildstream17:26
*** lachlan has quit IRC17:29
*** lachlan has joined #buildstream17:36
*** santi has quit IRC17:40
*** ironfoot has quit IRC17:43
*** ironfoot has joined #buildstream17:43
*** ChanServ sets mode: +o ironfoot17:43
*** lachlan has quit IRC18:01
*** tpollard has quit IRC18:04
*** lachlan has joined #buildstream18:05
*** lachlan has quit IRC18:09
*** mohan43u has quit IRC18:11
*** mohan43u has joined #buildstream18:11
*** toscalix has joined #buildstream18:16
*** toscalix has quit IRC18:17
*** toscalix has joined #buildstream18:22
*** phoenix has joined #buildstream18:28
*** toscalix has quit IRC18:37
*** toscalix has joined #buildstream18:38
*** xjuan has joined #buildstream18:43
*** benschubert has quit IRC19:54
*** toscalix has quit IRC20:06
*** phoenix has quit IRC21:04
*** xjuan has quit IRC21:32
*** rdale has quit IRC22:21
*** slaf has quit IRC23:40

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