From debbugs-submit-bounces@debbugs.gnu.org Sun May 23 17:43:26 2021 Received: (at 47172) by debbugs.gnu.org; 23 May 2021 21:43:27 +0000 Received: from localhost ([127.0.0.1]:41886 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lkvsc-00008r-Ey for submit@debbugs.gnu.org; Sun, 23 May 2021 17:43:26 -0400 Received: from eggs.gnu.org ([209.51.188.92]:40370) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lkvsY-00008V-Hu; Sun, 23 May 2021 17:43:24 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:44660) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lkvsT-000595-AX; Sun, 23 May 2021 17:43:17 -0400 Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=47488 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lkvsN-0005t4-E1; Sun, 23 May 2021 17:43:13 -0400 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Marius Bakke Subject: Re: bug#47172: Shepherd 0.8.1 tests fail on core-updates References: <37305bfa08faea95b45a6496623154c2ebab1f11.camel@zaclys.net> <87zgwl4ui0.fsf@gnu.org> <87v9794l2a.fsf@gnu.org> <875yz9qxrv.fsf@gnu.org> Date: Sun, 23 May 2021 23:43:09 +0200 In-Reply-To: <875yz9qxrv.fsf@gnu.org> (Marius Bakke's message of "Sun, 23 May 2021 17:23:48 +0200") Message-ID: <87lf853z4i.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.2 (gnu/linux) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47172 Cc: 47172@debbugs.gnu.org, 48368@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello, Marius Bakke skribis: > Ludovic Court=C3=A8s skriver: [...] >> A workaround that works with 3.0.7 is swapping the two =E2=80=98and=E2= =80=99 >> sub-expressions: >> >> diff --git a/modules/shepherd/scripts/herd.scm b/modules/shepherd/script= s/herd.scm >> index 106de1e..39d2e34 100644 >> --- a/modules/shepherd/scripts/herd.scm >> +++ b/modules/shepherd/scripts/herd.scm >> @@ -126,8 +126,8 @@ of pairs." >> the daemon via SOCKET-FILE." >> (with-system-error-handling >> (let ((sock (open-connection socket-file)) >> - (action* (if (and (eq? action 'detailed-status) >> - (memq service '(root shepherd))) >> + (action* (if (and (memq service '(root shepherd)) >> + (eq? action 'detailed-status)) >> 'status >> action))) >> ;; Send the command. > > Cc'ing the relevant Guile bug: > > https://bugs.gnu.org/48368 Oh nice! (It would have saved me a bit of time to catch up on email beforehand. :-)) > See also commit 79be6a985799adc6d663890250f4fb7c12f015b4 on > 'core-updates' that builds with -O1 as a less satisfactory workaround. I found that =E2=80=98-O2 -Ono-resolve-primitives=E2=80=99 also does the tr= ick. If we manually replace =E2=80=98memq=E2=80=99 by two =E2=80=98eq?=E2=80=99 = tests (which is what the compiler does), the same problem is exhibited: --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/modules/shepherd/scripts/herd.scm b/modules/shepherd/scripts/herd.scm index 106de1e..513508f 100644 --- a/modules/shepherd/scripts/herd.scm +++ b/modules/shepherd/scripts/herd.scm @@ -127,7 +127,8 @@ the daemon via SOCKET-FILE." (with-system-error-handling (let ((sock (open-connection socket-file)) (action* (if (and (eq? action 'detailed-status) - (memq service '(root shepherd))) + (or (eq? service 'root) + (eq? service 'shepherd))) 'status action))) ;; Send the command. --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable =E2=80=98-Ono-resolve-primitives=E2=80=99 also helps in this case. =E2=80=98-Ono-optimize-branch-chains=E2=80=99 has no effect. So, not much progress, but at least we have a workaround. Thanks, Ludo=E2=80=99. --=-=-=--