Hi Attila, Attila Lendvai <attila.lend...@gmail.com> skribis:
> * modules/shepherd.scm (main): Switch with-service-registry and > with-process-monitor. This way the parameterize of the process monitor covers > everything else. This fixes the bug that caused `guix system reconfigure` to > hang in certain situations. Fix proposed by @emixa-d at: > https://github.com/wingo/fibers/issues/29#issuecomment-1858922276. [...] > * modules/shepherd/service.scm (spawn-service-controller): Add two asserts. > This is the bug that causes `guix system reconfigure ...` to sometimes hang, > and subsequently all shepherd commands, because a match-error flies out from > the service-controller of a replaced service, and thus its fiber dies. These > asserts get triggered without the previous commit that fixes the issue. Good catch!! I pushed these patches with small edits, in particular adding a test that reproduces the bug without relying on assertion failures: 5dbde1c support: ‘assert’ logs source location information. 0bcf02a Update NEWS. c07f0a8 service: Add asserts to ensure a process monitor is running. 9be0b7e shepherd: Make sure ‘with-process-monitor’ covers everything needed. Thanks for the tedious but fruitful debugging work! Ludo’.