IRC logs for #buildstream for Monday, 2018-09-03

*** valentind has quit IRC01:27
*** tiagogomes has quit IRC01:27
*** jmac_ has quit IRC01:28
*** tiagogomes has joined #buildstream01:28
*** jennis has quit IRC01:28
*** tiagogomes_ has quit IRC01:28
*** qinusty has quit IRC01:28
*** aidenhjj has quit IRC01:28
*** adds68 has quit IRC01:28
*** coldtom has quit IRC01:28
*** tiagogomes_ has joined #buildstream01:29
*** jennis has joined #buildstream01:29
*** qinusty has joined #buildstream01:29
*** coldtom has joined #buildstream01:29
*** valentind has joined #buildstream01:29
*** adds68 has joined #buildstream01:29
*** aiden has joined #buildstream01:30
*** jmac has joined #buildstream01:30
*** leopi has joined #buildstream03:55
gitlab-br-botbuildstream: merge request (tristan/source-fetcher-changes-1.2->bst-1.2: Source fetcher changes 1.2) #773 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/77306:23
gitlab-br-botbuildstream: merge request (tristan/source-fetcher-changes->master: Source fetcher changes) #772 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/77206:23
*** tristan has joined #buildstream06:36
gitlab-br-botbuildstream: merge request (tristan/source-fetcher-changes-1.2->bst-1.2: Source fetcher changes 1.2) #773 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/77306:50
*** bochecha has joined #buildstream06:59
*** ChanServ sets mode: +o tristan07:00
gitlab-br-botbuildstream: merge request (tristan/update-docs->bst-1.2: Updating docs session files before the release) #774 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/77407:06
*** alatiera_ has joined #buildstream07:06
gitlab-br-botbuildstream: issue #623 ("Stack trace when running out of disk space") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/62307:13
gitlab-br-botbuildstream: merge request (tristan/update-docs->bst-1.2: Updating docs session files before the release) #774 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/77407:25
*** toscalix has joined #buildstream07:39
*** rdale has joined #buildstream07:46
*** tiagogomes has quit IRC07:50
*** tiagogomes has joined #buildstream07:53
*** tristan changes topic to "BuildStream 1.2.0 is out ! | https://gitlab.com/BuildStream/buildstream | Docs: https://buildstream.gitlab.io/buildstream | IRC logs: https://irclogs.baserock.org/buildstream | Roadmap: https://wiki.gnome.org/Projects/BuildStream/Roadmap"07:53
*** phildawson has joined #buildstream07:59
*** solid_black has joined #buildstream08:12
*** WSalmon has joined #buildstream08:21
*** tpollard has joined #buildstream08:32
*** jonathanmaw has joined #buildstream08:54
*** alatiera_ has quit IRC08:55
*** rdale has quit IRC08:56
*** rdale has joined #buildstream09:02
*** tiagogomes has quit IRC09:09
*** tiagogomes has joined #buildstream09:09
*** leopi has quit IRC09:20
*** lachlan has joined #buildstream09:27
gitlab-br-botbuildstream: merge request (tpollard/483->master: plugins/git.py: Warn if ref is not in given track) #564 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/56409:44
cs-shadow1.2 \o/09:46
cs-shadowtristan: shall we publish it to PyPI as well now?09:47
tristancs-shadow, Yes ! lets see how the PyPI badge looks after the 1.2.0 release09:56
cs-shadowcool, let me upload it now09:56
tristancs-shadow, I plan to release a 1.3.1 because 1.3.0 never had a tarball... so the 1.3.0 badge is broken... please do NOT upload that to PyPI :)09:57
cs-shadowsure thing09:57
*** lachlan has quit IRC09:57
tristan1.3.x tarballs will trickle out throughout the cycle, but we need to fix some important stuff in master before we can recommend testing the dev work to those who want to try the experimental stuff09:58
tristan(and as mentioned before, those dev snapshots will never be accessible through PyPI)09:58
cs-shadowwe can in theory release them to pypi as dev releases and users won't get them unless they specify --dev (or a similar option, can't remember its name). In any case, for the automation to happen, we need a way of differentiating stable releases vs developmental ones09:59
tlater[m]Hmm... What's the currently recommended buildstream docker image for simply running buildstream?10:03
tlater[m]Still buildstream-fedora?10:03
cs-shadowtlater[m]: yes, but that builds from master at the moment so we need to change that to use stable releases intead10:03
tlater[m]Thanks, master will do fine for me for the moment, but I agree10:04
cs-shadow(the name of the image will also change soon....)10:04
toscalixtiagogomes: , is it possible that, in he top banner, instead of having BuildStream, we have BuildStream, the software integration tool10:13
gitlab-br-botbuildstream: merge request (chandan/pypi-badge->master: README.rst: Add status badges for PyPI release and Python versions) #719 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/71910:14
*** lachlan has joined #buildstream10:14
tristantlater[m], Also, I have quota set to "20G" in my buildstream.conf... `du -hs ~/.cache/buildstream/artifacts/cas` says "23G", and I've not seen any cleanup jobs :-/10:14
tlater[m]tristan: Is that build still ongoing?10:15
tristanYes10:15
tlater[m]`du` computes a slightly different disk size iirc10:15
tiagogomesIt only checks the size after build is completed10:15
gitlab-br-botbuildstream: merge request (chandan/pypi-badge->master: README.rst: Add status badges for PyPI release and Python versions) #719 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/71910:16
tlater[m]So perhaps it will trigger soon10:16
tristancache_size.log files just say START: cache_size, SUCCESS: cache_size10:16
tristanperhaps10:16
cs-shadowtristan: 1.2 is on pypi now (https://pypi.org/project/BuildStream/1.2.0/) and the badge seems better now as well: https://gitlab.com/BuildStream/buildstream/merge_requests/71910:16
tlater[m]tiagogomes: It checks after each element is built, so I would expect it to trigger at some point sooner or later10:16
gitlab-br-botbuildstream: merge request (tpollard/483->master: plugins/git.py: Warn if ref is not in given track) #564 changed state ("merged"): https://gitlab.com/BuildStream/buildstream/merge_requests/56410:16
tlater[m]It can be a bit fuzzy10:16
tiagogomesNot very useful. https://gitlab.com/BuildStream/buildstream/merge_requests/671 adds some logging :)10:17
tristanOk here's a fun fact10:17
tristandu -s says 24053760 (is that KB ?) and ~/.cache/buildstream/artifacts/cache_size file (added by... jonathanmaw recently ?) says 16635262095, which is just over 16G10:18
tlater[m]Hm, if disk size jobs are being triggered that might be a bit problematic10:20
tlater[m]Because it would mean that our calculations are just wildly different from those `du` has10:20
tlater[m]I don't think they should be, though.10:21
tlater[m]jonathanmaw: From your proposals I gather that cache_size file should always be up-to-date with how large buildstream thinks it is, is that correct?10:22
jonathanmawtlater[m]: it should be, yes10:22
jonathanmawwell, ostensibly10:23
tristanjonathanmaw, tlater[m]; see the description text here: https://gitlab.com/BuildStream/buildstream/merge_requests/76210:23
tristanThat might help10:24
tristanAlso, I'm not sure if we're at least calculating it at startup time, or assuming that it is correct always if it's there10:24
tristanAlso, it can help to ensure that cache size jobs only ever run one at a time10:25
jonathanmawtristan: when I wrote it, it wouldn't calculate cache size at startup time, and would get reconciled when something caused the artifact cache to recalculate its size10:25
jonathanmaw(i.e. when the size gets close to the quota size)10:26
jonathanmawiiuc this shouldn't threaten actually running out of disk space, because the artifact cache checks whether the quota size would cause you to run out of disk space before it reaches the quota10:28
tlater[m]That is unless for some reason the file is really wrong and thinks we have a lot less than we do. But that can't realy happen unless the user mucks around and adds stuff to the cache through other means.10:31
tlater[m]tristan: Perhaps you jumped to a different version of buildstream at some point that didn't update the quota file?10:31
*** leopi has joined #buildstream10:36
*** jonathanmaw_ has joined #buildstream10:44
*** jonathanmaw has quit IRC10:45
tristantlater[m], jonathanmaw_ ok so; at this point the build has been running a bit more `du -hs` now says 26G (so 2 GB were actually added), and the cache size file still says 16635225166, so it's *still* floating at around 16.6 GB10:52
*** jonathanmaw_ is now known as jonathanmaw10:52
*** lachlan has quit IRC10:53
tlater[m]tristan: That's the same value as before, so it looks like the file isn't being updated10:53
tlater[m]tristan: Can you see any cache size jobs running?10:53
tristantlater[m], is it ? I thought before it was 1663526209510:53
tristanyeah, it was10:54
tristanso it certainly added something10:54
tristanIs it "adding the size of the newly added artifact" ? or is it "recalculating total size" ?10:54
tlater[m]That should be recalculating from scratch if memory serves10:54
tristanIf it is adding a size of a newly added artifact, then certainly the description about necessary locking in !762 above is relevant10:55
tristanRight, that is interesting that the size differs so much; I wonder if it's * 1000 vs * 102410:55
tlater[m]Hmm, that wouldn't change the number of bytes10:55
tristanOr, maaaaybe it's not counting directory nodes, which cost 4K each on disk ?10:56
tlater[m]I think that's more likely. I'll compare this on my end, just getting gnome build meta to track right now...10:56
tristantlater[m], yeah but maybe the number of bytes being so different from the `du -hs` output is a factor of 1024 issue ?10:56
*** lachlan has joined #buildstream10:57
tlater[m]tristan: I guess if du -s is in KB, that's possible10:57
tlater[m]tristan: Could you try `du -hbs`?11:00
tristantlater[m], 2467460438311:00
tristanoooh but now cache_size *jumped* to 2558834436811:00
tristanOk now I have something interesting11:01
tristanA cleanup job was triggered !11:01
tlater[m]Eum11:02
* tlater[m] needs to have a look at this cache_size file code11:02
tristantlater[m], this is what happened: https://gitlab.com/BuildStream/buildstream/issues/623#note_9847535011:04
*** leopi has quit IRC11:04
toscalixvalentind: created https://gitlab.com/BuildStream/website/issues/1611:04
toscalixplease add there your progress on the installation page11:04
*** leopi has joined #buildstream11:05
toscalixvalentind: I added there the move to the semantic versioning section11:07
tlater[m]tristan: Thanks, looks like we need to be careful to prune some orphaned stuff before we try and follow refs.11:08
tristantlater[m], seems there are two issues at work here11:10
tlater[m]Yep. The first issue is that we don't catch disk-overflowing exceptions. We should catch those and trigger a cleanup instantly11:10
tristantlater[m], I'm not sure how well that will play out honestly; sounds like it will be a complex fix11:11
tlater[m]The second is that if we fail to write certain files at some point, when we clean up later we'll try to access files that don't exist because we ran out of space.11:11
*** leopi has quit IRC11:11
tristantlater[m], i.e. we need those tasks to "Fail temporarily"... then launch a cleanup from the main process, and then *retry* the temporarily failed builds/pulls11:12
tlater[m]I think the latter issue is almost a bit more problematic, since this basically means the cache is corrupted.11:13
tristantlater[m], I think that for the second issue; a quick fix is totally possible, we could be more fault tolerant at prune time11:13
tristanAh, indeed, there is that11:13
tristana partially committed artifact should not be represented as an expected complete artifact11:13
tristanSo commit needs to be altogether much more robust, probably doing something in a temp directory and ending with a batch os.rename()11:14
*** leopi has joined #buildstream11:14
tlater[m]That would also make detecting a ran-out-of-space problem a lot easier...11:15
tiagogomestristan that can't be done. You need to place the files at a particular locations, and the location depends on the file hash11:16
tristanI'm a bit surprised if it doesnt already work in that way; it's better to ask juergbi how he intended commits to be atomic and safe11:16
tlater[m]tristan: On a slightly unrelated note, how do you get gnome build meta to build? I keep having issues when trying to track...11:16
tristantlater[m], what kind of issues ? I run `bst build --track-all core.bst` for instance11:16
tristanmissing tarballs or such ?11:17
tiagogomesSo you can't atomically commit an artifact. The only thing that could can do is after successfully placing all files, create the ref11:17
tlater[m]Git repositories that fail to clone11:17
tristantiagogomes, can't you do all of that such that the hashes are in a temp dir anyway ?11:17
tristantiagogomes, if I understand correctly anyway, the hashes of actual files are content hashes11:18
tristanthe path cannot be a part of that hash11:18
tiagogomesYou can do that, but then you will have to do multiple os.rename()11:18
juergbifiles are already written in temp dir and only moved when complete11:18
juergbiit's not artifact-atomic, but per-object atomic11:19
tristanright, I kind of expected juergbi thought about this :)11:19
juergbiand artifact ref should be written last11:19
tlater[m]juergbi: any idea how this could happen then? https://gitlab.com/BuildStream/buildstream/issues/623#note_9847535011:19
tristantlater[m], probably there is another explanation for https://gitlab.com/BuildStream/buildstream/issues/623#note_9847535011:19
tristanbeat me to it :)11:19
juergbithe whole expiry procedure is known to not be safe with regards to other operations11:21
juergbithe same logic as in OSTree was used with the intention of fixing this later11:21
juergbii.e., concurrent prune and commit can result in partial artifacts11:21
juergbiwhich we should really fix asap11:22
tlater[m]When that happens no other operations should be in progress... I'm a bit suspicious of that `pull` log though.11:22
juergbiwell, at the point of the stack trace, the ref is already dangling11:23
juergbiso the issue must have happened earlier11:23
juergbisystem crash could also result in such issues but probably not the cause here11:24
tiagogomescommit and pull can run in parallel with the artifact cleaning, as the build and job and pull job don't require the CACHE resource to be available11:24
tlater[m]We didn't have a cleanup since the crash, I think.11:25
tristanjuergbi, the crash in the referred issue occurred yesterday in the same cache... this cleanup job was the first one to run since then11:33
tristanSo, it *could* be the cause here ?11:33
tristanthose were crashes related to out of space conditions11:34
tristan<tiagogomes> commit and pull can run in parallel with the artifact cleaning, as the build and job and pull job don't require the CACHE resource to be available11:36
tristantiagogomes, (tlater ^^^) That is supposed to be entirely false11:36
tristanThat was the whole point of resources.py11:36
tristanHOWEVER... seeing as I am seeing 8 pull tasks getting terminated in response to the BUG raised in the cleanup job11:37
tristanit MUST be wrong11:37
tristanCan we fix that first ?11:37
toscalixtiagogomes: can you have a look at the https://gitlab.com/BuildStream/website/merge_requests/2211:37
tristantlater[m], looking at the log, clearly we have pull running concurrently with cleanup11:39
juergbitristan: creating the ref is done as last part of commit, so I don't see how we can have incomplete artifact because of that11:39
toscalixand https://gitlab.com/BuildStream/website/merge_requests/21 I would need a review, please11:39
tristanjuergbi, I was referring to your statement "system crash could also result in such issues but probably not the cause here" but wasn't sure why... but yeah I agree with you11:40
tiagogomesYou can't simply add ResourceType.CACHE to resources of the build and pull jobs, as the maximum number of processes that can have that resource is 1. So goodbye parallelism11:40
tiagogomestoscalix commented11:43
*** tristan has quit IRC11:43
tlater[m]Hrm11:44
tlater[m]Sounds like we'll need distinction between read/write11:44
tlater[m]But wait, how are builds parallelized then?11:45
tlater[m]Surely pull just needs the same resources as build?11:45
*** tristan has joined #buildstream11:52
*** ChanServ sets mode: +o tristan11:53
tristanoops11:53
tristannot sure my last got through but... here comes something...11:53
* tiagogomes sets the scene with some drumming11:53
gitlab-br-botbuildstream: merge request (tristan/fix-cache-exclusivity->master: _scheduler/queues: Mark build and pull queue as requiring shared access to the CACHE) #775 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/77511:55
tristantlater[m], looking at only the API bits of the scheduler and ignoring the implementation, this patch SHOULD fix the crash in cleanup: https://gitlab.com/BuildStream/buildstream/merge_requests/77511:56
tristantlater[m], Unless, it never actually worked in the way it was intended to11:56
tristanMaybe there was some regression where the pull/build jobs stopped asking for shared access to the CACHE resource ?11:57
toscalixtiagogomes: related with tool vs toolset, I honestly think that the latter reflects better what we are doing11:57
tiagogomesNo strong opinions here :)11:57
tristantlater[m], Looks like the Queues dont have a way to ask for exclusive access, but the CacheSize job does in fact expose exclusive_resources as a constructor argument11:58
tristanSo that shouldnt be a big deal... tlater[m]; do you expect my trivial patch to fix it ?11:58
* tristan wonders if it will even pass CI11:58
tiagogomestristan that won't work because of I wrote above11:59
tiagogomes"as the maximum number of processes that can have that resource is 1. So goodbye parallelism"12:00
tristantiagogomes, Then resources.py is *broken*... one sec, hold on...12:00
tiagogomes¯\_(ツ)_/¯12:01
tristantiagogomes, that's not how it's supposed to work, it's a read-write lock, not a dumb bit; but it might be implemented wrong12:01
tristantiagogomes, see this LOC: https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/_scheduler/scheduler.py#L32412:01
tlater[m]tiagogomes is wrong here12:01
tristantiagogomes, When we launch the CleanupJob, it asks for exclusive access12:02
tlater[m]Beat me to it :)12:02
tlater[m]I'm pretty sure that patch will fix it12:02
tristanI think he is wrong too, but he might have discovered something in the implementation such that he is right, and we are only right in theory, but not in practice12:02
tiagogomesMy observations are only theoretical based on looking at the codebase in the past :)12:03
tlater[m]I won't argue with that... Though I think we'd notice if only one build job ran at a time12:03
tristanOkay, I do think that we could probably use more commenting and boiler plate around there12:04
tristanI mean... the fact that queue.py does not clearly offer support for it's subclasses to request exclusive access to a resource, is misleading; it leads one to believe there is no such thing as exclusive access12:04
tristanEven if that facility is currently unused by Queues12:05
tristanNow, I guess I have to delete my whole artifact cache12:06
tlater[m]tristan: perhaps not12:06
tiagogomesTo be clear, I don't think that patch will solve it the way of want because of this: https://paste.fedoraproject.org/paste/TPdkqMno1oD1AO1kH0Ayjw12:07
tlater[m]I do suspect that the concurrency caused that...12:07
tristanIf I have corrupt artifacts due to this issue, a cleanup job will still hit those bad refs12:07
tlater[m]Ah, right12:07
tristantiagogomes, Ah I see why you would think that12:07
tristanAnd you'd also be right !12:07
tristanThose, afaik, are supposed to be the caps on how many SHARED locks can occur12:08
tristantlater[m], maybe that should be 0 ? and 0 should be taken to mean "no limit" ?12:08
tlater[m]Hmm12:09
tristanWell, the patch I put up *would work*, but it would also cause every build / pull to be limited to one task at a time12:09
* bochecha just updated the Fedora package to 1.2.012:09
* tlater[m] takes a look at the implementation again12:09
tristanbochecha, Nice !12:09
tristanbochecha, I updated the pre-built sessions in the docs for that :D12:10
bochecha:)12:10
*** solid_black has quit IRC12:13
tlater[m]tristan: 0 does currently mean no limit12:13
tlater[m]So I think it should indeed be 012:13
*** solid_black_ has joined #buildstream12:14
tlater[m]That makes me wonder if we somehow missed build jobs not being concurrent, or if something else is going on here.12:14
tristantlater[m], I only just now added in my patch that build jobs require the CACHE resource at all12:16
tristantlater[m], so my patch would cause them to not be concurrent12:16
*** solid_black_ has quit IRC12:17
tlater[m]Ah, that does explain it. I'm not quite sure how this went wrong then, but setting the cache limit to 0 should do what we want.12:17
*** solid_black_ has joined #buildstream12:17
gitlab-br-botbuildstream: merge request (tristan/fix-cache-exclusivity->master: _scheduler/queues: Mark build and pull queue as requiring shared access to the CACHE) #775 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/77512:19
tristantlater[m], resources.py indeed has a "> 0 and..." check for max_resources being 0 meaning unlimited12:20
tristanAdded that to 775 above12:20
tristanthat should at least in theory fix this exclusivity problem12:20
tiagogomes:)12:21
tristantlater[m], it's all your fault !12:21
tristanhehe12:21
* tristan couldnt resist12:21
* tlater[m] sits in the corner12:23
tristanhaha12:27
tristanHmmm, ok so, launched a build with this backported to bst-1.212:29
tristanIt has concurrent pulls going on12:29
tristanIt did not launch a size check or cleanup at startup, but I suppose it's not too awful when things are working as intended12:30
tristanlets see what happens after a pull task completes12:30
tlater[m]It also shouldn't starve size checks because exclusive jobs will be prioritized... I really wonder why I set that to 1.12:32
*** alatiera_ has joined #buildstream12:40
tlater[m]Oof, building gnome certainly won't happen in 5GB, hm12:56
* tlater[m] wonders if there's a different project that he could use to test12:57
coldtomtlater: maybe try freedesktop bootstrap?13:03
tlater[m]Well, gnome includes freedesktop, which is taking up a lot of storage/time already13:04
tlater[m]Hrm, I guess I'll just have to bite the bullet and accept this is going to take a little while13:04
tristanbochecha, Will that be in the official repo soon ?13:08
bochechatristan, I haven't started the work to push it there yet13:08
tristanbochecha, since we are trying to sort out our buildstream.build website and migrating the install guide to there instead of the reference docs / user guide... we'd like to know when we can update http://buildstream.gitlab.io/buildstream/install_linux_distro.html#fedora :)13:08
bochechaonce I start, it might take a bit of time, because each required package needs to be reviewed13:08
tristanRight, that is fine13:08
tristanI think one of us needs to setup a ... what is it... "ppa" ? for debian also13:09
bochechathere are 3 required new packages, and one that needs to be updated in Fedora13:09
tristanSo we can have at least debian and fedora in the works as well as arch13:09
bochechaif we find Fedora packagers to review the packages, it can go pretty quickly :)13:09
bochechappa are for Ubuntu, I'm not sure what the equivalent is for Debian13:09
tristanYeah indeed; have to find that out13:10
tristanBut, one thing at a time; we probably land the website without that, but hopefully can follow up soon after13:10
bochechathis might be the most problematic part: https://bugzilla.redhat.com/show_bug.cgi?id=161607513:11
bochechablessings is too old in Fedora 2813:11
tristanGah, damn blessings13:12
bochechaand the maintainer hasn't replied13:12
tristanbochecha, you know what; it will be easier to *REMOVE* blessings as a dependency13:12
bochechabut then, if I take too long to push buildstream through the review, Fedora 29 will be released and we can just say "packages only for Fedora >= 29 :D13:12
tristanThat is ridiculously small amount of python code that I have been wanting to just replace for a long time13:12
tristanWhy depend on something when all it does is (A) Check if stdin isatty() ... and (B) #define some ANSI escape sequences ?13:13
bochechaANSI for the colors?13:13
tristanbochecha, no, even those are taken care of by click13:13
bochechaso which ones are taken from blessings?13:14
tristanbochecha, the ones we use from blessings are the cursor repositioning stuff (move the cursor up and down a line)13:14
bochechaoh13:14
toscalixtiagogomes: I will amend the MR for the release announcement this afternoon13:14
bochechatristan, just this? :x13:15
tristanhttps://gitlab.com/BuildStream/buildstream/blob/master/buildstream/_frontend/status.py13:15
tristanbochecha, see the _move_up(), _clear_line() things13:15
bochechatristan, did you know about sys.stdout.isatty() ?13:15
bochecha(same for stderr obviously)13:16
tristanbochecha, yes I did, I ended up looking into the blessings code and found out that it did... nothing really special13:16
bochecha:)13:16
tristanand since then, I have been wanting to rip out this "Terminal()" object13:16
tristanwe also check Terminal().does_styling, which I think also just stupidly checks if it's a tty13:17
tristanreally silly13:17
bochechamy biggest problem with blessings is the way it handles unknown attributes on its terminal object13:17
bochechayou'd expect an AttributeError13:17
bochechait just returns an empty string13:17
bochechano warning, nothing13:17
tristanIt's python I guess</rant>13:18
*** phildawson has quit IRC13:18
bochechabecause of that, and the blessings package in Fedora being too old (it didn't have the does_styling attribute) I just didn't have any status bar in buildstream13:18
*** phildawson has joined #buildstream13:18
bochechatook me a while to figure this out13:18
tristanhah, wow13:18
bochechawell, no, not "it's python"… more like "someone decided to do more work in order ot have less result"13:19
bochechathe blessings dev decided to implement the special __getattr__ method and make it return "" on unknown attributes13:19
tristanYeah maybe; I constantly get frustrated that python culture is "We live in a bubble and don't care about API stability, just pin your version", and am conflating it with "The maintainer got tired of API stability and just hacked around it by saying 'it'll do what it can and just not crash if you have an older version'"13:20
tristanbochecha, I'm guessing the idea is that... most of the Terminal attributes are strings to render, whether they are functions or just values13:22
tristanAnd if you render a "", because too old version; "no harm done I guess"13:22
bochechayeah13:23
bochechathat status bar is not useful anyway, no harm done :]13:23
tristanbochecha, Ok I can put that on my plate I think and get that done by 1.2.1, it's seriously trivial13:24
tristanlet's just dump blessings13:25
tristana bit unorthodox but not an API break of any sort on our side13:25
*** adds68 has quit IRC13:31
*** qinusty has quit IRC13:32
*** jennis has quit IRC13:32
*** tiagogomes_ has quit IRC13:32
*** coldtom has quit IRC13:32
*** qinusty has joined #buildstream13:37
*** jennis has joined #buildstream13:37
*** coldtom has joined #buildstream13:37
*** tiagogomes_ has joined #buildstream13:37
*** adds68 has joined #buildstream13:37
*** phildawson has quit IRC13:50
toscalixI suggest to remove the beaver from the upper banner. I would prefer to include it as image on the page13:50
toscalixor not include it at all13:50
*** tristan has quit IRC13:54
toscalixtiagogomes: since we have all the pages already except the roadmap, is it possible to focus some energy in getting the complete website structure implementing the sitemap?13:58
tiagogomestoscalix, where are the updates page, meetings and events page14:05
toscalixthe update page is, in this case, the release announcement14:06
toscalixthe meeting page will be the wiki page where we have the meeting logs for now. We will not create a new page14:06
toscalixI am really out of context with the events page14:07
toscalixdid you see it in the sitemap ?14:07
tiagogomesIn the sitemap is written "Meetings and events"14:08
toscalixthat will be the wiki page for now. Let me add the link in the ticket14:09
tiagogomesThe realease announcement should be an article, in a separate page to show the articles14:09
toscalixwe call that.... updates14:09
toscalixjust like the codethink page14:09
toscalixso we include there blogs and announcements14:09
toscalixadded to the ticket description: https://gitlab.com/BuildStream/website/issues/914:11
*** leopi has quit IRC14:14
*** leopi has joined #buildstream14:15
*** leopi has quit IRC14:19
*** leopi has joined #buildstream14:19
*** lachlan has quit IRC14:35
*** tristan has joined #buildstream14:37
*** ChanServ sets mode: +o tristan14:37
tristantlater[m], tiagogomes; the good news is that testing the MR I put up backported to 1.2, when launching the build it did notice that it needed to launch a cleanup job; even though no cache_size job ran first; presumably because of the same cache_size file14:38
tristanFurther... it launched exactly 4 pull jobs, and no more14:38
tristanIt waited for the 4 pull jobs to complete and did not queue any builds or pulls14:39
tristanThen it ran the cleanup14:39
tristanThe bad news is, since my artifact cache is corrupt from the last stack trace where concurrent pull + prune was happening; I got the same stack trace again14:39
tristanI wonder if there is a way to delete the corrupt artifacts14:40
tristanAnd keep my current cache, so I can easily test this with a pretty full cache14:40
tristanjuergbi, any ideas if I can recover and try running more tests on this ?14:40
juergbitristan: if it's just about a single (or very few) artifacts, you can simply delete the corresponding refs/heads/... file14:42
juergbimay need to print out the ref name14:42
tristanjuergbi, would that be knowable from say, this error:14:48
tristanFileNotFoundError: [Errno 2] No such file or directory: '/home/tristan/.cache/buildstream/artifacts/cas/objects/7f/4c864e8edd35a496c17285a1035b7221d3d317f90deb65a964c1d77c5c4364'14:48
tristanI guess not, cause the file is not found14:48
tristanlike, I *could* do it and retry a few times14:49
tristanif I knew how to get the ref name14:49
juergbitristan: if you don't want to add a debug print for this, you could probably grep for 7f4c86e8edd... in the refs directory14:49
juergbialthough, that would only help if it's the toplevel14:50
tristanjuergbi, I've updated https://gitlab.com/BuildStream/buildstream/issues/623 and it's late... ok I'll take note of that14:50
tristanhmmm14:50
tristanif you have any ideas, comment on the issue, otherwise I'll give up and zap the cache14:50
tristanjuergbi, maybe a couple choice debug prints could help me, though; ones that I would not commit in any MR14:51
tristanwell, maybe it's overkill, and we can find a way to test these changes14:51
tristanor to reproduce and fix14:51
juergbitristan: yes, could catch FileNotFoundError in prune() in the first loop and print out 'filename' (ref name) in that case14:52
juergbiwe might want to make this more robust in any case14:52
tristanyeah, that wouldnt be debug print, that would just be a more descriptive exception I guess when failing :)14:53
tristanif that's what you mean14:53
tristanProbably an enhanced error could be useful there14:53
tristan"Tried to delete a corrupt artifact: details: bla bla bla... standard print of a list of missing objects for given ref, etc"14:54
*** lachlan has joined #buildstream14:57
*** lachlan has quit IRC15:02
*** lachlan has joined #buildstream15:23
toscalixwhich 3 features do you consider the most relevant ones on this release? I have CAS server, config file (includes) and.....15:28
*** lachlan has quit IRC15:51
*** phildawson has joined #buildstream15:52
*** lachlan has joined #buildstream16:06
*** solid_black_ has quit IRC16:10
gitlab-br-botbuildstream: merge request (mac_fixes->master: WIP: Resolve "os.sched_getaffinity() not supported on MacOSX Blocks #411") #726 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/72616:14
*** leopi has quit IRC16:17
*** lachlan has quit IRC16:59
*** lachlan has joined #buildstream17:08
*** leopi has joined #buildstream17:12
*** lachlan has quit IRC17:14
*** lachlan has joined #buildstream17:47
*** jonathanmaw has quit IRC17:48
*** leopi has quit IRC18:34
*** rdale has quit IRC18:57
*** toscalix has quit IRC19:12
*** lachlan has quit IRC19:18
*** gitlab-br-bot has quit IRC21:17
*** gitlab-br-bot has joined #buildstream21:17
*** gitlab-br-bot has joined #buildstream21:17
*** tristan has quit IRC21:40
*** alatiera_ has quit IRC21:53
*** bochecha has quit IRC22:11

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