'guix system reconfigure' does not reload Shepherd services

  • Done
  • quality assurance status badge
Details
6 participants
  • Alex Sassmannshausen
  • ison
  • Ludovic Courtès
  • Ricardo Wurmus
  • Robert Vollmert
  • Jakob L. Kreuze
Owner
unassigned
Submitted by
Robert Vollmert
Severity
important
R
R
Robert Vollmert wrote on 31 Jul 2019 18:18
guix system reconfigure broken
(address . bug-guix@gnu.org)(address . guix-devel@gnu.org)
E4A38AEA-BAC9-41D0-9164-A9C7487BB4B8@vllmrt.net
Hi,

it appears that commit 5c8c8c455420af27189d6045b3599fe6e27ad012

guix system: Reimplement 'reconfigure’.

breaks guix system reconfigure. In particular, after reconfiguring,
shepherd doesn’t know about the updated versions of services.

The usual output below is missing; after reverting the commit it’s
fine again.

guix system: loading new services: …
To complete the upgrade, run 'herd restart SERVICE' to stop,
upgrade, and restart each service that was not automatically restarted.
shepherd: Evaluating user expression (let* ((services (map primitive-load (?))) # ?) ?).
shepherd: Service user-homes has been started.
shepherd: Service term-auto could not be started.
bootloader successfully installed on '/dev/sda’

I see that some system tests for “guix system reconfigure” were added
after this change. Might I suggest adding them before the change next
time around, and making sure they pass both before and after?

Cheers
Robert
J
J
Jakob L. Kreuze wrote on 31 Jul 2019 18:45
(name . Robert Vollmert)(address . rob@vllmrt.net)
87wofycfuq.fsf@sdf.lonestar.org
Hi Robert,

Robert Vollmert <rob@vllmrt.net> writes:

Toggle quote (12 lines)
> Hi,
>
> it appears that commit 5c8c8c455420af27189d6045b3599fe6e27ad012
>
> guix system: Reimplement 'reconfigure’.
>
> breaks guix system reconfigure. In particular, after reconfiguring,
> shepherd doesn’t know about the updated versions of services.
>
> The usual output below is missing; after reverting the commit it’s
> fine again.

Could you please elaborate on what you mean by this? I can see that the
ouput has changed, but is Shepherd doing something that indicates that
it doesn't know about the new services? And is the line regarding
bootloader installation also missing from 'guix system reconfigure'
post-5c8c8c455?

Toggle quote (4 lines)
> I see that some system tests for “guix system reconfigure” were added
> after this change. Might I suggest adding them before the change next
> time around, and making sure they pass both before and after?

Sure. My apologies for not having the foresight to do that.

Regards,
Jakob
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEa1VJLOiXAjQ2BGSm9Qb9Fp2P2VoFAl1Bxb0ACgkQ9Qb9Fp2P
2VptIg//XqD591WeOt3RLoq1Q8FxgmVbdg41uRSoMU7IKWWEpvbxWGyeCy0ymEni
mP5CrYAFB0Cj9hTc9VQqJGXB8Uzzu9bcltgSrdX/Mw/zSm5y4U5vScSM0APH+wNq
zjaa3eRVhFS28VG6FQJ6YZWhBHivECfoPlpiPY5bytQWVH31Fs2HZqF19Tx9lL5C
bMt1slnXCEsNj3HIrdcjNv0pMcbzkYXOLTN8WTve32am8raIZ3wtrKR8KkX9baZQ
/beT0AsPxPp00x1E7euVekMRdZQ8he4XdakuacqlVwzNj7dRDAaIZIqGMdS9vVR+
xb2Ybt9oQCcpUNdIAGY5UMKLW44Th8N8NsISQ/Vy1J4PZSsoJZycwskMYQPWuXet
Tlu2qQFAMXQhE6JmMp2hkR7kOukhHDEJfhPtzqi6G6Wvj7+z9ILNcp7wHbAdTFYP
S4pgNcWPutG1FEMv24PNXHjn0bnjvKd+UCtZxUog0nW0E409HXnbdwYNOgyq9eP3
O2AkmTmW2D2zLS4Ho7nCYkCSv+afwgWaetl6IXkzezVNll+RXq+lisL2XwqBCZF7
V2lEYjqCf0TTI4VqArqUTKmJ2FS3X6EN/LC8vptmdgRBTIwqAcainaFvBLEcEXXy
Zan0KjtfoQNDeG5xivdDIhvqg4/duOgTAzUcCwVQ3e1GIPRR7I4=
=S1GG
-----END PGP SIGNATURE-----

R
R
Robert Vollmert wrote on 31 Jul 2019 19:06
(name . Jakob L. Kreuze)(address . zerodaysfordays@sdf.lonestar.org)
0D1F3165-BE55-42D8-98D9-364CB4904A0E@vllmrt.net
Toggle quote (19 lines)
> On 31. Jul 2019, at 18:45, Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> wrote:
> Robert Vollmert <rob@vllmrt.net> writes:
>
>> Hi,
>>
>> it appears that commit 5c8c8c455420af27189d6045b3599fe6e27ad012
>>
>> guix system: Reimplement 'reconfigure’.
>>
>> breaks guix system reconfigure. In particular, after reconfiguring,
>> shepherd doesn’t know about the updated versions of services.
>>
>> The usual output below is missing; after reverting the commit it’s
>> fine again.
>
> Could you please elaborate on what you mean by this? I can see that the
> ouput has changed, but is Shepherd doing something that indicates that
> it doesn't know about the new services?

The concrete problem is this:

1. nginx is running with config file A
2. make some change to nginx config
3. run guix system reconfigure (which builds a new nginx config file B)
4. run herd restart nginx
5. nginx is still running with config file A

After reverting this commit, if I perform these steps, I end up with
nginx running with config file B in 5.

Toggle quote (4 lines)
> And is the line regarding
> bootloader installation also missing from 'guix system reconfigure'
> post-5c8c8c455?

I still get a bootloader line.

Cheers
Robert
J
J
Jakob L. Kreuze wrote on 31 Jul 2019 20:16
(name . Robert Vollmert)(address . rob@vllmrt.net)
87k1bycbn8.fsf@sdf.lonestar.org
Hi Robert,

Robert Vollmert <rob@vllmrt.net> writes:

Toggle quote (11 lines)
> The concrete problem is this:
>
> 1. nginx is running with config file A
> 2. make some change to nginx config
> 3. run guix system reconfigure (which builds a new nginx config file B)
> 4. run herd restart nginx
> 5. nginx is still running with config file A
>
> After reverting this commit, if I perform these steps, I end up with
> nginx running with config file B in 5.

Okay, I see now. Thank you clarifying. Would you be willing to see if
the patch provided by #36880 fixes this issue?

Toggle quote (2 lines)
> I still get a bootloader line.

Great -- thanks for checking that for me!

Regards,
Jakob
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEa1VJLOiXAjQ2BGSm9Qb9Fp2P2VoFAl1B2wsACgkQ9Qb9Fp2P
2VpoAQ/8CYXe2/RHmrKQR4Oqsdj5D8dsod+131/nS2FBptemZcBwPmy6vYovxgCG
9mLIhzBz27DstmJJmee2zxZqoZqFjv2PgamHci2m+EFotLgbEsBSRbSxHrla5RQl
Zfb+RlmvagZ+tHKDEJhLccCRHYrVN1VVxkJSBPwwSQT4ycyBbA4twzKZw/bMUOSK
n+b+LL79W238iLAjr6SGCBdqoTZmJ5ZVb8qUVW/xF1b6HMY8esfZbTvymT7KmbMZ
Mg2Pup9Oeu+DuJojRsO6MWbf/ziP4X4QJfbBuku3+pm6R+D9x5FzacbV3E4+Flfg
UPDRRM9GvrnUebj6Z3td1jWyh5R0tnLGtXZseOCNmPTB9s0fu/sJhkW0Od5SbiEJ
6XQ/90IobuwtuhheB5VlYjXYbjOAoyYBMQ1Iz1YvNL1Kxtdqb4A8IeYqc+gAkdZj
KlTWHlGZEBq0UGtVUFF+IZmW7K4Qvk7DoAqRVAwpH6wxyDgTnrRCBkjpnExyNOiZ
YGJJHCqSccBqwTXy0F/lY6KktiXuBncWJaY1DUMV5RkRWQkYho5aYQAQmE8puVRK
nv4XF+w4qqSnyphvghbUUiq8CmR37TJaeKu4HuqUa0Wp+8a3msYShW/YffxLhdnb
Pq1Xv8oXX0grQtJNIsu846mmRG1mWd219URiItnSk6rdgxf8fV8=
=KGqA
-----END PGP SIGNATURE-----

R
R
Robert Vollmert wrote on 1 Aug 2019 10:30
(name . Jakob L. Kreuze)(address . zerodaysfordays@sdf.lonestar.org)
AF85F3A1-9899-4F5C-AE81-42A52DE71386@vllmrt.net
Toggle quote (20 lines)
> On 31. Jul 2019, at 20:16, Jakob L. Kreuze <zerodaysfordays@sdf.lonestar.org> wrote:
>
> Hi Robert,
>
> Robert Vollmert <rob@vllmrt.net> writes:
>
>> The concrete problem is this:
>>
>> 1. nginx is running with config file A
>> 2. make some change to nginx config
>> 3. run guix system reconfigure (which builds a new nginx config file B)
>> 4. run herd restart nginx
>> 5. nginx is still running with config file A
>>
>> After reverting this commit, if I perform these steps, I end up with
>> nginx running with config file B in 5.
>
> Okay, I see now. Thank you clarifying. Would you be willing to see if
> the patch provided by #36880 fixes this issue?

Yes, it seems it does!
A
A
Alex Sassmannshausen wrote on 1 Aug 2019 11:21
(address . bug-guix@gnu.org)
875znhi6lh.fsf@gmail.com
Thanks for reporting this, I experienced the same issue but blamed it on
my own infrastructure instead!

Good to hear it's resolved now.

Alex

Robert Vollmert <rob@vllmrt.net> writes:

Toggle quote (26 lines)
> Hi,
>
> it appears that commit 5c8c8c455420af27189d6045b3599fe6e27ad012
>
> guix system: Reimplement 'reconfigure’.
>
> breaks guix system reconfigure. In particular, after reconfiguring,
> shepherd doesn’t know about the updated versions of services.
>
> The usual output below is missing; after reverting the commit it’s
> fine again.
>
> guix system: loading new services: …
> To complete the upgrade, run 'herd restart SERVICE' to stop,
> upgrade, and restart each service that was not automatically restarted.
> shepherd: Evaluating user expression (let* ((services (map primitive-load (?))) # ?) ?).
> shepherd: Service user-homes has been started.
> shepherd: Service term-auto could not be started.
> bootloader successfully installed on '/dev/sda’
>
> I see that some system tests for “guix system reconfigure” were added
> after this change. Might I suggest adding them before the change next
> time around, and making sure they pass both before and after?
>
> Cheers
> Robert
J
J
Jakob L. Kreuze wrote on 1 Aug 2019 16:10
(name . Robert Vollmert)(address . rob@vllmrt.net)
871ry59dsw.fsf@sdf.lonestar.org
Robert Vollmert <rob@vllmrt.net> writes:

Toggle quote (2 lines)
> Yes, it seems it does!

Great :)

CC'ing Chris and Dave since I don't have write access -- can we
fast-track #36880 into master? I'd consider this to be a high-priority
bug fix.

Regards,
Jakob
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEa1VJLOiXAjQ2BGSm9Qb9Fp2P2VoFAl1C8t8ACgkQ9Qb9Fp2P
2VoCwA/8D6vKBPiejE0FBTb6AAKVJYLcPh9GVHjLouVVaUEOXRey6ZpAkY+VGopx
7XqcflIoTLwfi5tAqKOP4cOtYMnZCOXuZ4XaQPoP/T7rv1ae+rMSHlr2+UF0DErZ
/armrEyIEafkm28TdxFzgEpM575YUhAzKiQy3n5RIVwXl4x0PBF8rR2+lrN/lT+q
mcx0Ovu7g9kfCEIvMrf1KzwsscfOqNuXQFiMhusog1mgt4Sq7NwC3Ok7VQWOCf/b
GWsUXEgTrkBA8CHSIatbKtLMSOvlZFX+Vcz77jQXUlRj4IhRyGIDA/MbqOKPb9ip
tbR5Y0EN7iwBWjM8ff7LofGi20YaV9DfsgLLxi50FjlEhppmvSV4anC8gw09DdiV
n/cKr3+EXRfOPWVoQIB0N8DqT+ieMGXNcHq2aZE18N+DYjxNJcXY+MB3VYMh5Iw7
+nKrfJJgOF0gAg10Y97ZzWMeujTjtLgI8fkmple/d0shCt1aHfCCutFXXNWtm6Vz
UVcILa2gCsC0JLscR83BKmh4bPTjORci4ifeT1Td0KN8NflAPlpDV8086QXOzKR5
K55OqRGows3bcLR4/rSH7AybkLVDVG+8NIVIBh1vmhTNYuVYHdfAVzyaYq6m4FSC
WKWSZ4AjlDPpiSKVe0mNkfUyHO+TSSP2fl4NPqTHpE+w3XzSP7U=
=f+GC
-----END PGP SIGNATURE-----

J
J
Jakob L. Kreuze wrote on 2 Aug 2019 17:11
(name . Robert Vollmert)(address . rob@vllmrt.net)
87lfwb1u1o.fsf@sdf.lonestar.org
zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze) writes:

Toggle quote (9 lines)
> Great :)
>
> CC'ing Chris and Dave since I don't have write access -- can we
> fast-track #36880 into master? I'd consider this to be a high-priority
> bug fix.
>
> Regards,
> Jakob

The patch made it into master as 1db6f137d; thanks to Danny for signing
off on it. Should we close this?

Regards,
Jakob
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEa1VJLOiXAjQ2BGSm9Qb9Fp2P2VoFAl1EUqMACgkQ9Qb9Fp2P
2Vqg4Q//Va3vbKYtNK1jv7tOQNkws85gunXD4yooa+04QzHZrJDcbvLhverlCoqT
R5oHhwyz65aqzINf5JbQhBcI/FKdMV548j0RPUjswXnr2IuQfIVEepjcUKJ3GLSv
+fLIL8PDxHLPbOS16P7dBi6AVZjJ0zQdE4B2NR0RH7xRi3FijVOm/OgdhwmxVqxg
8ZLAX8Z39ChdxrN1oZrHl96efaM252PbKXV2m9RvteFU1RvXjM1S+ry3MxkMaUYf
Xs8Kj1kgzeHJ/YbVwmyieZkC/rGd0OUHKaPVmhN+R0EjF4ls4qTPVDbm2nhesu26
Fchj7YK3ffY3Uzjmsik1zIigjlWl6mnc3aqS0E4IUips+DH9pxO9CNEMFHVvvCEt
pl9oNI44jRhaCMEDk9iZdZ021aX1YBd8gn0lqwZvX981Psf3/bRdYaxGRl4cdY/p
NTr1p1OlWLBjOtLtsq8fWPbC5qhNCaZkJBhnoZTRXex4KLyWYeXqzjh5hmYWaxSp
sTDGJ3zT3HCNL+XW3377vyB1TVYZ/SEXcUtlG8KcVpjr0siOk+Ds4qVxn748096C
zOMFLL5sXdPCIpYt2RcI7Y23/hOgYNxLSeDiJp6e2uqeefWJMNEPnoi3dARvqEBx
vqMpMxeNA18iNbF9XMbljuWEUcYZAADZ+YYXGpfIpEOUj+V21wk=
=RRGp
-----END PGP SIGNATURE-----

I
(name . Jakob L. Kreuze)(address . zerodaysfordays@sdf.lonestar.org)
20190805100741.uh5ijas6tjw4efut@cf0
On Fri, Aug 02, 2019 at 11:11:31AM -0400, Jakob L. Kreuze wrote:
Toggle quote (3 lines)
> The patch made it into master as 1db6f137d; thanks to Danny for signing
> off on it. Should we close this?

I'm still experiencing this issue. "guix describe" shows that I'm using
commit 35600cd which should be newer than the fix.

I made the mistake of rebooting my machine after I first got this error, I
thought perhaps it was benign. But when it came back up I was dropped to a
GRUB rescue shell with some error about "grub_file_filters" being an unknown
symbol.

When running grub commands like "insmod normal" would just repeat the error
or say command not found.
The only way I could think to repair it was to run the Guix install disk,
mount my partitions, and do another "guix init" which allows me to boot into
my machine again. However, when I run "guix pull" and then perform a
reconfigure I still keep seeing the same line:
shepherd: Evaluating user expression (let* ((services (map primitive-load (?))) # ?) ?)

I've tried this on several occasions over the last few days with different
commits following the supposed fix, and it still keeps doing the same thing,
and every time I follow the reconfigure with a reboot GRUB is broken again.
R
R
Ricardo Wurmus wrote on 5 Aug 2019 13:47
(name . ison)(address . ison@airmail.cc)
87r25zzvdw.fsf@elephly.net
ison <ison@airmail.cc> writes:

Toggle quote (5 lines)
> I made the mistake of rebooting my machine after I first got this error, I
> thought perhaps it was benign. But when it came back up I was dropped to a
> GRUB rescue shell with some error about "grub_file_filters" being an unknown
> symbol.

This eems unrelated. The problem sounds like GRUB and its modules
aren’t found for some reason.

Toggle quote (8 lines)
> When running grub commands like "insmod normal" would just repeat the error
> or say command not found.
> The only way I could think to repair it was to run the Guix install disk,
> mount my partitions, and do another "guix init" which allows me to boot into
> my machine again. However, when I run "guix pull" and then perform a
> reconfigure I still keep seeing the same line:
> shepherd: Evaluating user expression (let* ((services (map primitive-load (?))) # ?) ?)

I reconfigured a workstation yesterday and also saw this line. It does
look like an error, but it seems to be completely harmless. I could
boot juts fine. I suppose that’s just the part where new service
definitions are loaded.

The problem you’re seeing is unrelated to this output.

--
Ricardo
J
J
Jakob L. Kreuze wrote on 5 Aug 2019 16:59
(name . ison)(address . ison@airmail.cc)
87a7cnzmhe.fsf@sdf.lonestar.org
Hi ison and Ricardo,

Ricardo Wurmus <rekado@elephly.net> writes:

Toggle quote (10 lines)
> ison <ison@airmail.cc> writes:
>
>> I made the mistake of rebooting my machine after I first got this
>> error, I thought perhaps it was benign. But when it came back up I
>> was dropped to a GRUB rescue shell with some error about
>> "grub_file_filters" being an unknown symbol.
>
> This eems unrelated. The problem sounds like GRUB and its modules
> aren’t found for some reason.

It is unrelated to this specific issue, but it still does sound like my
patch is the source of the problem. Would you be willing to open a
separate ticket for tracking this, ison?

Toggle quote (15 lines)
>> When running grub commands like "insmod normal" would just repeat the error
>> or say command not found.
>> The only way I could think to repair it was to run the Guix install disk,
>> mount my partitions, and do another "guix init" which allows me to boot into
>> my machine again. However, when I run "guix pull" and then perform a
>> reconfigure I still keep seeing the same line:
>> shepherd: Evaluating user expression (let* ((services (map primitive-load (?))) # ?) ?)
>
> I reconfigured a workstation yesterday and also saw this line. It does
> look like an error, but it seems to be completely harmless. I could
> boot juts fine. I suppose that’s just the part where new service
> definitions are loaded.
>
> The problem you’re seeing is unrelated to this output.

Yes, this output is normal. Shepherd loads service files by evaluating
Scheme expressions. I could have sworn that 'guix system reconfigure'
showed the same line prior to my patch.

ison -- I'm very sorry that you've had this experience. Would you be
willing to share the 'bootloader' field of your operating system
configuration so I can look into this?

Regards,
Jakob
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEa1VJLOiXAjQ2BGSm9Qb9Fp2P2VoFAl1IRG4ACgkQ9Qb9Fp2P
2VpHDg//Yhzwypt4BgKa5/E9RYyDmUwh4Xw276qPUiDy1oW2r7tFynoTjKozXefd
xJDi8jMIyjzPUu0mxTHWv+SyIMC5vs6e5y+kJoVxl0p4AqMo0OIBi7K86htRo5aZ
IPDbswKl2xB6PHZ3Nhtbwscfc4ndlbb2cpeArxaB0wOz9vDDhgnHltR9tg5P+H5J
q2y0G0hy7CI4TOQRlk9+Z5bjqX1hZx03gNnqdfo2LOirj648AqrNMPROdy4z+/Vh
NwEyXUMYGzOT8NEGIMGAxkSqIyAoy4ly5pWQHotizzGJiqi8Pafyz9XgfeDYqDeV
CaH4GjpxVHCvKxrceVXAfPU7u4Dz2Z4ZkVp/tyMNHD/uMnEn1CrlBjtbXOvlpUq1
tJtXbYsvxSr3KuQGgRfw4Bm1+3CoYwA+XaK4zA8Ptusz1BxPxfigbWs7eM0qIl/Q
RFg6/1opDl53aGMydVFYiaSUl7BvDOrNoqqw0+bM1IGwre/E+jBUYe7uCpvF4WxH
SrMNm5bSPl48uTEX6RnsbuaGo/M6Y772/p3jDGVGfWE8+wqhZ31lNyB9XiRB1edG
tE3NEa5Rg7qDMIhoSMoMxS5Zis6B9OEoValYcrQLL2nwt1qysj/pqVbSkpgJnyMO
48Hq5lS27DYiRZMOvkA9ZL0Wb7Qpva37pSzwiUxn1wS/OT4OBWs=
=lP9e
-----END PGP SIGNATURE-----

I
(name . Jakob L. Kreuze)(address . zerodaysfordays@sdf.lonestar.org)
20190806025554.vl65jfdvoo7elazq@cf0
On Mon, Aug 05, 2019 at 10:59:57AM -0400, Jakob L. Kreuze wrote:
Toggle quote (4 lines)
> ison -- I'm very sorry that you've had this experience. Would you be
> willing to share the 'bootloader' field of your operating system
> configuration so I can look into this?

Thanks for taking an interest. Here is the new bug report:

Please let me know if there's any other information or testing I
can do to help figure it out.
L
L
Ludovic Courtès wrote on 23 Aug 2019 14:54
control message for bug #36878
(address . control@debbugs.gnu.org)
87a7c06nze.fsf@gnu.org
severity 36878 important
quit
L
L
Ludovic Courtès wrote on 23 Aug 2019 14:55
(address . control@debbugs.gnu.org)
878srk6nys.fsf@gnu.org
retitle 36878 'guix system reconfigure' does not reload Shepherd services
quit
L
L
Ludovic Courtès wrote on 23 Aug 2019 14:55
Re: bug#36878: guix system reconfigure broken
(name . Jakob L. Kreuze)(address . zerodaysfordays@sdf.lonestar.org)
877e746nxq.fsf@gnu.org
Hello,

zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze) skribis:

Toggle quote (14 lines)
> zerodaysfordays@sdf.lonestar.org (Jakob L. Kreuze) writes:
>
>> Great :)
>>
>> CC'ing Chris and Dave since I don't have write access -- can we
>> fast-track #36880 into master? I'd consider this to be a high-priority
>> bug fix.
>>
>> Regards,
>> Jakob
>
> The patch made it into master as 1db6f137d; thanks to Danny for signing
> off on it. Should we close this?

I gather that this particular issue is fixed, so closing the bug now!

Ludo’.
Closed
?