fesco
LOGS
17:00:34 <zbyszek> #startmeeting FESCO (2022-07-05)
17:00:34 <zodbot> Meeting started Tue Jul  5 17:00:34 2022 UTC.
17:00:34 <zodbot> This meeting is logged and archived in a public location.
17:00:34 <zodbot> The chair is zbyszek. Information about MeetBot at https://fedoraproject.org/wiki/Zodbot#Meeting_Functions.
17:00:34 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
17:00:34 <zodbot> The meeting name has been set to 'fesco_(2022-07-05)'
17:00:34 <zbyszek> #meetingname fesco
17:00:34 <zodbot> The meeting name has been set to 'fesco'
17:00:34 <zbyszek> #chair nirik, decathorpe, zbyszek, sgallagh, mhroncok, dcantrell, music, mhayden, Conan_Kudo, Pharaoh_Atem, Son_Goku, King_InuYasha, Sir_Gallantmon, Eighth_Doctor
17:00:34 <zodbot> Current chairs: Conan_Kudo Eighth_Doctor King_InuYasha Pharaoh_Atem Sir_Gallantmon Son_Goku dcantrell decathorpe mhayden mhroncok music nirik sgallagh zbyszek
17:00:37 <zbyszek> #topic init process
17:00:40 <nirik> morning all
17:00:44 <zbyszek> .hello2
17:00:45 <zodbot> zbyszek: zbyszek 'Zbigniew Jędrzejewski-Szmek' <zbyszek@in.waw.pl>
17:00:49 <mhayden> .hello2
17:00:50 <zodbot> mhayden: mhayden 'Major Hayden' <mhayden@redhat.com>
17:00:51 <Eighth_Doctor> .hello ngompa
17:00:57 <zodbot> Eighth_Doctor: ngompa 'Neal Gompa' <ngompa13@gmail.com>
17:01:13 <zbyszek> Miro said that he'll not be here because of the state holiday
17:01:16 <dcantrell> .hello2
17:01:17 <zodbot> dcantrell: dcantrell 'David Cantrell' <dcantrell@redhat.com>
17:01:29 <zbyszek> We have quorum.
17:01:41 <zbyszek> I'll a minute more to see if anyone shows up.
17:01:45 <bcotton> .hello2
17:01:46 <zodbot> bcotton: bcotton 'Ben Cotton' <bcotton@redhat.com>
17:01:55 <dustymabe> .hi
17:01:56 <zodbot> dustymabe: dustymabe 'Dusty Mabe' <dusty@dustymabe.com>
17:01:58 <mhayden> happy to be here for the first time with all of you 🫂
17:02:12 <codonell> :-)
17:02:18 <DaanDeMeyer[m]> I'm joining for the first time as well, hi everyone
17:02:49 <zbyszek> Hi Ben, Hi Dusty, Hi Mayor, Hi Daan
17:03:05 <davide> . hello dcavalca
17:03:06 <zodbot> davide: dcavalca 'Davide Cavalca' <dcavalca@fb.com>
17:03:10 <davide> .hello dcavalca
17:03:11 <zodbot> davide: dcavalca 'Davide Cavalca' <dcavalca@fb.com>
17:03:14 <zbyszek> Hi Davide
17:03:19 <zbyszek> #topic #2759 Proposal: periodic check on packagers reachability
17:03:20 <zbyszek> .fesco 2759
17:03:22 <zodbot> zbyszek: Issue #2759: Proposal: periodic check on packagers reachability - fesco - Pagure.io - https://pagure.io/fesco/issue/2759
17:03:51 <decathorpe> hello! sorry, I'm late
17:04:02 <zbyszek> We're just starging
17:04:05 <zbyszek> *starting
17:04:14 <decathorpe> phew
17:05:31 <zbyszek> So... I'd propose the following workflow: we enumerate things that should be fixed, and then vote a proposal "approve, with the following items to adjust before the policy is merged". WDYT?
17:05:33 <nirik> so, are we voting on this? or ? I feel like there is still tweaks being made to it.
17:05:52 <decathorpe> yeah, not sure if this is ready yet.
17:05:56 <Eighth_Doctor> likewise
17:06:08 <nirik> zbyszek: well, is there a hurry?
17:06:24 <zbyszek> No, no hurry.
17:06:42 <zbyszek> So… should we make comments in the pull request and ask Mattia for another round?
17:06:48 <dcantrell> I think so
17:07:02 <nirik> I think bcotton's last note on the pr is something we should add/adjust... but also, we should run this at times in our cycle when it's less disruptive...
17:07:15 <dcantrell> I think the idea is valid, but we need a definition around what is "inactive or unreachable maintainer"
17:07:32 <nirik> ie, we shouldn't mark a bunch of people inactive right before a final freeze, causing a scramble on packages that may need fixing.
17:08:01 <dcantrell> (afk for a few minutes...)
17:08:15 <zbyszek> dcantrell: but the PR goes to great lengths to describe what checks are made. Those checks define this.
17:08:38 <nirik> dcantrell: well, according to what we have so far: no activty in X fedora things in 12 months and not answering a ticket about it.
17:09:05 <zbyszek> nirik: OK, can you add a comment on the PR with some time in the cycle where it'd be good to do this?
17:09:13 <bcotton> agreed. id like to avoid doing this between the start of beta freeze and the final release
17:09:38 <zbyszek> I guess some time soon after release would be good.
17:09:46 <zbyszek> New cycle, less people or something like that.
17:10:09 <zbyszek> Also many people contribute during the pre-release bugfixing, so that'll reduce our false positive rate.
17:10:29 <decathorpe> so, maybe around the time of Fedora N-2 EOL?
17:10:38 <nirik> hum...
17:10:54 <nirik> does it make sense to coordinate this with the orphaned packages/retirement cycle?
17:11:46 <decathorpe> retirement of long-term FTBFS / FTI packages happens sometime between beta freeze and final freeze IIRC? so probably not ...
17:12:09 <bcotton> I was thinking maybe 1 week after final release and 1 week before beta freeze as a starting point. that gives us 4x a year somewhat spaced out and FTI retirement is a week before the start of beta freeze
17:12:33 <zbyszek> bcotton: +1
17:12:41 <nirik> yeah, sounds reasonable
17:14:04 <dcantrell> (back now)
17:14:09 <decathorpe> any reason why 4 times a year and not just 2?
17:14:56 <bcotton> the proposal as written is 6, so that seemed like a fair compromise. i'd be fine with 2
17:15:08 <decathorpe> ah, ok. I missed that from the ticket.
17:15:10 <bcotton> we do the inactive provenpackager check 2x a year already
17:15:31 <zbyszek> Yeah, I think 2 is fine. It doesn't need to be frequent.
17:15:33 <decathorpe> yeah, most stuff happens twice a year, well, because, release cycle
17:16:04 <codonell> Because glibc releases twice a year ;-)
17:16:18 <nirik> 2 sounds fine to me. Especially since we are going from 0 now. ;)
17:16:20 <decathorpe> because Python releases ... oph, oops
17:16:34 <bcotton> heh
17:16:42 <zbyszek> #action mattia so submit another version taking into account comments in the ticket and on the pull request
17:16:49 <bcotton> so yeah, i'd be happy to have it happen alongside the provenpackager check
17:17:33 <zbyszek> #topic #2804 Change proposal: Fallback Hostname
17:17:33 <zbyszek> .fesco 2804
17:17:34 <zodbot> zbyszek: Issue #2804: Change proposal: Fallback Hostname - fesco - Pagure.io - https://pagure.io/fesco/issue/2804
17:17:36 <bcotton> that happens at branch day, effectively https://fedorapeople.org/groups/schedule/f-37/f-37-pm-tasks.html
17:18:35 <zbyszek> We have +4,0,0 votes in the ticket
17:18:43 <decathorpe> This one is only tagged with meeting because of procedural -1, if I see this correctly?
17:18:57 <zbyszek> No, that -1 was withdrawn / superseded already.
17:18:58 <dcantrell> +1 from me too
17:19:11 * nirik is also +1, not sure why I missed the ticket for voting there.
17:19:12 <Eighth_Doctor> yeah, so I don't know why we're discussing this?
17:19:13 <decathorpe> Yeah, but the meeting tag was added after the -1 vote.
17:19:16 <mhayden> kudos for dustymabe for digging through that problem and suggesting a solution
17:19:39 <zbyszek> I think we *could* have a better solution for this, but I don't want to block the proposal. I'll be: 0
17:19:42 <decathorpe> FWIW +1
17:19:42 * dustymabe accepts cookies
17:20:11 <zbyszek> #agreed APPROVED(+6, 0, 0)
17:20:21 <decathorpe> dustymabe++ essential, functional, and advertisement cookies
17:20:21 <zodbot> decathorpe: Karma for dustymabe changed to 2 (for the current release cycle):  https://badges.fedoraproject.org/tags/cookie/any
17:20:22 <zbyszek> (I'm counting the votes in the ticket and here together.)
17:20:38 <dustymabe> thank you zbyszek - thanks all
17:20:42 <zbyszek> #undo
17:20:42 <zodbot> Removing item from minutes: AGREED by zbyszek at 17:20:11 : APPROVED(+6, 0, 0)
17:20:46 <zbyszek> #agreed APPROVED(+7, 0, 0)
17:21:03 <zbyszek> #undo
17:21:03 <zodbot> Removing item from minutes: AGREED by zbyszek at 17:20:46 : APPROVED(+7, 0, 0)
17:21:04 <zbyszek> #agreed APPROVED(+7, 1, 0)
17:21:14 <zbyszek> #topic #2817 Change proposal: Add -fno-omit-frame-pointer to default compilation flags
17:21:17 <zbyszek> .fesco 2817
17:21:18 <zodbot> zbyszek: Issue #2817: Change proposal: Add -fno-omit-frame-pointer to default compilation flags - fesco - Pagure.io - https://pagure.io/fesco/issue/2817
17:22:04 <nirik> I'm -1 on this so far...
17:22:07 <mhayden> this one feels like a tradeoff: benefits a small number of debugging/profiling situations used by a relatively small number of users versus a performance impact that affects all users
17:22:22 <nirik> mhayden: yeah.
17:22:24 <mhayden> i've been on both ends of this issue and neither are fun
17:22:40 <zbyszek> I think we need some better benchmarking.
17:22:44 * Eighth_Doctor shrugs
17:22:48 <nirik> but the small number of users profiling at least know how to get out of it... the end users don't know/can't
17:23:09 <codonell> The debugging and profiling tooling could be improved. While you can never gain back the lost register usage.
17:23:12 <DaanDeMeyer[m]> I got distracted by reproducing the phoronix results, I haven't gotten to a proper distro rebuild benchmark yet
17:23:24 <mhayden> i gotta follow Spock on this one with a -1  ("Logic clearly dictates that the needs of the many outweigh the needs of the few.")
17:23:36 <zbyszek> I think people underestimate how useful this could be.
17:23:51 <davide> zbyszek @zbyszek:libera.chat: are there any specific benchmarks you'd want to see done?
17:23:56 <decathorpe> I think the problem is that the current benchmarks show the best-case impact where only leaf applications are rebuilt with those flags ... worst-case (the whole world is rebuilt) is likely much worse than just a few % slower
17:23:58 <nirik> I'm open to more data...
17:24:03 <zbyszek> Right now profiling on Linux isn't too great, and this proposal would make it better.
17:24:24 <DaanDeMeyer[m]> We're also brainstorming ways to make this more useful for everyone, e.g. by adding a profiling daemon that can do on demand or trigger based profiling of the entire system
17:24:31 <DaanDeMeyer[m]> Of course that doesn't exist yet
17:24:32 <zbyszek> The argument that "people who need this can rebuild" is weak, because you can't really rebuild a swath of the distro, at least not easily.
17:24:56 <mhayden> agreed with nirik -- more data on performance impact here would be good, especially if we knew "workloads that do X would be most affected"
17:25:04 <tstellar> zbyszek: COPR makes this pretty easy in my opinion.
17:25:06 <mhayden> (meant X as a variable, not as X11) 😉
17:25:30 <fweimer> zbyszek: We should improve the profiling tools.
17:25:37 <zbyszek> davide: sorry, I don't know.
17:25:49 <Eighth_Doctor> COPR does not make rebuilding the distro easy
17:25:50 <davide> the problem with rebuilding is that you don't necessarily know in advance what you'd need to rebuild
17:25:52 <tstellar> Also, this proposal should help make it easier to adjust compiler flags when rebuilding packages: https://fedoraproject.org/wiki/Changes/RPMMacrosForBuildFlags
17:25:55 <Eighth_Doctor> it's extremely hard to rebuild the distribution
17:26:04 <Eighth_Doctor> and Fedora's tooling is horrible for doing this
17:26:16 <fweimer> And it's not just LBR, SHSTK also provides accurate backtraces without complicated traversal.
17:26:28 <Eighth_Doctor> I've actually attempted to do this before, and it's pretty awful
17:26:34 <codonell> I agree with Florian, I don't think we need to rebuild the distribution. This proposal suggests the wrong solution.
17:26:38 <music[m]> Hi, I’m sorry to have missed the first part of the meeting. I’m here now.
17:27:01 <DaanDeMeyer[m]> fweimer: Any links to stack unwinding tools are appreciated, I tried to list most of them in the proposal, but SHSTK is an acronym I haven't come across yet
17:27:10 <tstellar> Eighth_Doctor: It's worked out well for me when I've tried.  Maybe we are doing different things.
17:27:15 <codonell> SHSTK = Shadow Stack
17:27:26 <fweimer> DaanDeMeyer[m]: It's the part of Intel CET that's also supported by AMD (starting with Zen 3).
17:27:28 <davide> I also don't necessarily want to make it easy / attractive for companies to fork the distro - imo we should encourage upstream use as much as possible
17:27:40 <tstellar> e.g. https://copr.fedorainfracloud.org/coprs/g/fedora-llvm-team/clang-built-f36/
17:27:40 <davide> (sorry element keeps crashing on me today, catching up)
17:27:46 <fweimer> DaanDeMeyer[m]: Sadly, kernel support is *still* missing.
17:28:27 <DaanDeMeyer[m]> kernel not supporting anything aside from frame pointers is the reason this proposal is here in the first place :(
17:28:52 <fweimer> davide: A colleague of mine is working on mass rebuild tooling for situations like this because Fedora (ELN) rejected *our* flag change requests.
17:28:58 <davide> The other angle here (and I'm not saying this is necessary a good argument) is that making profiling more accessible leads to optimizations which down the road can lead to user benefits
17:30:05 <fweimer> DaanDeMeyer[m]: I thought this proposal was about userspace?
17:30:06 <fche> (yes, but no need to presume that Slower but working profiling a la perf/stap/whatever are insufficient to lasso those future benefits)
17:30:20 <Eighth_Doctor> tstellar: you're not trying to make a usable system, you're just compiling everything
17:30:23 <Eighth_Doctor> there's a huge difference
17:30:41 <Eighth_Doctor> build orders, bootstraps, feature things, dynamic BRs, etc.
17:30:46 <Eighth_Doctor> and verification
17:30:49 <DaanDeMeyer[m]> fweimer: We need frame pointers in userspace so we can unwind stacks in BPF
17:30:56 <Eighth_Doctor> and that's not even compiling everything
17:31:00 <polacek> the proposal would mean offsetting a lot of performance improvements we've made for unclear gains, as pointed out elsewhere
17:31:08 <decathorpe> I just don't think making Fedora run less efficiently for all our users is worth it. What's next? Compiling all packages with ASAN / TSAN by default? :)
17:31:26 <decathorpe> The same arguments would be valid there ...
17:31:30 <fweimer> DaanDeMeyer[m]: That's the first time I hear this requirement.
17:31:40 <tstellar> Eighth_Doctor: Right, but this is more like what someone wanted to do a rebuild to test -fno-omit-frame-pointer would do.
17:31:41 <fweimer> We have a kernel space DWARF-based unwinder, can't you use that instead?
17:32:14 <fweimer> DaanDeMeyer[m]: It's a bit unfair not to put key details like that in your proposal.
17:32:40 <DaanDeMeyer[m]> From my understanding, we don't have a DWARF unwinder in the kernel, wasn't it explicitly rejected?
17:32:47 <DaanDeMeyer[m]> Apologies, that certainly wasn't my intention
17:32:48 <Eighth_Doctor> fweimer: the proposal implies there's no kernel DWARF unwinder
17:33:24 <Eighth_Doctor> and nothing I can find indicates that's changed
17:33:27 <fche> indeed; stap does dwarf unwinding in-kernel but using its own runtime
17:33:49 <fweimer> Eighth_Doctor: Yes, but as fche set on the list, there is a kernel-space DWARF unwinder you can use.
17:34:17 <fche> fweimer, I don't think bpf has enough liberty to call into a piece of custom code like that
17:34:42 <fche> DaanDeMeyer[m], has bpf upstream been consulted about improving their unwinder, future paths etc.?
17:35:14 <DaanDeMeyer[m]> This proposal is partially motivated by the request of Andrii, libbpf's maintainer actually
17:37:27 <zbyszek> Hmm. So I think we have two avanues of research needed: 1. do a partial rebuild and some more comprehensive benchmarks to see what happens with non-leaf packages.
17:37:29 <DaanDeMeyer[m]> Aside from a proposal to copy the stack to userspace and do unwinding there that I found somewhere, there haven't been any concrete proposals, they rely very heavily on having frame pointers available for the related tooling to work
17:37:30 <fche> this context is missing from the change, no?  the word bpf doesn't appear in there
17:37:48 <DaanDeMeyer[m]> Indeed, I will add a paragraph about this specific usecase
17:37:55 <zbyszek> 2. add more discussion of alternative approaches to the proposal
17:38:27 <zbyszek> DaanDeMeyer[m]: thanks
17:38:44 <zbyszek> #action DaanDeMeyer to add more information to the proposal
17:38:48 <DaanDeMeyer[m]> Sounds good, I'll look into doing a more comprehensive rebuild
17:38:53 <zbyszek> Do we want to continue the discussion here?
17:39:08 <zbyszek> (now)
17:39:11 <polacek> the proposal also doesn't mention -mno-omit-leaf-frame-pointer IIRC
17:39:14 <DaanDeMeyer[m]> (Any ideas for workloads to benchmark are appreciated as well)
17:39:17 <polacek> which it should
17:39:20 <fche> (also would appreciate spelling out why a fedora change would be desirable if meta/facebook already recompile their distro)
17:39:33 <polacek> good point
17:39:38 <DaanDeMeyer[m]> We don't actually
17:39:41 <Eighth_Doctor> fche: they don't
17:39:46 <Eighth_Doctor> that's the whole point
17:39:48 <fche> ok, just meta/google then?
17:39:50 <Eighth_Doctor> and as Davide Cavalca said, they don't want to
17:40:00 <Eighth_Doctor> only google does it
17:40:03 <Eighth_Doctor> meta doesn't
17:40:06 <zbyszek> Also, people want to profile Fedora itself too.
17:40:12 <mjw> Random pointer on unwinding speed from the valgrind author. TLDR, it can be pretty fast: https://blog.mozilla.org/jseward/2013/08/29/how-fast-can-cfiexidx-based-stack-unwinding-be/
17:41:24 <zbyszek> OK, let's return to this when we have more data.
17:41:39 <zbyszek> Thanks everyone for very useful comments and links and discussion ;)
17:41:40 <zbyszek> #topic Next week's chair
17:41:47 <zbyszek> Vlntr?
17:41:49 <zbyszek> Vlntrs?
17:42:32 <decathorpe> I can be fallback host(name) in case of no volunteers
17:42:51 <mhayden> i'm on vacation during the next meeting 🏖
17:43:12 <zbyszek> #action decathorpe will (host)chair next meeting
17:43:19 <zbyszek> #topic Open Floor
17:43:35 <zbyszek> Anyone?
17:44:13 <zbyszek> If not, I'll wrap things up in a minute.
17:45:02 <zbyszek> See you next week.
17:45:02 <zbyszek> #endmeeting