GNU bug report logs -
#54786
Installation tests are failing
Previous Next
Reported by: Mathieu Othacehe <othacehe <at> gnu.org>
Date: Fri, 8 Apr 2022 09:52:01 UTC
Severity: important
Done: Mathieu Othacehe <othacehe <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #16 received at 54786 <at> debbugs.gnu.org (full text, mbox):
Hi!
Mathieu Othacehe <othacehe <at> gnu.org> skribis:
>> * cgit-test (https://ci.guix.gnu.org/build/646812/details)
>
> The nginx daemon seems to be started multiple times:
I believe this is caused by a change of semantics (really: a bug) in the
shepherd ‘start’ method in 0.9.0.
Previously, ‘start’ would wait until the daemon was started. If the
service was being started, shepherd wouldn’t reply until it was done
starting it.
In 0.9.0, shepherd replies even while it’s waiting for the service to be
started. But as a consequence, it lets you start a service that is
already being started, leading to this mess you reported.
The proper fix is to better track the status of each service in
shepherd, and to prevent double-starts.
In the interim, perhaps we can work around that by using a different
check to determine whether the service is running. For instance,
instead of:
(test-assert "nginx running"
(marionette-eval
'(begin
(use-modules (gnu services herd))
(start-service 'nginx))
marionette))
… we’d write something like:
(test-assert "nginx running"
(wait-for-file "/var/run/nginx/pid"))
Thoughts? I’ll give that a try.
Thanks for the heads-up!
Ludo’.
This bug report was last modified 2 years and 282 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.