GNU bug report logs -
#67839
shepherd: sometimes hangs on `guix system reconfigure`
Previous Next
Full log
View this message in rfc822 format
Hi Attila,
Attila Lendvai <attila.lendvai <at> 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’.
This bug report was last modified 1 year and 208 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.