IRC logs for #buildstream for Friday, 2019-05-24

*** tristan has quit IRC06:40
*** tristan has joined #buildstream07:02
*** benschubert has quit IRC07:33
*** bochecha has joined #buildstream07:38
*** Trevinho has quit IRC07:40
*** Trevinho has joined #buildstream07:43
*** benschubert has joined #buildstream07:46
*** bozcan has joined #buildstream08:01
*** benschubert has quit IRC08:01
*** benschubert has joined #buildstream08:01
*** tristan has quit IRC08:04
*** aevri has quit IRC08:14
*** aevri has joined #buildstream08:14
*** bochecha has quit IRC08:16
*** bochecha has joined #buildstream08:20
*** toscalix has joined #buildstream08:29
*** bochecha_ has joined #buildstream08:34
*** bochecha has quit IRC08:36
*** bochecha_ is now known as bochecha08:36
*** bochecha_ has joined #buildstream08:37
*** jonathanmaw has joined #buildstream08:39
*** bochecha has quit IRC08:39
*** bochecha_ is now known as bochecha08:39
*** bozcan has quit IRC08:53
*** alatiera_ has joined #buildstream09:01
*** tristan has joined #buildstream09:13
*** lachlan has joined #buildstream09:43
*** lachlan has quit IRC09:51
*** lachlan has joined #buildstream10:04
*** lachlan has quit IRC10:10
gitlab-br-bottristanvb opened MR !1355 (tristan/fix-workspaced-junctions-1.2->bst-1.2: Fix workspaced junctions (1.2)) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/135510:15
jjardonHi, are you aware on any change in the CAS that make it incompatible with the one in bst-1.2.x? Seems bst master can not use it anymore: https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/21850600710:17
Kinnisonthe CAS no, the artifact services, yes.10:18
jjardonOk, so bst master can not use an bst-1.2 artifact cache?10:20
KinnisonCorrect10:20
jjardonIs that intentional or is that something needs fixing?10:20
Kinnisonbst2 (which master is) is intentionally replacing the artifact stuff10:20
KinnisonThis is part of the 'Artifact as a Proto' work10:21
jjardonOk, so for projects using bst-1.2, we will have to deploy a new artifact cache server when moving to bst2 ?10:22
KinnisonYes10:22
juergbimaster bst-artifact-server still supports the old mechanism, however, we might not keep this for bst2 and it's probably better to have a separate installation10:23
juergbiit should become possible to use the bst2 artifact server together with an arbitrary CAS server, though10:24
juergbiif object sharing is desired10:24
juergbi(that's not supported right now, though, afaik)10:25
adds68juergbi, tpollard mentioned that the new cache can still find hits in the old cache, but you have to manually accept the artifacts, is that true?10:28
*** ChanServ sets mode: +o tristan10:28
juergbiadds68: the new bst-artifact-server should still work fine with bst-1.2 clients10:29
tristanjuergbi, right... I think that's what I've been telling people10:29
tristanjuergbi, So basically, master artifact server still supports bst1 clients right ?10:29
juergbiadds68: however, the artifact references stored for 1.2 and master are independent (completely different format)10:29
tristanThe opposite, I wouldn't expect10:29
adds68ok thanks10:29
juergbitristan: yes but I don't think we've decided yet how long we want to keep this10:30
juergbi(not much code, so not really an issue to keep)10:30
tristanRight, I think that from what I understood the effort to keep it compatible is minimal enough10:30
juergbialthough with the planned move to casd, it might require a bit of effort to keep supporting it10:31
tristan:-/10:31
tristanI should get the ball rolling on parallel installability again soon10:31
juergbithe question is whether it actually makes sense to have such a combined installation10:31
tristanand figure out if we need it for the artifact server also10:32
adds68tristan ++10:32
jjardonbst-1.2 server is incompatible with bst master in the client rigth now already10:32
jjardonHave anyone here tested buildstream with another cache server based in the Remote Execution protocols? Like BuildBarn10:32
juergbinot sure about buildbarn10:33
tristanjjardon, However that was always going to be the case, regardless of bst2 separation... i.e. if we went forward without breaking API, we expect that we might need to *upgrade* the artifact server, but we also expect the new one to support older clients10:33
juergbiCAS and artifact service had been somewhat tightly linked until this change, so we couldn't use a random CAS server as CAS for artifacts10:34
jjardonI see10:34
tristanFrom what I understand a CAS doesnt support named refs, while the artifact servers are a superset which support named refs10:35
tristannot sure how else it differs10:35
tristanjjardon, Are we doing that anywhere outside of BuildStream nightly CI ?10:36
tristanoops wrong channel hehe ;-)10:36
tristanjjardon, Anyway, are we building freedesktop-sdk using bst master anywhere outside of BuildStream nightly CI ?10:37
jjardonWe are doing it in freedesktop-sdk CI10:38
tristanjjardon, I think anyway... we should be able to keep the CI working10:38
tristanUmmm, why ?10:38
juergbiyes, bst-artifact-server currently provides CAS + ReferenceStorage service (the old protocol for artifacts) + new Artifact service (storing artifact protos)10:38
tristanjjardon, What is the difference between fdsdk CI of BuildStream master and BuildStream's CI, and why would we want to do it twice ?10:41
tristanjjardon, afaics, it should be up to BuildStream to (A) Keep track of what changes need to be made to bst1 projects... (B) Keep it working10:42
jjardonYeah the bst CI is broken as well10:42
tristanLooks like I ran into another weird bug10:42
tristanjjardon, Right, but at least that can be BuildStream's problem10:43
tristanno need to double our trouble10:43
tristanSo different topic... (A) why does BuildStream 2 require workspaces to be specified as relative paths ? ... (B) why are those relative paths relative to the *elements* directory, and not the project directory ??10:44
tristanI thought we *support* relative paths from the *project* directory, not *require* relative paths from the *elements* directory10:45
jjardonI can remove the fdsk one; but it takes very little effort to keep it10:45
juergbiI would also expect relative to project directory but haven't been working in that code area recently10:46
jjardonAll overnight tests are failing: seems a problem with the bastion runner: https://gitlab.com/BuildStream/buildstream/pipelines/62889746 (and the aarch64 one)10:50
tristanjuergbi, I think I messed up my test case and I'm wrong about the weird behavior10:56
*** lachlan has joined #buildstream10:57
*** lachlan has quit IRC11:01
*** lachlan has joined #buildstream11:11
*** lachlan has quit IRC11:17
tristanOk so how are you supposed to open a workspace ?11:20
tristanOn an existing directory ? In BuildStream 2 ?11:20
tristanit wants a project relative directory, but keeps assuming CWD for some reason11:21
jjardontristan: how could we fix this in bst CI? AFAIK Bst doesn't have a bst cache server setup at the moment11:22
tristanjjardon, That sounds like part of fixing it indeed, setting up a cache11:24
tristanOk so seems absolute paths are still supported in bst workspace open --directory, and without specifying an absolute path, CWD is assumed as starting point11:25
tristanall makes sense now and test case works11:25
tristanwhew11:25
*** lachlan has joined #buildstream11:26
*** lachlan has quit IRC11:34
gitlab-br-bottristanvb opened MR !1356 (tristan/fix-workspaced-junctions->master: Fix workspaced junctions) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/135611:37
*** lachlan has joined #buildstream11:38
tristanSomeone care to take a look at !1356, to fix #1030 ?11:40
gitlab-br-botIssue #1030: bst show asks the user to fetch a workspaced junction https://gitlab.com/BuildStream/buildstream/issues/103011:40
tristanjuergbi, the above does one thing in addition to !1355 (for bst-1.2), which is to use Element._fetch() from the loader (bst-1.2 never had an Element._fetch())11:40
gitlab-br-botMR !1355: Fix workspaced junctions (1.2) https://gitlab.com/BuildStream/buildstream/merge_requests/135511:41
*** lachlan has quit IRC11:45
*** toscalix has quit IRC11:56
*** lachlan has joined #buildstream12:01
benschuberttristan: for !1356, did you try it by any change with nested junctions? I'm not sure we have tests for that, but it might be a good addition there (or separately)12:32
tristanbenschubert, Hmmm, I think that is separate issue https://gitlab.com/BuildStream/buildstream/issues/69112:34
benschuberttristan: ah, I was thinking about ensuring the fetch of a subjunction from a workspaced junction is fetching everything correctly :) I don't htink we have this, but it actually can be done separately12:35
gitlab-br-botBenjaminSchubert approved MR !1356 (tristan/fix-workspaced-junctions->master: Fix workspaced junctions) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/135612:36
tristanbenschubert, definitely we need to take a closer look at recursive subproject autofetch :-/12:39
benschubertI might have some time to allocate to that once I'm more done with Cython :)12:40
tristanIs marge doing her thing these days ?12:40
benschubertI think so12:40
* tristan thinks not, yeah12:40
benschubertI'm tackling a last problem with getting cython files coverage and it should be good to unwip :)12:40
benschuberttristan: btw, what do you prefer, check in generated code or not?12:41
benschubertThe cython files can be quite large12:41
tristanI was going to comment on #691 I think the problem there is reduced, at least we improved error reporting and provenance about subproject errors12:41
gitlab-br-botIssue #691: BuildStream does not automatically fetch a junction within a junction / displays an inaccurate helper https://gitlab.com/BuildStream/buildstream/issues/69112:41
tristanbenschubert, I think I prefer not committing generated code, and integrating all code generation into the build process in general12:41
tristanit cant be that onerous for developers to have the tools for generating these right ?12:42
tristanjuergbi, what about grpc, would that be fine with you too ?12:42
benschuberttristan: ok :) The only problem is when testing with setup.py or pyest, to remember to do it when changing branches for example12:42
* tristan recalls juergbi integrated the grpc as committed files initially12:42
benschuberttox will take care of everything for us anyways12:42
juergbitristan: fine with me12:43
* tlater[m] wonders how IDE stuff handles missing generated code12:44
gitlab-br-bottristanvb closed issue #1030 (bst show asks the user to fetch a workspaced junction) on buildstream https://gitlab.com/BuildStream/buildstream/issues/103012:44
gitlab-br-bottristanvb merged MR !1356 (tristan/fix-workspaced-junctions->master: Fix workspaced junctions) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/135612:44
gitlab-br-bottristanvb merged MR !1355 (tristan/fix-workspaced-junctions-1.2->bst-1.2: Fix workspaced junctions (1.2)) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/135512:44
juergbithe grpcio-tools package is required and the command to generate is: ./setup.py build_grpc12:44
juergbiwould have to be integrated into the rest12:44
benschuberttlater[m]: Pycharm can rebuild for you before running tests if you want :)12:45
benschubertjuergbi: so the "build" command should do it, that's good news :)12:45
benschubertI'll also have to update the contributing guide12:45
juergbibenschubert: I'm not sure. build_grpc is a custom command12:45
benschubertjuergbi: if I remember well, "build" will call all "build_*" commands too12:46
juergbidoes 'build' pick those up implicitly?12:46
benschubertthat's my understanding12:46
juergbiI suspected it does this only for known build subcommands12:46
juergbibut if it works, the better12:46
benschubertI'll double check and will create a custom Build otherwise12:47
juergbita12:47
*** tristan has quit IRC13:07
gitlab-br-botraoul.hidalgocharman opened MR !1357 (raoul/1023-grpc-forking->master: Ensure grpc channels are in separate process) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/135713:10
raoul^^ may help with hanging tests13:10
raoulI thought I'd got it to hang again, but have not been able to reproduce it a second time13:11
*** tristan has joined #buildstream13:15
benschubertjuergbi: grpc is using cython for itnerfacing with python right?13:16
juergbinot sure, has been a while since I've looked at these details13:17
raoulYeah I think it does13:17
benschubertOk13:17
raoulall the grpcio core stuff is cython13:17
benschubertwith cython we might be able to interface better with it, so we don't have those annoying process problems anymore :)13:17
benschubert(that being a long term goal, I don't expect that to be easy)13:18
juergbihm, don't know how that would help with the fork issue13:18
benschubertjuergbi: depending how they export their stuff, we might be able to not get that imported (wild guess)13:18
juergbiunless it's only the python binding that has trouble with fork13:18
Kinnisoncython adds a bunch of horror to process handling13:19
juergbiestablished sockets can't ever work across forks13:19
Kinnisonbecause of forks etc13:19
juergbibut maybe it would behave more reasonably13:19
raoulI think grpcio uses some cython/c background threads which is why it behaves so poorly with fork so I'm not sure how we'd be able to get around that13:22
benschubertoh, that's sad13:22
raoulindeed :(13:23
juergbiwell, as I said, it's not like connection sockets can reasonably be shared across forks anyway13:24
juergbiindependent of whether grpc uses background threads or not13:25
juergbihowever, the threads may be responsible for hangs13:25
benschubertI wonder if we should try to have a worker only for grpc13:25
juergbiand how do you communicate with it?13:26
benschubertmp.queues13:26
juergbiwhich internally uses pipes or sockets, I presume?13:26
raoulYeah with the test hanging it's not like we were trying to share sockets, its the following forks getting confused13:26
benschubertjuergbi: those would get closed on forks, so that is clean13:26
benschubertpython will close all fd in the forked process13:27
juergbiI don't think it's worth the effort13:28
juergbiprobably a lot less effort to add some kind of safeguard to avoid accidental use of grpc in the main process13:28
juergbiand to avoid establishing tons of connection to remote servers we'll soon have buildbox-casd13:29
benschubertright13:29
benschubertthen we probably don't need it :)13:29
*** ChanServ sets mode: +o ironfoot13:42
ironfootTurns out, if you are not identified on the network, you can't write on this channel.. and these error messages are a bit hidden on my IRC client..13:44
ironfootjennis: I'm and the one behind the bots13:44
*** ironfoot has quit IRC13:46
*** ironfoot has joined #buildstream13:46
*** ChanServ sets mode: +o ironfoot13:46
tlater[m]ironfoot: I run into that every couple of weeks too :|13:47
ironfootthere's a way to configure the channel to bounce unregistered people to another channel13:47
KinnisonHave your client auto-identify?13:47
Kinnisonbouncing unregistered people makes the asynchronous nature of the irc services a pain13:48
ironfootKinnison: just done so, no SASL, right?13:48
ironfootplain /msg nickserv?13:48
* Kinnison checks13:48
KinnisonI think I use client certificate fingerprinting13:48
Kinnison[05-24 14:48] * [Whois] Kinnison has client certificate fingerprint 958263f5f3cc43db00e617b4d836776237401ad7b8ac272c135a0e1c972c1fd713:48
ironfootinteresting, thanks13:49
*** bochecha has quit IRC14:44
*** bochecha has joined #buildstream14:44
*** bochecha_ has joined #buildstream14:50
*** bochecha has quit IRC14:53
*** bochecha_ is now known as bochecha14:53
gitlab-br-botjuergbi closed issue #1023 (CI test suite hanging) on buildstream https://gitlab.com/BuildStream/buildstream/issues/102315:14
gitlab-br-botjuergbi merged MR !1357 (raoul/1023-grpc-forking->master: Ensure grpc channels are in separate process) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/135715:14
*** kapip has joined #buildstream15:28
*** phildawson_ has joined #buildstream15:30
*** bochecha has quit IRC15:31
*** phil has quit IRC15:32
*** alatiera has quit IRC15:37
*** alatiera_ is now known as alatiera15:37
*** lachlan has quit IRC15:40
gitlab-br-botjonathanmaw approved MR !1351 (bschubert/normalize-path-in-context-tests->master: Fix: tests/context.py: Normalize path of XDG_CACHE) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/135115:46
gitlab-br-botmarge-bot123 merged MR !1351 (bschubert/normalize-path-in-context-tests->master: Fix: tests/context.py: Normalize path of XDG_CACHE) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/135115:50
*** alatiera9 has joined #buildstream15:55
*** lachlan has joined #buildstream16:03
*** lachlan has quit IRC16:12
*** lachlan has joined #buildstream16:24
*** lachlan has quit IRC16:31
*** phildawson_ has quit IRC16:32
*** phildawson_ has joined #buildstream16:32
*** alatiera has quit IRC16:33
*** alatiera9 has quit IRC16:37
*** dftxbs3e has joined #buildstream16:39
*** alatiera9 has joined #buildstream16:46
*** lachlan has joined #buildstream16:47
*** phildawson_ has quit IRC16:48
*** raoul has quit IRC16:56
*** jonathanmaw has quit IRC17:00
*** bochecha has joined #buildstream18:13
*** lachlan has quit IRC18:40
*** lachlan has joined #buildstream19:46
*** lachlan has quit IRC20:17
*** kapip has quit IRC20:26
*** bochecha has quit IRC21:25

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