Re: shepherd: hardening error handling
while i found this bug: https://issues.guix.gnu.org/67839 i was reading the discussion under its probable root cause: https://github.com/wingo/fibers/issues/29 and it suggests that Guile before 3.0.5 had important bugs WRT fluids, which are relied upon in shepherd. maybe Guile 2.2 can not be used reliably even for current Shepherd? -- • attila lendvai • PGP: 963F 5D5F 45C7 DFCD 0A39 -- “It is only when compassion is present that people allow themselves to see the truth. […] Compassion is a kind of healing agent that helps us tolerate the hurt of seeing the truth.” — A.H. Almaas (1944–), 'Elements of the Real in Man (Diamond Heart, Book 1)'
Re: shepherd: hardening error handling
Hello! Attila Lendvai skribis: > the codebase seems to use catch/throw, and at some places with comments like > "for Guile 2.2". what is the minimum guile version that the shepherd codebase > wants to support? the README says "GNU Guile 3.0.x or 2.2.x". is this still > intended? or can i assume guile 3? i.e. use with-exception-handler, > raise-exception, guard, instead of catch/throw with key and args? The source of truth is ‘configure.ac’, which reads: GUILE_PKG([3.0 2.2]) CI checks that (and in fact ‘guile2.2-fibers’ currently fails to build due to a non-deterministic test failure): https://ci.guix.gnu.org/eval/latest/dashboard?spec=shepherd I think we’ll keep it that way in 0.10.x, but for 1.0.x, we can drop 2.2. When we drop 2.2, we can probably switch ‘with-exception-handler’ & co., with care. Thanks, Ludo’.
shepherd: hardening error handling
dear Guix, i'm working on hardening shepherd's error handling and logging to debug an issue that i'm facing. these changes escalated quickly, so i'm writing to clarify a few things before i shape the codebase into a direction that the maintainers will not accept. the codebase seems to use catch/throw, and at some places with comments like "for Guile 2.2". what is the minimum guile version that the shepherd codebase wants to support? the README says "GNU Guile 3.0.x or 2.2.x". is this still intended? or can i assume guile 3? i.e. use with-exception-handler, raise-exception, guard, instead of catch/throw with key and args? some WIP commits are available at: https://codeberg.org/attila-lendvai-patches/shepherd/commits/branch/attila -- • attila lendvai • PGP: 963F 5D5F 45C7 DFCD 0A39 -- “It is only when the people become ignorant and corrupt, when they degenerate into a populace, that they are incapable of exercising the sovereignty. Usurpation is then an easy attainment, and an usurper soon found. The people themselves become the willing instruments of their own debasement and ruin.” — James Monroe (1758–1831), 5th president of the USA