IRC logs for #buildstream for Wednesday, 2020-05-20

*** Ariana9796 has joined #buildstream00:07
*** Ariana9796 has quit IRC00:09
*** Ariana9733 has joined #buildstream00:57
*** Ariana9733 has quit IRC00:59
*** Madeline5957 has joined #buildstream01:13
*** Madeline5957 has quit IRC01:15
*** Willow3043 has joined #buildstream01:18
*** Willow3043 has quit IRC01:20
*** Camila6711 has joined #buildstream01:46
*** Camila6711 has quit IRC01:47
*** rafaelff1[m] has left #buildstream02:45
*** Savannah5352 has joined #buildstream04:21
*** Savannah5352 has quit IRC04:23
*** Layla8024 has joined #buildstream04:47
*** Layla8024 has quit IRC04:48
*** tristan has quit IRC05:43
*** Eliana5892 has joined #buildstream05:44
*** Eliana5892 has quit IRC05:46
*** tristan has joined #buildstream05:50
*** mohan43u has joined #buildstream06:11
*** aminbegood has joined #buildstream06:36
*** aminbegood has quit IRC06:46
*** Elena5008 has joined #buildstream07:09
*** Elena5008 has quit IRC07:11
*** benschubert has joined #buildstream07:20
*** mohan43u_ has joined #buildstream07:31
*** mohan43u has quit IRC07:31
*** mohan43u_ has quit IRC07:33
*** mohan43u has joined #buildstream07:34
*** Madeline3736 has joined #buildstream07:36
*** Madeline3736 has quit IRC07:38
*** jude has joined #buildstream07:43
WSalmonphiln, i presume you have seen the cargo plugin? https://gitlab.com/BuildStream/bst-external/-/blob/master/bst_external/sources/cargo.py07:51
philnWSalmon: yep!07:57
WSalmonphiln, cargo is nice as the lock file give you all the deps including the transitive ones, i dont know easy it would be to ask gem for similar info07:59
*** ChanServ sets mode: +o tristan08:02
tristanI'm confused about these two lines:08:02
tristanhttps://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/_pluginfactory/pluginfactory.py#L18408:02
tristanhttps://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/_scheduler/jobs/jobpickler.py#L14408:02
tristanAhhh right08:03
tristanIt's a dictionary of tuples08:03
* tristan was hoping to reconcile this `all_loaded_plugins` with the manually kept list `loaded_dependencies` of the plugin factory, which appears to have been added so that the frontend can print this list of loaded plugins08:08
tristanhowever, I can see that this reporting isn't very accurate; it only reports the loaded plugins for one project, I wonder how relevant that is08:08
*** Melanie5773 has joined #buildstream08:16
*** Melanie5773 has quit IRC08:18
*** tpollard has joined #buildstream08:31
*** Natalie7256 has joined #buildstream08:40
*** Natalie7256 has quit IRC08:42
*** santi has joined #buildstream08:50
*** mohan43u has quit IRC09:23
*** mohan43u has joined #buildstream09:24
*** tpreston has joined #buildstream09:34
tprestonwhat's the difference between a stack and a compose element?09:34
tprestonStack elements are simply a symbolic element used for representing a logical group of elements.09:37
tprestoncompose: This element creates a selective composition of its dependencies.09:37
tprestonThat sounds like the same thing to me09:37
valentindtpreston, stack has an empty artifact and runtime dependencies.09:37
valentindcompose has all files in artifact and no runtime dependencies.09:38
tprestonSo if you `bst build stack.bst` you will get nothing?09:39
valentindIt will be very quick.09:39
valentindIf you do "bst checkout stack.bst --no-deps stack/" then you get no file.09:40
valentinda stack is more like a bunch of dependencies put together.09:40
tprestonok thanks09:47
*** lachlan has joined #buildstream09:48
*** lachlan has quit IRC09:58
*** Chloe7000 has joined #buildstream10:00
*** phildawson has quit IRC10:01
*** Chloe7000 has quit IRC10:02
*** tristan has quit IRC10:35
*** seanborg has joined #buildstream10:39
*** lachlan has joined #buildstream10:47
*** lachlan has quit IRC10:53
scottclarkehas anyone seen the error mentioned in point 2 of this issue before? https://gitlab.com/celduin/infrastructure/celduin-infra/-/issues/17311:14
*** tristan has joined #buildstream11:16
*** gitlab-br-bot has joined #buildstream11:21
*** narispo has quit IRC11:29
*** narispo has joined #buildstream11:29
*** ChanServ sets mode: +o tristan11:37
tristanbenschubert, are you familiar with the PluginSource and pip loading code, around here: https://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/_pluginfactory/pluginfactory.py#L198 ?11:37
tristanIn my refactor, I have it setup such that we create one PluginSource for each plugin instead of doing it twice for the plugin package (once for sources and once for elements)11:38
tristanAnd I specifically wonder if that would be a concern11:38
tristanThe practical tradeoff is that, that whole code block currently runs only once; but that code block *requires* the specific plugin "kind"11:39
tristanIf we run it each time, then we get better and more consistent error reporting if a plugin fails to be loaded from pip11:40
tristanThis error: https://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/_pluginfactory/pluginfactory.py#L23111:40
*** mohan43u_ has joined #buildstream11:40
*** mohan43u has quit IRC11:40
tristanAs it stands, if a plugin was already successfully loaded from the same pip origin, we would instead get: https://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/_pluginfactory/pluginfactory.py#L30311:41
tristanAlso, I'm not entirely sure I trust how we're using setuptools here, we currently assume at this line: https://gitlab.com/BuildStream/buildstream/-/blob/master/src/buildstream/_pluginfactory/pluginfactory.py#L243 that setuptools might "extract" a file on demand11:42
tristanWe make the assumption that extracting one defaults file will cause adjacent defaults files for other plugins as a result, which is not very cool11:42
tristanBut, we end up needing to talk to pkg_resources more often, maybe I can pin it to a module level variable and ensure that pkg_resources doesn't even go out of scope after being imported the first time11:43
* tristan thinks that importing pkg_resources is the highest risk of performance impact here11:44
*** mohan43u has joined #buildstream11:47
*** mohan43u_ has quit IRC11:48
*** mohan43u has quit IRC11:53
*** mohan43u_ has joined #buildstream11:53
*** aminbegood has joined #buildstream12:02
benschuberttristan: I'm not super familiar with that part of the code no12:03
benschuberthowever, are we running this code path once for every plugin or once per element? If for every plugin, I would assume the `pkg_resource` call should be fine12:03
tristanbenschubert, once per plugin type12:04
benschuberttristan: that should be fine then I'd expect12:04
tristanonce we load the type we're good to go, more elements doesnt cause it to get called more often12:04
benschubertI'm  happy to benchmark if you have a branch12:04
benschubertbut I expect it should be fine and better error reporting in that area is definitely a big plus12:05
tristanit's `tristan/junction-plugin-origin`, but I'm not 100% sure it's passing all the gates yet12:05
benschubertok let me know if you need benchmarking of it and when :)12:06
tristanah yes it is now passing the gates, I'll let you know, maybe better wait a bit12:06
tristanlets wait until adding the final actual junctions thing in12:06
* tristan doesnt want to waste any ben cycles12:06
benschuberthaha, sure thanks!12:07
tristanfwiw, I've moved all the pip/local stuff from pluginfactory to pluginorigin, and plan on splitting that up into separate files12:08
tristanso we should have one file with all the knowledge needed about loading plugins from pip12:08
tristan(and the others respectively)12:08
benschubertthat seems a good improvement12:09
*** seanborg has quit IRC12:34
*** seanborg has joined #buildstream12:38
*** seanborg has quit IRC12:39
gitlab-br-botscott.clarke opened issue #1315 (Crash due to AttributeError when using remote execution) on buildstream https://gitlab.com/BuildStream/buildstream/-/issues/131512:41
tristanoooo the bot came back :)12:42
*** mohan43u_ has quit IRC13:01
*** mohan43u has joined #buildstream13:01
*** aminbegood has quit IRC13:32
*** mohan43u_ has joined #buildstream14:21
*** mohan43u has quit IRC14:21
*** douglaswinship has joined #buildstream14:40
robjhare there any examples of the oci image in use? im only able to get it to make containers that dont work16:03
jjardonrobjh: fdsdk uses its own OCI images generated with builstream for its CI16:07
robjhjjardon, okay, thanks. found one16:08
*** jude has quit IRC16:26
*** misterwhatever has joined #buildstream17:04
*** misterwhatever has quit IRC17:05
*** traveltissues has quit IRC17:08
*** traveltissues has joined #buildstream17:08
*** mohan43u_ has quit IRC17:11
*** santi has quit IRC17:11
*** mohan43u has joined #buildstream17:12
*** santi has joined #buildstream17:13
*** santi has quit IRC17:14
*** xjuan has joined #buildstream17:20
*** cphang has quit IRC17:24
*** cphang has joined #buildstream17:25
tprestonIs it possible to see how large a bst element is? I'm trying to create a bootable image from a filesystem element, but I need to set my images size to larger than 4G17:37
tprestonSomething is too large and I want to find out what17:38
tpreston__populate_fs: Could not allocate block in ext2 filesystem while writing file "libvdpau_gallium.so.1.0.0.debug"17:39
tprestonHm, debug libs...17:39
tprestonWhy are they in there...17:39
*** tristan has quit IRC17:48
*** tristan has joined #buildstream17:48
*** toscalix has joined #buildstream18:09
robjhtpreston, you probably want config:\n  exclude: \n - devel18:20
tprestonyep, I deleted it because I didn't know what it meant!18:21
tprestonrobjh: in which element? Or all?18:21
robjhin the one defining the filesystem18:21
tprestonThanks18:22
tprestonconfig:18:22
tpreston  include:18:22
tpreston  - runtime18:22
tpreston  - locale18:22
tpreston  - vm-only18:22
tpreston  exclude:18:22
tpreston  - devel18:22
tprestonDo I need to specify includes?18:22
robjhi dont think you do. but im unsure18:23
robjhactually, yes18:23
tprestonHow do I know which domains to include18:26
tpollardis it that the devel split rule for mesa isn't covering the debug dir?18:28
tpollardhttps://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/blob/19.08/elements/extensions/mesa/mesa.bst#L4918:28
tpollardignore the line reference18:28
tprestontpollard: no I don't have any split rule in my filesystem https://gitlab.com/celduin/bsps/bst-boardsupport/-/blob/tpreston/rpi4-features/sample/rpi4-features/elements/deploy/filesystem.bst18:29
tprestonso it just pulls in everything18:29
tpollardthe elements define the split rules, then you can use filters/compose to exclude/include specific domains from the elements18:30
tpollardso you're pulling in everything that every element builds, afaict18:30
tprestonI think so18:31
tprestonSo how do I know which domains to put in "include"18:31
tpollarddepends on what you're trying to produce I guess18:37
tpollardprobably start with what you explicitly want to exclude18:38
tpollardall other split rules will default to be included18:38
*** tpollard has quit IRC18:54
*** benschubert has quit IRC19:38
*** narispo has quit IRC20:57
*** narispo has joined #buildstream20:57
*** xjuan has quit IRC21:24
*** tpreston has quit IRC21:27
*** narispo has quit IRC22:06
*** narispo has joined #buildstream22:07
*** mohan43u has quit IRC22:38
*** mohan43u_ has joined #buildstream22:38
*** toscalix has quit IRC22:52
*** toscalix has joined #buildstream22:54
gitlab-br-botpointswaves closed issue #1306 (Bad exit from log from RE) on buildstream https://gitlab.com/BuildStream/buildstream/-/issues/130622:55
gitlab-br-botpointswaves closed issue #1309 (Crash on remote failure try) on buildstream https://gitlab.com/BuildStream/buildstream/-/issues/130922:56
pointswavesIt can take a long time for jobs to start running on my remote workers, i presume there are lots of pushing and pulling to be done but i dont really think that should account for the 10-20min for some of the FD-SDK bootstrap elements to strat, the only feedback from bst is that the job is running, would people have  apitite have more infomation as a job progresses? i dont know how much the info the remote api gives tho23:05
*** aminbegood has joined #buildstream23:29
*** toscalix has quit IRC23:46

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