GNU bug report logs - #54779
guix home reconfigure throw error after Shepherd updata

Previous Next

Package: guix;

Reported by: Aleksandr Vityazev <avityazev <at> posteo.org>

Date: Thu, 7 Apr 2022 23:28:02 UTC

Severity: important

Merged with 54919

Done: Ludovic Courtès <ludo <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #22 received at 54779-done <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Aleksandr Vityazev <avityazev <at> posteo.org>
Cc: 54779-done <at> debbugs.gnu.org, Nicolas Graves <ngraves <at> ngraves.fr>
Subject: Re: bug#54779: guix home reconfigure throw error after Shepherd updata
Date: Thu, 21 Apr 2022 00:11:04 +0200
Hi,

Aleksandr Vityazev <avityazev <at> posteo.org> skribis:

> guix home reconfigure config.scm [1], throw error and freezes even
> ctrl-c doesn't help

Indeed, this can be reproduced like so:

--8<---------------cut here---------------start------------->8---
$ herd load root /gnu/store/1xx98q22c6ijr0p5pjbq3wnxd5yyxlmy-shepherd.conf
WARNING: Use of `load' in declarative module (#{ g139}#).  Add #:declarative? #f to your define-module invocation.
Uncaught exception in task:
In fibers.scm:
    150:8  9 (_)
In ice-9/boot-9.scm:
  1747:15  8 (with-exception-handler #<procedure 7f52c6b31390 at ic…> …)
In shepherd.scm:
    432:9  7 (_)
In ice-9/boot-9.scm:
  1747:15  6 (with-exception-handler #<procedure 7f52c6b312d0 at ic…> …)
In ice-9/exceptions.scm:
   406:15  5 (_)
In ice-9/boot-9.scm:
  1752:10  4 (with-exception-handler _ _ #:unwind? _ # _)
In shepherd.scm:
   502:23  3 (_)
In srfi/srfi-1.scm:
   586:17  2 (map1 (#<<service> 7f52c8f77f30>))
In ice-9/boot-9.scm:
  1685:16  1 (raise-exception _ #:continuable? _)
  1683:16  0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1683:16: In procedure raise-exception:
Zero values returned to single-valued continuation
--8<---------------cut here---------------end--------------->8---

(‘guix home reconfigure’ invokes the same command as above.)

The problem is that ‘start-in-the-background’ returns zero values, as
indicated above, but shepherd expects user commands to return one value.

So the fix, as you suggest, is to return one value at the end of
shepherd.conf.

You suggested redirecting stdin, which is also a good idea, but for a
different reason.  :-)  Anyway I’ve done both.

  dd2ab92d9d home: shepherd: Redirect input port to /dev/null.
  bc867b2ab0 home: shepherd: "shepherd.conf" returns one value.

Thank you!

Ludo’.




This bug report was last modified 3 years and 33 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.