GNU bug report logs -
#41116
Guix deploy fails with new version of Herd
Previous Next
Reported by: alex <at> komputilo.eu
Date: Wed, 6 May 2020 22:24:02 UTC
Severity: important
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 41116 in the body.
You can then email your comments to 41116 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#41116
; Package
guix
.
(Wed, 06 May 2020 22:24:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
alex <at> komputilo.eu
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Wed, 06 May 2020 22:24:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
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
Information forwarded
to
bug-guix <at> gnu.org
:
bug#41116
; Package
guix
.
(Wed, 06 May 2020 22:46:01 GMT)
Full text and
rfc822 format available.
Message #8 received at 41116 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi Alex,
Alex Sassmannshausen via Bug reports for GNU Guix <bug-guix <at> gnu.org>
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?
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#41116
; Package
guix
.
(Wed, 06 May 2020 22:51:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 41116 <at> debbugs.gnu.org (full text, mbox):
Upon thinking further about this it seems to me the problem is caused by
guix deploy attempting to restart services as well as it can during
deployment. When this fails deployment fails.
guix system reconfigure on the other hand does not do this (afaik). As
a result it can complete.
Once reconfigure is completed a reboot switches to the new system
version and is then thus able to restart the services.
If all this is correct, then the long-discussed guix deploy feature of
service restart policies would resolve this issue elegantly:
When a similar herd upgrade in future looms, a switch away from "restart
running services" to "no restart services" or "reboot after deployment"
would avoid this currently hard-coded failure mode.
Food for thought perhaps, if my understanding is anywhere close to
right, that is.
Alex
Severity set to 'important' from 'normal'
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Thu, 07 May 2020 10:47:01 GMT)
Full text and
rfc822 format available.
Reply sent
to
Ludovic Courtès <ludo <at> gnu.org>
:
You have taken responsibility.
(Thu, 07 May 2020 12:28:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
alex <at> komputilo.eu
:
bug acknowledged by developer.
(Thu, 07 May 2020 12:28:02 GMT)
Full text and
rfc822 format available.
Message #18 received at 41116-done <at> debbugs.gnu.org (full text, mbox):
Hello Alex & Marius,
Marius Bakke <mbakke <at> fastmail.com> skribis:
> Alex Sassmannshausen via Bug reports for GNU Guix <bug-guix <at> gnu.org>
> 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’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#41116
; Package
guix
.
(Thu, 07 May 2020 13:30:02 GMT)
Full text and
rfc822 format available.
Message #21 received at 41116-done <at> debbugs.gnu.org (full text, mbox):
Hey,
Ludovic Courtès <ludo <at> gnu.org> writes:
> Hello Alex & Marius,
>
> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> Alex Sassmannshausen via Bug reports for GNU Guix <bug-guix <at> gnu.org>
>> 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.
I'm sorry I broke reconfigure and deploy. I didn't consider testing
upgrading from before Shepherd 0.8 to after my change and I didn't even
think of deploy. Going forth I'll leave messing with core functionality
to the pros.
> 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’.
Regards,
Diego
Information forwarded
to
bug-guix <at> gnu.org
:
bug#41116
; Package
guix
.
(Thu, 07 May 2020 15:42:03 GMT)
Full text and
rfc822 format available.
Message #24 received at 41116 <at> debbugs.gnu.org (full text, mbox):
Hi Marius,
Marius Bakke <mbakke <at> fastmail.com> writes:
> Hi Alex,
>
> [...]
>
> 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 believe Ludovic has now done this. I will test and close this bug
if it is now working.
Cheers,
Alex
Information forwarded
to
bug-guix <at> gnu.org
:
bug#41116
; Package
guix
.
(Fri, 08 May 2020 13:45:01 GMT)
Full text and
rfc822 format available.
Message #27 received at 41116-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Diego Nicola Barbato <dnbarbato <at> posteo.de> writes:
> Hey,
>
> Ludovic Courtès <ludo <at> gnu.org> writes:
>
>> Hello Alex & Marius,
>>
>> Marius Bakke <mbakke <at> fastmail.com> skribis:
>>
>>> Alex Sassmannshausen via Bug reports for GNU Guix <bug-guix <at> gnu.org>
>>> 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.
>
> I'm sorry I broke reconfigure and deploy. I didn't consider testing
> upgrading from before Shepherd 0.8 to after my change and I didn't even
> think of deploy. Going forth I'll leave messing with core functionality
> to the pros.
Mistakes happen, don't worry about it.
One thing that would be really useful and can prevent such situations in
the future is to have a "system test" that tries to run reconfigure from
the latest released version of Guix (currently 1.1.0).
There are already a few Shepherd tests in gnu/tests/base.scm and
gnu/tests/reconfigure.scm that can be used as inspiration.
Food for thought, patches welcome, etc. :-)
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#41116
; Package
guix
.
(Sat, 09 May 2020 23:24:02 GMT)
Full text and
rfc822 format available.
Message #30 received at 41116-done <at> debbugs.gnu.org (full text, mbox):
Hi,
Marius Bakke <mbakke <at> fastmail.com> skribis:
> Diego Nicola Barbato <dnbarbato <at> posteo.de> writes:
[...]
>>> I’ve reverted the patch in 5aa4d2dcf2f4f8786358feb45338893ed08a4cd9.
>>>
>>> Diego: I guess we can reinstate the patch “later”, once Shepherd 0.8 can
>>> be considered widespread.
>>
>> I'm sorry I broke reconfigure and deploy. I didn't consider testing
>> upgrading from before Shepherd 0.8 to after my change and I didn't even
>> think of deploy. Going forth I'll leave messing with core functionality
>> to the pros.
>
> Mistakes happen, don't worry about it.
Yup! Plus, the person who reviewed the patch, undoubtedly an equally
nice person, didn’t notice the issue either. :-)
> One thing that would be really useful and can prevent such situations in
> the future is to have a "system test" that tries to run reconfigure from
> the latest released version of Guix (currently 1.1.0).
>
> There are already a few Shepherd tests in gnu/tests/base.scm and
> gnu/tests/reconfigure.scm that can be used as inspiration.
Yes.
I was also wondering if it would make sense for services to somehow
state the major+minor version they’re targeting.
Ludo’.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 07 Jun 2020 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 3 years and 317 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.