IRC logs for #buildstream for Monday, 2019-11-11

*** testy has quit IRC03:52
*** toscalix has joined #buildstream08:09
gitlab-br-botcoldtom approved MR !1698 (jjardon/powerpc64le->master: buildstream/_platform/platform.py: Add ppc64el, powerpc64 and powerpc64le) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169808:43
*** traveltissues has joined #buildstream09:06
*** tpollard has joined #buildstream09:12
*** benschubert has joined #buildstream09:14
*** rdale has joined #buildstream09:18
gitlab-br-botcoldtom approved MR !1697 (chandan/no-command-general-elements->master: Indicate that compose & stack plugins do not run commands) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169709:23
gitlab-br-bottraveltissues approved MR !1694 (coldtom/allow-dev-shm->master: _sandboxbwrap.py: Create /dev/shm in the sandbox) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169409:30
gitlab-br-bottpollard approved MR !1697 (chandan/no-command-general-elements->master: Indicate that compose & stack plugins do not run commands) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169709:34
*** santi has joined #buildstream09:38
gitlab-br-botBenjaminSchubert opened (was WIP) MR !1691 (bschubert/fix-children-termination->master: scheduler.py: Prevent the asyncio loop from leaking into subprocesses) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169109:47
*** tiagogomes has joined #buildstream09:50
*** tiagogomes has quit IRC09:53
*** tiagogomes has joined #buildstream09:57
gitlab-br-bottraveltissues approved MR !1696 (bschubert/expand-path-configs->master: _remote.py: Expand user in certificates paths) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169609:57
benschuberttraveltissues: do you believe tests for the expansion should be duplicated for source caches and RE ? It's the same code path AFAIK09:58
traveltissuesit looks like a sufficient test benschubert10:00
benschubertawesome, to marge then, thanks!10:00
coldtomhi, i'm experiencing a bug where every invocation of bst fails with "Timed out waiting for buildbox-casd to become ready", anyone got any ideas on how to debug?10:01
benschubertcoldtom: latest master? Which version of buildbox-casd?10:02
benschubert(i.e. when did you update buildbox-casd)10:02
coldtomi just installed buildbox-casd, i think the issue was specifying a remote cache (as removing the conf just made things work)10:03
coldtomas in, latest master of buildbox-casd10:04
benschubertthat's weird10:04
traveltissuesbenschubert, would you mind having another look at !168910:04
gitlab-br-botMR !1689: skip tracking elements without trackable sources https://gitlab.com/BuildStream/buildstream/merge_requests/168910:04
benschubertanything in ~/.cache/buildstream/cas/logs/ ?10:04
benschuberttraveltissues: sure10:04
traveltissuesty10:05
benschuberttraveltissues: are the benchmark up to date/worth redoing?10:05
traveltissuesthey're up to date10:05
benschubertawesome10:06
juergbibenschubert: hm, _ForkableUnixSelectorEventLoop also accesses private members and even _loop_factory is not public10:09
juergbithe existing close() method is not good enough?10:10
juergbiI guess it fails the 'is not running' test10:11
benschubertjuergbi: calling the existing close method will actually unregister the fd, which will cause the parent's ioloop to break.10:12
benschubertAnd it also break the 'is not running' yep10:12
juergbibenschubert: unregister the fd in what way?10:12
benschubertjuergbi: also, in the bug tracker they are speaking about forbidding 'fork' when an ioloop is present completely, so we have a bigger problem here potentially :)10:13
benschuberthttps://github.com/python/cpython/blob/master/Lib/asyncio/selector_events.py#L94 if that is called in the child, the parent ioloop dies10:13
benschubertbecause of https://github.com/python/cpython/blob/master/Lib/asyncio/selector_events.py#L27610:14
benschuberthttps://github.com/python/cpython/blob/master/Lib/selectors.py#L308 I *think* is the culprit on that10:15
juergbiah, and you work around that by replacing _selector10:15
benschubertcorrect10:15
juergbihave to think about it for a bit10:15
benschubertSure, please do, I don't want us to rush on this MR given what it touches :'D10:16
juergbibenschubert: I'm wondering whether it might be more robust to avoid accessing these internals and rather call set_event_loop_policy() on fork, creating a new event loop policy instance10:21
juergbiin addition to set_wakeup_fd(-1) and probably resetting signal handlers10:21
benschubertI'm unclear around `set_wakeup_fd(-1)`, does it break all the signals handling or does it just create a new file and all previous handlers become moot, do you know?10:23
juergbiit stops Python from writing the signal number to that fd10:23
juergbithis is independent of other signal handler settings10:23
juergbiexcept that it only works if the signal handler is not set to SIG_DFL10:24
juergbi(asyncio installs a dummy handler for this purpose)10:24
juergbiand if the child process were to create its own async loop, that should just work (it will set its own, new fd)10:25
benschubertWe could probably do:10:25
benschubert```10:25
benschubert# First reset all signals (moved from ChildJob to this part for that purpose)10:25
benschubertset_wakeup_fd(-1)10:25
benschubertold_policy = asyncio.get_event_loop_policy()10:25
benschubertnew_policy = type(old_policy)()10:25
benschubertasyncio.set_event_loop_policy(new_policy)10:25
benschubertdel old_policy10:25
benschubert```10:25
benschubertWould that be fine for you?10:25
*** jonathanmaw has joined #buildstream10:26
benschubertmight indeed be more robust10:26
juergbiyes, I think I'd prefer that to accessing internals10:27
juergbibenschubert: but we could probably just use DefaultEventLoopPolicy() instead of the type() thing, right?10:27
juergbiand we may also want to reset signal handlers. it might not be necessary but would probably be cleaner10:27
benschubertwell, if the parent has set a policy, might be worth keeping it? But yes we could10:28
juergbiI'm also fine with type() if you prefer10:28
juergbiI hope that `del` (implicit or explicit) doesn't trigger any problematic code10:28
benschubertwe'll see, worst case we can not del it10:28
juergbiif it does, it could make sense to explicitly keep that object (tree) around10:29
juergbias we essentially just don't want it doing anything, but it's not like it would even free memory (used by parent)10:29
benschubertthe memory would not be shared with the parent anymore10:29
benschubertPython uses ref-counting10:29
benschubertso first pass of the gc triggers a copy of all your program's pages :(10:30
*** lachlan has joined #buildstream10:30
juergbiah, right10:31
*** cs-shadow has joined #buildstream10:33
gitlab-br-botmarge-bot123 closed issue #741 (Artifact cache configuration should have certs and keys expanded) on buildstream https://gitlab.com/BuildStream/buildstream/issues/74110:35
gitlab-br-botmarge-bot123 merged MR !1696 (bschubert/expand-path-configs->master: _remote.py: Expand user in certificates paths) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169610:35
*** lachlan has quit IRC10:40
*** lachlan has joined #buildstream10:48
*** lachlan has quit IRC11:04
*** lachlan has joined #buildstream11:06
*** lachlan has quit IRC11:09
*** lachlan has joined #buildstream11:13
*** lachlan_ has joined #buildstream11:20
*** lachlan has quit IRC11:23
*** lachlan_ has quit IRC11:23
*** lachlan has joined #buildstream11:30
benschubertjuergbi: I believe we can actually do even cleaner:11:30
benschubert```11:30
benschubert    def run(self):11:30
benschubert        signal.set_wakeup_fd(-1)11:30
benschubert        old_child_watcher = get_child_watcher()11:30
benschubert        set_child_watcher(None)11:30
benschubert        del old_child_watcher11:30
benschubert        old_event_loop = get_event_loop()11:30
benschubert        set_event_loop(None)11:30
benschubert        del old_event_loop11:30
benschubert        super().run()11:31
*** lachlan_ has joined #buildstream11:31
benschubert```11:31
benschubertWhat do you think?11:31
juergbibenschubert: wouldn't this create an event loop if there is none yet?11:32
juergbi(and then immediately destroy it again)11:32
benschubertgah, that's correct,s ame for the child watcher11:33
benschubertit woul din practice never be the case, but fair point11:33
benschubertlet's do the thing with the policy, it does work11:33
benschubertjuergbi: then let's go for:11:34
benschubert```11:34
benschubert    def run(self):11:34
benschubert        signal.set_wakeup_fd(-1)11:34
benschubert        set_event_loop_policy(None)11:34
benschubert        super().run()11:34
benschubert```11:34
benschubert? That does seem to work11:34
juergbilgtm11:35
gitlab-br-bottraveltissues opened issue #1199 (Follow-up from "skip tracking elements without trackable sources") on buildstream https://gitlab.com/BuildStream/buildstream/issues/119912:05
traveltissuesany further comments on !1689?12:08
gitlab-br-botMR !1689: skip tracking elements without trackable sources https://gitlab.com/BuildStream/buildstream/merge_requests/168912:08
benschuberttraveltissues: I still don't like the 'is not True' :)12:09
traveltissuesbenschubert, i changed that line12:09
traveltissues`if not self.__tracking_scheduled`12:10
benschubertwut? I'm not seeing this on gitlab, let me double check12:10
traveltissuesme neither12:10
traveltissuesstrange12:10
traveltissuesoops, one second12:11
benschubertgood I'm not crazy :D12:11
tlater[m]You might both be12:11
benschuberttlater[m]: Don't ruin my hopes 😢12:12
tlater[m];p12:12
traveltissuesthanks benschubert i've added those12:19
cs-shadowmarge tells me she's broken on the inside - https://gitlab.com/BuildStream/buildstream/merge_requests/1697#note_242801039. Anyone able to take a look please? :)12:38
tlater[m]tpollard should make his GitLab bio "Bot psychotherapist" or something.12:39
tpollard:(12:44
* cs-shadow proposes "bot whisperer"13:15
* tpollard rolls https://siliconvalleyjobtitlegenerator.tumblr.com/13:16
*** santi has quit IRC13:45
gitlab-br-botBenjaminSchubert approved MR !1689 (traveltissues/1186-3->master: skip tracking elements without trackable sources) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/168913:50
*** santi has joined #buildstream13:59
coldtomcould someone merge !1694 please? if nobody has any objections of course14:08
gitlab-br-botMR !1694: _sandboxbwrap.py: Create /dev/shm in the sandbox https://gitlab.com/BuildStream/buildstream/merge_requests/169414:08
gitlab-br-botmarge-bot123 closed issue #1186 (Sources advertising no prestage key and not needing previous sources should skip tracking) on buildstream https://gitlab.com/BuildStream/buildstream/issues/118614:17
gitlab-br-botmarge-bot123 merged MR !1689 (traveltissues/1186-3->master: skip tracking elements without trackable sources) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/168914:17
* coldtom just remembered marge exists14:35
coldtomtwo approvals is good to merge right?14:35
tlater[m]coldtom: Approvals aren't even necessary anymore, unless your branch is very controversial I'd just go ahead.14:36
traveltissuespersonally i treat approvals as necessary on my MRs14:40
tlater[m]traveltissues: So do I, but the policy of "at least two approvals by core members" isn't in place anymore.14:40
traveltissuesik, but at least one is good14:41
tlater[m]Also, GitLab likes removing approvals if you modify anything.14:41
traveltissuesthat's sensible to do14:41
coldtoms/modify/rebase and push/14:41
coldtombut yes, still sensible14:41
tlater[m]Absolutely, but I don't think prodding two people to re-approve makes sense in the rebase and push case ;)14:42
traveltissueswell that wasn't the question but yes14:42
gitlab-br-botBenjaminSchubert closed issue #1144 (bst shell -b ${ELEMENT} throws assertion when source not present) on buildstream https://gitlab.com/BuildStream/buildstream/issues/114414:53
gitlab-br-botmarge-bot123 closed issue #1197 (/dev/shm not available in sandbox (bwrap)) on buildstream https://gitlab.com/BuildStream/buildstream/issues/119715:15
gitlab-br-botmarge-bot123 merged MR !1694 (coldtom/allow-dev-shm->master: _sandboxbwrap.py: Create /dev/shm in the sandbox) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169415:15
gitlab-br-botjuergbi opened MR !1699 (juerg/sandbox-reapi->master: Add SandboxREAPI class) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169915:53
*** lachlan_ has quit IRC15:54
*** lachlan has quit IRC15:54
*** lachlan has joined #buildstream16:05
*** lachlan_ has joined #buildstream16:06
tpollardbenschubert: hi! did you see my comment re running the subprocess branch on WSL with the profile set?16:06
benschuberttpollard: it slipped through the cracks, do you have a link?16:06
tpollardyep, one mo16:07
gitlab-br-botcs-shadow opened MR !1700 (chandan/refactor-default-target->master: tests/frontend: Refactor tests for default targets) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/170016:07
*** phildawson has quit IRC16:07
*** ikerperez has quit IRC16:07
*** qinusty has quit IRC16:07
*** adds68 has quit IRC16:07
tpollardbenschubert: https://gitlab.com/BuildStream/buildstream/merge_requests/1613#note_24186085416:07
benschubertI'll have a look thanks16:07
*** qinusty has joined #buildstream16:07
tpollardbenschubert: cheers!16:19
juergbitlater[m]: have you seen casd segfaults in your tests (i.e., casd died with exit code -11)?16:21
tlater[m]juergbi: Yes16:22
tlater[m]Caused by many a thing, usually permission issues16:23
tlater[m]Oh, wait, segfaults?16:23
* tlater[m] has only really seen grpc refusals16:23
juergbiyes, I wouldn't expect segfaults due to permission issues16:23
juergbiok, will try to reproduce it locally and investigate16:24
* tlater[m] is currently trying to figure out why the integration tests' base element's source ends up empty16:25
*** ikerperez has joined #buildstream16:30
*** lachlan_ has quit IRC16:36
*** lachlan has quit IRC16:36
*** lachlan_ has joined #buildstream16:38
*** lachlan has joined #buildstream16:38
gitlab-br-botBenjaminSchubert approved MR !1699 (juerg/sandbox-reapi->master: Add SandboxREAPI class) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169916:39
*** lachlan has quit IRC16:40
*** lachlan_ has quit IRC16:40
*** lachlan has joined #buildstream16:40
*** santi has quit IRC16:43
*** lachlan has quit IRC16:43
*** lachlan has joined #buildstream16:47
*** phil has joined #buildstream17:08
*** phildawson_ has quit IRC17:09
*** santi has joined #buildstream17:11
*** traveltissues has quit IRC17:25
*** toscalix has quit IRC17:33
gitlab-br-botBenjaminSchubert opened MR !1701 (bschubert/backport-1690->bst-1: app.py: Also catch SystemError with click.Abort) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/170117:49
gitlab-br-botmarge-bot123 merged MR !1697 (chandan/no-command-general-elements->master: Indicate that compose & stack plugins do not run commands) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169717:56
*** santi has quit IRC18:09
*** lachlan has quit IRC18:21
*** lachlan has joined #buildstream18:22
*** jonathanmaw has quit IRC18:29
*** lachlan has quit IRC18:31
*** lachlan has joined #buildstream18:34
gitlab-br-botmarge-bot123 merged MR !1691 (bschubert/fix-children-termination->master: scheduler.py: Prevent the asyncio loop from leaking into subprocesses) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169118:36
*** lachlan has quit IRC18:39
*** tiagogomes has quit IRC18:46
gitlab-br-botBenjaminSchubert opened (was WIP) MR !1692 (bschubert/graceful-children-sigterm->master: Gracefully shutdown children on termination) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169218:48
*** lachlan has joined #buildstream18:53
benschuberthttps://gitlab.com/BuildStream/buildstream/merge_requests/1692 is ready for a final review :)18:54
gitlab-br-botcs-shadow opened MR !1702 (chandan/fix-implicit-string-concat->master: tests/frontend/completions: Fix implicit string concatenation) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/170218:54
gitlab-br-botmarge-bot123 merged MR !1699 (juerg/sandbox-reapi->master: Add SandboxREAPI class) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/169919:04
*** narispo has joined #buildstream20:16
*** lachlan has quit IRC20:24
*** lachlan has joined #buildstream20:32
*** lachlan has quit IRC20:48
*** lachlan has joined #buildstream20:57
*** lachlan has quit IRC21:00
*** lachlan has joined #buildstream21:10
*** lachlan has quit IRC21:11
*** narispo has quit IRC22:23
*** narispo has joined #buildstream22:23
*** cs-shadow has quit IRC22:23
gitlab-br-botcs-shadow opened issue #1200 (`bst init` does not respect `--no-colors`) on buildstream https://gitlab.com/BuildStream/buildstream/issues/120022:51
gitlab-br-botcs-shadow opened MR !1704 (chandan/fix-no-color->master: _frontend: Simplify color handling) on buildstream https://gitlab.com/BuildStream/buildstream/merge_requests/170423:26

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