IRC logs for #buildstream for Tuesday, 2019-11-05

*** mohan43u has quit IRC02:16
*** mohan43u has joined #buildstream03:17
*** narispo has joined #buildstream03:34
*** phoenix has joined #buildstream06:06
*** phoenix has quit IRC06:38
gitlab-br-botmarge-bot123 merged MR !1642 (juerg/fetch-tree->master: Reimplement contains_directory() with FetchTree()) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/164208:20
gitlab-br-botjuergbi closed issue #1020 (Invalid "Ignoring redundant source references" warnings for git sources) on buildstream https://gitlab.com/BuildStream/buildstream/issues/102008:30
*** traveltissues has joined #buildstream08:54
tpollardbenschubert: :( indeed09:24
benschuberttpollard: I would believe it's only because that is the time it took to print everything. I didn't get the status bar at all of the run since my display was just trying to catch up09:25
benschubertI'll try with a different project to see if I can see a difference09:26
tpollardhmm, the status bar should show with that branch and the base-files.bst, does for me at least09:27
*** rdale has joined #buildstream09:29
tpollardalthough it's still very flickery09:29
benschubertyep, my display isn't even able to cope with that :)09:30
*** jonathanmaw has joined #buildstream09:40
*** santi has joined #buildstream09:43
tpollardI'm also surprised that the user/system time hadn't increased more09:53
tpollarddoes the FetchTree() MR merging require the new version of casd?10:02
*** tiagogomes has joined #buildstream10:03
*** bochecha has joined #buildstream10:09
tpollardthat answer to that is yes10:17
*** lachlan has joined #buildstream10:33
juergbitpollard: yes. but it reports a suitable human-readable error otherwise, right?10:37
tpollardjuergbi: yep, it did :)10:38
tpollardI was just running tests, so didn't see straight away10:38
juergbiyes, it's still a bit hidden in the output but should at least not throw an unhandled exception or similar10:38
gitlab-br-botmarge-bot123 merged MR !1673 (aevri/testutils_artifactshare->master: tests/artifactshare: safer cleanup_on_sigterm use) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/167310:42
*** juanalday has joined #buildstream10:59
*** akvilebirgelyte has quit IRC11:30
*** akvilebirgelyte has joined #buildstream11:30
benschuberttpollard: my 'faster' terminal was even slower... -_-'11:38
tpollardbenschubert: yeh... we're going to rerun the times here to see what's seemingly happened since they were last run11:46
benschuberttpollard: ok, let me know if/how I can help11:47
*** lachlan has quit IRC12:01
tpollardbenschubert: will do, I think at this point general code review to see if there's anything glaringly obvious with the implementation12:03
benschubertok!12:04
gitlab-br-bottraveltissues opened (was WIP) MR !1686 (traveltissues/1182->master: Remove `commit`ting sources inside `Source()._generate_key`) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/168612:04
*** juanalday has quit IRC12:05
gitlab-br-botBenjaminSchubert approved MR !1686 (traveltissues/1182->master: Remove `commit`ting sources inside `Source()._generate_key`) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/168612:09
gitlab-br-botBenjaminSchubert opened MR !1687 (bschubert/better-reporting-on-userconfig->master: _context.py: Improve reporting of incorrect user config) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/168712:13
gitlab-br-botcs-shadow approved MR !1687 (bschubert/better-reporting-on-userconfig->master: _context.py: Improve reporting of incorrect user config) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/168712:16
benschuberttpollard: are you looking into !1185 ?12:16
gitlab-br-botMR !1185: utils.py: safe_link(): Unlink only if target already exists https://gitlab.com/BuildStream/buildstream/merge_requests/118512:16
gitlab-br-botaevri closed issue #1154 (Independent testing of Windows Experimental branch) on buildstream https://gitlab.com/BuildStream/buildstream/issues/115412:16
benschubertsorry meant #118512:16
gitlab-br-botIssue #1185: bst build does not exit gracefully on a second CTRL-C https://gitlab.com/BuildStream/buildstream/issues/118512:16
benschubertjuergbi: do you need anything more on my end for #1126?12:17
gitlab-br-botIssue #1126: Cache resolution is slow https://gitlab.com/BuildStream/buildstream/issues/112612:17
juergbibenschubert: no, not right now, thanks. !1642 is merged but we should probably keep the issue open until batching is implemented as well12:19
gitlab-br-botMR !1642: Reimplement contains_directory() with FetchTree() https://gitlab.com/BuildStream/buildstream/merge_requests/164212:19
benschubertawesome thanks!12:20
tpollardbenschubert: not actively right now12:26
benschubertok, were you planning to, or do you want me to have a look ?12:26
tpollardI'm not sure, I didn't want to overlap with the casd process manager work12:26
benschubertI think I have a fix without having to conflict :)12:29
tpollardawesome :)12:32
gitlab-br-bottraveltissues closed issue #1073 (Cache Key Dictionary Changes) on buildstream https://gitlab.com/BuildStream/buildstream/issues/107312:56
*** lachlan has joined #buildstream13:06
*** juanalday has joined #buildstream13:28
tpollardgitlab can't handle showing me that Black diff xD13:30
traveltissuestpollard, https://gitlab.com/snippets/191043113:30
tpollardtraveltissues: tyvm13:31
benschuberttraveltissues: interesting timings, so different from mine Oo13:31
tpollardindeed, ~30% difference13:31
traveltissueswhat were your results benschubert13:32
benschubertno difference between master and this branch13:32
benschubertand 26-28m in total13:33
tlater[m]juergbi: When we check out an element, we stage the artifact in a directory - this seems to be handled by casd13:42
tlater[m]Does the checkout directory also need to be owned by casd?13:43
tlater[m]Or will we need some form of api to send files over the socket?13:43
tlater[m]I suppose the directory should be writeable with umask 00213:43
tlater[m]Hrmm13:43
benschubertI'm getting a connection refused trying to connect to freedesktop-sdk-cache.codethink.co.uk:11001 for the freedesktop cache. Is that expected? Can anyone else reach it?13:59
coldtomadds68, valentind ^14:00
tlater[m]GAH THE TEST SUITE CREATES TEMPORARY DIRECTORIES WITH G-RWX14:06
valentindYes I know.14:08
valentindThe cache servers were configured to the wrong path.14:08
valentindSo I had to restart them.14:08
valentindIt works now.14:08
valentindbenschubert, do you still have the issue?14:08
*** santi has quit IRC14:10
adds68seems there were still errors when i just checked14:11
*** santi has joined #buildstream14:11
gitlab-br-botmarge-bot123 merged MR !1687 (bschubert/better-reporting-on-userconfig->master: _context.py: Improve reporting of incorrect user config) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/168714:12
valentindadds68, When?14:12
adds682 minutes ago14:12
adds68on the cache-serve service14:12
valentindMaybe it is your DNS cache then.14:13
valentindAH no you are right.14:13
valentindLet me fix it.14:13
adds68no the actual server14:13
valentindStrange it sometimes work.14:15
valentindSometimes it does not14:15
adds68i will sort this infra stuff out at LAS valentind :D14:15
valentindadds68, The path are still wrong for .service files.14:16
valentindThis is what I had to fix.14:16
adds68I mean like get my fully re-factored branch sorted and merged or maybe even rewrite it all again haha14:16
valentindadds68, I was thinking of making an image of freedesktop sdk with cloud init.14:17
valentindSo we could just deploy freedesktop sdk on all the servers.14:18
adds68valentind, i have that already, it just can't be merged because of the openssl issue14:21
adds68but yes that would be the idea14:22
valentindWhere is that?14:22
adds68valentind, i had a branch doing all this stuff here: https://gitlab.com/freedesktop-sdk/infrastructure/freedesktop-sdk-docker-images/merge_requests/5914:23
valentindAh you mean running the service in docker with freedesktop sdk.14:23
valentindNo I mean, just run the whole server on Freedesktop SDK with a kernel and cloud init.14:24
valentindDitch fedora and ansible.14:24
tpollardthat sounds scary14:24
valentindWhy?14:24
adds68valentind, yes that also makes sense14:25
adds68valentind, we could use Packer14:25
adds68lets talk at LAS :)14:25
valentindWhat is packer?14:25
adds68valentind https://www.packer.io/14:25
coldtomis it possible for a plugin to stage different sources in different locations?14:35
coldtoms/plugin/element plugin/14:35
juergbitlater[m]: the actual checkout step is handled by buildstream code, afaict. in the normal case it should copy files from CAS or create a tarball (both requiring read-only access, which is fine)14:38
juergbithe hardlinking option might not work, though14:38
juergbiat least linux doesn't allow this by default anymore (fs.protected_hardlinks = 0), afaik14:40
tlater[m]juergbi: Are you sure? It looks like the buildbox-casd user is trying to copy files into a directory not owned by it because the test suite sets u+rwx,go-rwx on our staging directories14:40
tlater[m]s/staging/checkout/14:40
tlater[m]It happens in `_import_files_from_cas`14:41
tlater[m]In `_filebaseddirectory`14:41
tpollardcoldtom: erm, I think you could right one that does?14:42
tpollard*write14:42
juergbitlater[m]: if I'm reading the code correctly, I think this is something that is very suboptimal right now14:42
juergbiwe first create a checkout from casd and then copy or hardlink that checkout in bst to the final location14:43
coldtomtpollard: afaict all sources are staged by Element.stage_sources(), which handles them all at once14:43
juergbitlater[m]: the first step should be replaced by using a virtual directory14:43
juergbiit might actually work correctly with the buildbox-run sandboxing backend as that always uses casbaseddirectory14:44
tpollardcoldtom: yeh, afaik it will use buildelements abstract method for it unless overridden14:44
tlater[m]juergbi: I think that already is a virtual directory?14:45
coldtomtpollard: even the internals seem to do all at once though :/14:45
juergbitlater[m]: not a casbaseddirectory, though, is it?14:45
juergbiotherwise you wouldn't trigger filebaseddirectory code14:46
tlater[m]Yeah14:46
tpollardcoldtom: ah wait, I read that as you wanting to stage them in a custom path, not multiple locations14:46
tlater[m]juergbi: I suppose we shouldn't be using bwrap sandboxing with this configuration...14:47
tlater[m]But that feels like taping over the problem14:47
tlater[m]Can we always use a CAS based directory?14:47
juergbiah, the integration commands are the issue14:48
juergbiwe actually need a sandbox, not just a directory14:48
juergbitlater[m]: _import_files_from_cas is all bst python code, though. it doesn't call into casd, does it?14:50
juergbiI'd still expect this to fail due to attempting to hardlink files owned by buildbox-casd, but that's not what you saw14:51
tlater[m]juergbi: Ah, no, that may be what I saw14:52
tlater[m]Depends on `actionfunc`14:52
juergbitlater[m]: yes, so to unblock you, I'd simply always set can_link to False in FileBasedDirectory.import_files for now()14:52
juergbiI can take a look later14:52
tlater[m]Fair enough14:53
juergbiI think it'll be a non-issue for buildbox-run, and long term that's the only thing that matters14:53
juergbiwe don't really need to support non-buildbox sandboxing with two uids14:53
juergbibut maybe it makes still sense to fix this up14:53
gitlab-br-botmarge-bot123 closed issue #1182 (Follow-up from "WIP: extend source api and remove private use from workspace plugin") on buildstream https://gitlab.com/BuildStream/buildstream/issues/118214:53
gitlab-br-botmarge-bot123 merged MR !1686 (traveltissues/1182->master: Remove `commit`ting sources inside `Source()._generate_key`) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/168614:53
*** jonathanmaw has quit IRC15:04
*** jonathanmaw has joined #buildstream15:06
*** lachlan has quit IRC15:25
*** lachlan has joined #buildstream15:40
benschubertvalentind: still same problem :/15:47
*** lachlan has quit IRC15:48
*** lachlan has joined #buildstream15:49
gitlab-br-botBenjaminSchubert closed issue #996 (Cache quota shouldn't be computed until we know we need to write to the cache) on buildstream https://gitlab.com/BuildStream/buildstream/issues/99615:50
*** santi has quit IRC15:50
tlater[m]juergbi: It looks like we're calling os.umask in a couple of places in the codebase15:54
tlater[m]As far as I've heard that's not thread-specific, but set for the entire process15:54
tlater[m]Surely this just means that we have wildly changing umasks as BuildStream changes between the user's and 022?15:55
juergbiyes, it's per process. we don't really have multiple threads, though (except for gRPC)15:56
juergbiis this used around the point where we create the cas directory that needs to be writable by casd?15:58
tlater[m]juergbi: I think it messes with workspaces16:01
tlater[m]Since workspaces will be staged 02216:01
tlater[m]Which results in us being unable to import them with correct permissions16:02
* tlater[m] changed changing that to 002, but the error didn't change, and neither did the permissions, so continues digging to figure out why workspaces end up with 02216:02
juergbitlater[m]: import into CAS only requires read access by casd16:02
juergbiso 022 should not be an issue16:03
tlater[m]It should, right?16:03
juergbishould not16:03
juergbi022 disallows write access by other users16:03
juergbibut casd won't write into workspace directory16:03
tlater[m]juergbi: https://hastebin.com/uyaruwagon.sql16:04
tlater[m]It should not be an issue, yeah16:04
tlater[m]But then I run into that16:04
juergbithis means it doesn't have read or search access16:04
juergbiunless we're somewhere using very strict umask 077, umask shouldn't be an issue with regards to reads16:05
tlater[m]Hm16:05
tlater[m]It certainly does have both read and search access16:05
tlater[m]The only difference I can see is that the permissions on those files are 755/644 instead of what they are otherwise16:06
juergbitlater[m]: have you checked the permissions of all parent directories?16:10
tlater[m]juergbi: Yes16:11
tlater[m]juergbi: Hm, going through with -a, there's a file called .bstproject.yaml in there which isn't g+r16:14
tlater[m]Maybe the error message isn't detailed enough?16:14
juergbiah, that might be it16:14
juergbiyes, we should really pinpoint the problematic directory/file16:14
tpollardI'd forgotten about that file16:15
* tlater[m] doesn't even remember what it does16:16
tlater[m]Seems to tell us what project a workspace belongs to or somesuch?16:17
tlater[m]I wonder why this has such tight permissions...16:17
tpollardtlater[m]: yes, and for supporting multiple projects opening the same workspace, but I'm not sure if that ever landed16:20
cs-shadowtlater[m]: that also allows us to run `bst` commands from the workspace directory16:21
tlater[m]Ah, right!16:22
tlater[m]cs-shadow: Do you have any idea why its permissions are 600 though?16:22
* tlater[m] can't find a chmod on it, nor think of a security concern16:22
cs-shadowi don't think it needs to be 60016:23
cs-shadowopening a workspace now, I can confirm that it definitely is currently 600 when using BuildStream master16:24
tlater[m]Ta, at least it's nothing strange with my environment16:25
tpollardis it the yaml dumper that's writing it as 600?16:26
juergbitlater[m]: save_file_atomic uses mkstemp16:26
juergbiand then rename16:26
tlater[m]Hm, I suppose I wouldn't have noticed yet16:26
tlater[m]Oh, that'd do it16:26
tlater[m]Well, I suppose it's easy enough to chmod it after it's written, then, since we don't need to change the permissoin elsewhere16:27
tlater[m]Ta juergbi/tpollard/cs-shadow :)16:27
juergbibenschubert: #1175 is a race condition between buildstream sending SIGTERM and buildbox-casd setting a hanlder for SIGTERM, right?16:34
gitlab-br-botIssue #1175: buildobx-casd doesn't exit cleanly after some BuildStream errors https://gitlab.com/BuildStream/buildstream/issues/117516:34
benschubertjuergbi: It would be curious since we wait for capabilities no? But yes that could be16:35
juergbionly if we actually communicate with casd16:35
benschubertoh good point16:35
juergbiwe could simply ignore -15, consider this as exit without error16:35
benschubertI'm not 100% confident about that :/ but we could16:36
benschubertotherwie not start casd in that case?16:36
benschubertBecause if we're not going to access it, why are we starting it?16:36
juergbiwell, it's nice to start casd early so it can already initialize in the background16:36
juergbie.g., while buildstream loads .bst files16:36
benschubertgood point16:36
benschubertbut that's becasue we know we might use it16:37
benschubertfor 'init' there is literally no way we would use it :)16:37
tpollardhmm16:37
juergbiyes but except for some error cases we actually need it almost always nowadays, afaict16:37
benschubertOtherwise would it be possible to add the handler in casd more often?16:37
juergbiyes, for init, true16:37
benschubert- more often + earlier16:37
juergbihttps://gitlab.com/BuildGrid/buildbox/buildbox-casd/blob/master/buildboxcasd/buildboxcasd.m.cpp#L14516:38
juergbican't get much earlier16:38
juergbiit might be possible to fix the race condition by blocking the signal in bst16:39
benschubertbut then how do we even manage that in python? starting casd would not be that quick16:39
juergbinot sure, system is busy or dynamic loader takes a while?16:40
benschubertI'll investigate and ensure that this is the case. If that is, I'll just ignore -15. Otherwise well, we'll see16:40
tpollardwe could definitely start the process sooner in bst I think16:41
benschubertthat's not an absolute fix :(16:43
tpollardin the initialised context manager, depending on what bst is going to be doing16:43
juergbiI think we start it fairly early already16:44
juergbithe main delay is loading all .py files / import handling, iirc16:44
tlater[m]Apparently bzr makes its entire version control directory 700 :(16:51
* tlater[m] blanket skips bzr tests for now16:51
*** santi has joined #buildstream16:57
*** traveltissues has quit IRC17:06
*** phildawson_ has joined #buildstream17:10
*** phil has quit IRC17:11
*** narispo has quit IRC17:18
valentindbenschubert, connection refused? Could tell me the IP it resolved to for you?17:23
*** narispo has joined #buildstream17:29
*** tiagogomes has quit IRC17:30
*** juanalday has quit IRC17:35
*** santi has quit IRC17:58
*** jonathanmaw has quit IRC18:03
benschubertvalentind: sorry, meeting. I get 142.93.136.121:1100118:08
benschubert(11001 is the port)18:09
valentindbenschubert, that should be right.18:17
valentindNothing weird in the journal.18:18
benschubertvalentind: mmh might be a proxy issue I'll look at home :(18:19
valentindAh right.18:19
valentindThat sounds like it.18:19
valentindBecause it is a bit special protocol on top of https.18:19
valentindI see actually 3 errors with openssl.18:20
valentindAh no that was me.18:20
*** phildawson_ has quit IRC18:21
*** lachlan has quit IRC18:24
*** bochecha has quit IRC21:34
*** bochecha has joined #buildstream21:35
*** rdale has quit IRC23:16
*** bochecha has quit IRC23:36
*** bochecha has joined #buildstream23:36

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