IRC logs for #buildstream for Sunday, 2022-12-11

nanonymejuergbi: we have more or less completely moved to Matrix these days, that is. So we're now integrating buildbox updates. It seems clear integration commands are notoriously problematic in other builds as well12:54
nanonymeI'm looking at https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/jobs/3455663477: it say integrating sandbox took 50 minutes while actual build took less than a minute12:55
nanonymeI find it a bit odd though that integration commands are not emitted when it's stating it's integrating sandbox.... maybe there's something else than the actual integration commands happening here that is super-heavy12:56
nanonymeIt looks like just running integration commands.... https://github.com/apache/buildstream/blob/416bdd04a03d55e387d2d777cc115a295003daa2/src/buildstream/buildelement.py#L306-L30812:58
nanonymejuergbi: I'm also getting pretty sure based on code that integration batching does *not* combine multiple element commands. Instead, it combines multiple lines in *same* element into one group. So it is essentially useless because we typically only have one command13:06
nanonymeWell, that is definitely something to optimize then13:07
nanonymeI think it's for some silliness like printing labels between command groups13:32
nanonymeI am now experimenting with https://github.com/apache/buildstream/pull/1799 so avoid nested groups and just append commands to immediate group where possible14:03
nanonymeBuildStream should handle the rest in batching all commands into single invocation if there is only one group14:03
nanonymeThat is, single sandbox run invocation14:04
juergbinanonyme: that's really odd. integrating the sdl2-net.bst sandbox takes 37min in CI. here it takes 1 second, via bst shell --build components/sdl2-net.bst14:49
juergbiit could make sense without the FUSE capture optimization but that's in buildbox-casd 0.0.61, which is in docker images14:50
juergbiI see two integration commands batched but they're both from glib.bst, no other integration commands are being run. so can't confirm the batching working as expected with this15:00
juergbihowever, something seems very wrong in the CI setup15:01
nanonymejuergbi: can I confirm somehow if buildbox-fuse is actually used?15:15
*** abderrahim[m] <abderrahim[m]!abderrahim@2001:470:1af1:104:0:0:0:3558> has joined #buildstream15:16
abderrahim[m]you can probably find out by looking at the buildbox-casd logs15:16
juergbiyes, in logs/_casd/.. there should be a line15:16
juergbiUsing `FuseStager` as staging backend15:16
nanonyme2022-12-11T13:32:18.085+0000 [164:281473435983936] [buildboxcasd_server.cpp:73] [INFO] Using FuseStager as staging backend15:17
nanonymeIndeed, it is using that15:17
nanonymejuergbi@abderrahim:gnome.org if you can think of any other things to check for, please do. I can't think of any further obvious thing15:35
nanonymejuergbi: something we're now doing special is usage of storage service15:49
nanonymejuergbi: does FUSE capture optimization have any requirements?16:38
nanonymejuergbi: to be honest, I suspect BuildElement should also expose no-integrate16:42
nanonymeSo you could avoid it when you know it's not relevant16:42
nanonyme(it would pass through though so anyone depending on such element would get all integration commands)16:43
nanonymeI am concerned if there is issue with the container itself. Worst-case obviously would be nested FUSE17:09
nanonymePodman should be running as root so assumably it it using proper overlay kernel filesystem18:50

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!