all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#53225: shepherd freezes if wireguard is started with dns config enabled
@ 2022-01-13  0:27 Nathan Dehnel
  2022-01-13 15:11 ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Nathan Dehnel @ 2022-01-13  0:27 UTC (permalink / raw)
  To: 53225

When dns is specified, wireguard runs wg-quick, which runs resolvconf,
which runs /run/current-system/profile/bin/herd restart, which causes
shepherd to freeze because I guess it doesn't like being given
multiple start commands at once. I'm not sure how to fix it.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#53225: shepherd freezes if wireguard is started with dns config enabled
  2022-01-13  0:27 bug#53225: shepherd freezes if wireguard is started with dns config enabled Nathan Dehnel
@ 2022-01-13 15:11 ` Ludovic Courtès
  2022-01-13 22:41   ` Nathan Dehnel
  0 siblings, 1 reply; 4+ messages in thread
From: Ludovic Courtès @ 2022-01-13 15:11 UTC (permalink / raw)
  To: Nathan Dehnel; +Cc: 53225

Hi,

Nathan Dehnel <ncdehnel@gmail.com> skribis:

> When dns is specified, wireguard runs wg-quick, which runs resolvconf,
> which runs /run/current-system/profile/bin/herd restart, which causes
> shepherd to freeze because I guess it doesn't like being given
> multiple start commands at once. I'm not sure how to fix it.

What do you mean by “freezing”?  Does ‘herd status’ and similar commands
block forever?  Or is it something else?

Requests in the Shepherd are currently handled sequentially.  So if you
issue several ‘herd restart’ commands, they’ll be processed one at a
time.  This is usually okay because ‘start’ commands are expected to be
quick (just wait for the daemon to write its PID file or similar).

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#53225: shepherd freezes if wireguard is started with dns config enabled
  2022-01-13 15:11 ` Ludovic Courtès
@ 2022-01-13 22:41   ` Nathan Dehnel
  2022-01-17 13:48     ` Ludovic Courtès
  0 siblings, 1 reply; 4+ messages in thread
From: Nathan Dehnel @ 2022-01-13 22:41 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 53225

>What do you mean by “freezing”?  Does ‘herd status’ and similar commands
block forever?
Yes

>Requests in the Shepherd are currently handled sequentially.  So if you
issue several ‘herd restart’ commands, they’ll be processed one at a
time.  This is usually okay because ‘start’ commands are expected to be
quick (just wait for the daemon to write its PID file or similar).
What is the nature of this serialization? Does wireguard need to
finish before resolvconf can start? Because that's probably the issue.


On Thu, Jan 13, 2022 at 9:11 AM Ludovic Courtès <ludo@gnu.org> wrote:
>
> Hi,
>
> Nathan Dehnel <ncdehnel@gmail.com> skribis:
>
> > When dns is specified, wireguard runs wg-quick, which runs resolvconf,
> > which runs /run/current-system/profile/bin/herd restart, which causes
> > shepherd to freeze because I guess it doesn't like being given
> > multiple start commands at once. I'm not sure how to fix it.
>
> What do you mean by “freezing”?  Does ‘herd status’ and similar commands
> block forever?  Or is it something else?
>
> Requests in the Shepherd are currently handled sequentially.  So if you
> issue several ‘herd restart’ commands, they’ll be processed one at a
> time.  This is usually okay because ‘start’ commands are expected to be
> quick (just wait for the daemon to write its PID file or similar).
>
> Thanks,
> Ludo’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#53225: shepherd freezes if wireguard is started with dns config enabled
  2022-01-13 22:41   ` Nathan Dehnel
@ 2022-01-17 13:48     ` Ludovic Courtès
  0 siblings, 0 replies; 4+ messages in thread
From: Ludovic Courtès @ 2022-01-17 13:48 UTC (permalink / raw)
  To: Nathan Dehnel; +Cc: 53225

Hi,

Nathan Dehnel <ncdehnel@gmail.com> skribis:

>>What do you mean by “freezing”?  Does ‘herd status’ and similar commands
> block forever?
> Yes
>
>>Requests in the Shepherd are currently handled sequentially.  So if you
> issue several ‘herd restart’ commands, they’ll be processed one at a
> time.  This is usually okay because ‘start’ commands are expected to be
> quick (just wait for the daemon to write its PID file or similar).
> What is the nature of this serialization? Does wireguard need to
> finish before resolvconf can start? Because that's probably the issue.

One command sent to shepherd by ‘herd …’ must have completed before the
next one is processed.

You can experience it like this:

  sudo herd eval root '(sleep 3)' & echo status && sudo herd status

Here the first ‘herd’ command has shepherd block for 3 seconds, so the
second ‘herd’ command won’t print anything until 3 seconds have passed.

HTH,
Ludo’.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-01-17 14:35 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-13  0:27 bug#53225: shepherd freezes if wireguard is started with dns config enabled Nathan Dehnel
2022-01-13 15:11 ` Ludovic Courtès
2022-01-13 22:41   ` Nathan Dehnel
2022-01-17 13:48     ` Ludovic Courtès

Code repositories for project(s) associated with this inbox:

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.