|Summary:||sys-apps/portage: find_smallest_cycle sometimes selects a single node|
|Product:||Portage Development||Reporter:||Zac Medico <zmedico>|
|Component:||Core - Interface (emerge)||Assignee:||Portage team <dev-portage>|
|Severity:||critical||CC:||ago, esigra, flow, sam|
|Package list:||Runtime testing required:||---|
|Bug Depends on:|
|Bug Blocks:||155723, 689644, 787032, 793992, 802210|
Description Zac Medico 2020-11-23 10:19:00 UTC
When working on an implementation for bug 754777, I noticed that find_smallest_cycle sometimes selects a single node because it's in the mergeable_nodes set and ignore_priority causes the node's children to be dropped. For find_smallest_cycle we need stop passing the ignore_priority parameter to gather_deps, and gradually increase the ignore_priority used to select the mergeable_nodes set.
Comment 1 Zac Medico 2020-11-23 19:17:31 UTC
Ultimately, we'll want find_smallest_cycle to sort all of the edges in order of increasing priority. Then it can traverse this list of edges until it finds a cycle to select.
Comment 2 Andreas K. Hüttel 2021-05-04 22:05:25 UTC
*** Bug 762787 has been marked as a duplicate of this bug. ***
Comment 3 Sam James 2022-07-22 21:17:37 UTC
Notes for if anyone works on this: - I have some IRC logs I might need to try and dump into this bug, but they're not neccessarily critical (zac's notes here are already good enough I think) - Zac did start on an impl at: * https://github.com/zmedico/portage/commit/38c1b3e8b3995d22665007c1433db1220bb27184 * https://github.com/zmedico/portage/commit/e053f744ab627cce73f06566e2a9f0da3db511e3 Been meaning to update the bug for while but kept forgetting. I do have a draft somewhere of starting on this but no idea where it's gone. No worries if you don't remember zac, but do you remember what was left to do with your patches?