Subject: bug#41116: closed (Re: bug#41116: Guix deploy fails with new version of Herd)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 07 May 2020 12:28:02 +0000

Your bug report

#41116: Guix deploy fails with new version of Herd

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
41116: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41116
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#41116: Guix deploy fails with new version of Herd
From: Ludovic Courtès <[email-masked]>
To: Marius Bakke <[email-masked]>
Cc: [email-masked], Alex Sassmannshausen <[email-masked]>, Diego Nicola Barbato <[email-masked]>
Date: Thu, 07 May 2020 14:27:46 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Alex & Marius,

Marius Bakke <[email-masked]> skribis:

> Alex Sassmannshausen via Bug reports for GNU Guix <[email-masked]>
> writes:
>
>> Hello,
>>
>> I maintain a number of servers using Guix deploy.  It seems that the
>> recent upgrade to Herd in Guix, and specifically commit
>> 4c0cc7bed3de2c0e2d3a6e95b88693941e839eec might have introduced a bug.
>>
>> From my testing, guix deploy currently consistently fails with:
>> -----------------8<----------------------------->8-------------------
>> ice-9/boot-9.scm:1667:16: In procedure raise-exception:
>> ERROR:
>>   1. &inferior-exception:
>>       arguments: (srfi-34 #<inferior-object #<condition &action-exception-error [service: root action: eval key: keyword-argument-error args: ("#<procedure 7fe24816e240 at shepherd/service.scm:903:4 (command #:key user group directory environment-variables pid-file pid-file-timeout log-file) | (program . program-args)>" "Unrecognized keyword" () (#:file-creation-mask))] 7eff2bd7be00>>)
>>       inferior: #f
>>       stack: ()
>> -----------------8<----------------------------->8-------------------
>>
>> A workaround is to build the system configuration locally on the target
>> server, then to reconfigure.  It will still error at the same place, but
>> at this point, after restarting the server, the new version of Herd will
>> be running and both deploy and reconfigure will work.
>>
>> I don't know what a good solution to this could be, but it may be
>> something we need to consider in future development of Herd.
>
> This issue has been reported by a number of users on IRC.  I think the
> problem is that the the #:file-creation-mask keyword requires support
> from the running Shepherd, which may not have it yet.  I think we should
> revert commit 4c0cc7bed3de2c0e2d3a6e95b88693941e839eec until we find a
> smooth upgrade path.  Can you try it and push if that fixes guix deploy?

I’ve reverted the patch in 5aa4d2dcf2f4f8786358feb45338893ed08a4cd9.

Diego: I guess we can reinstate the patch “later”, once Shepherd 0.8 can
be considered widespread.

More importantly, we should handle service reload failures more
gracefully, as proposed in <https://issues.guix.gnu.org/issue/30706>,
for both ‘reconfigure’ and ‘deploy’.

Thanks,
Ludo’.

Subject: Guix deploy fails with new version of Herd
From: Alex Sassmannshausen <[email-masked]>
To: <[email-masked]>
Date: Thu, 07 May 2020 00:21:36 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello,

I maintain a number of servers using Guix deploy.  It seems that the
recent upgrade to Herd in Guix, and specifically commit
4c0cc7bed3de2c0e2d3a6e95b88693941e839eec might have introduced a bug.

>From my testing, guix deploy currently consistently fails with:
-----------------8<----------------------------->8-------------------
ice-9/boot-9.scm:1667:16: In procedure raise-exception:
ERROR:
  1. &inferior-exception:
      arguments: (srfi-34 #<inferior-object #<condition &action-exception-error [service: root action: eval key: keyword-argument-error args: ("#<procedure 7fe24816e240 at shepherd/service.scm:903:4 (command #:key user group directory environment-variables pid-file pid-file-timeout log-file) | (program . program-args)>" "Unrecognized keyword" () (#:file-creation-mask))] 7eff2bd7be00>>)
      inferior: #f
      stack: ()
-----------------8<----------------------------->8-------------------

A workaround is to build the system configuration locally on the target
server, then to reconfigure.  It will still error at the same place, but
at this point, after restarting the server, the new version of Herd will
be running and both deploy and reconfigure will work.

I don't know what a good solution to this could be, but it may be
something we need to consider in future development of Herd.

Best wishes,

Alex