From unknown Sat Aug 09 13:14:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71144: Interactive prompt opened upon shepherd config file error Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: andreas@enge.fr, mail@cbaines.net, bug-guix@gnu.org Resent-Date: Thu, 23 May 2024 11:01:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71144 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71144@debbugs.gnu.org Cc: Andreas Enge , Christopher Baines X-Debbugs-Original-To: bug-guix@gnu.org X-Debbugs-Original-Xcc: Andreas Enge , Christopher Baines Received: via spool by submit@debbugs.gnu.org id=B.171646200326902 (code B ref -1); Thu, 23 May 2024 11:01:02 +0000 Received: (at submit) by debbugs.gnu.org; 23 May 2024 11:00:03 +0000 Received: from localhost ([127.0.0.1]:58924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sA6B0-0006zX-Ek for submit@debbugs.gnu.org; Thu, 23 May 2024 07:00:03 -0400 Received: from lists.gnu.org ([209.51.188.17]:37548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sA6Av-0006yu-UH for submit@debbugs.gnu.org; Thu, 23 May 2024 07:00:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sA6Ao-0003Pw-4p for bug-guix@gnu.org; Thu, 23 May 2024 06:59:50 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sA6Aj-0006VD-Nl for bug-guix@gnu.org; Thu, 23 May 2024 06:59:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=HE1BKIrfMBlMWCvULZ1yjtY025VbOVwctCma70nQu6o=; b=gsFfB7ww2twraAptgequq3TgZWIE1HVo/n26A+8NJqbWF2lyz88IqM/x ctkH0RorEDpDzs4gehuiG6qz/chdS53RKJiyCYQlNf9cjeBfJu1vxSI/k ynaJ9W9uB11TjcHwxgQxGgYmmK0ppJmMKRGVgKvvZqg5JMWLSJMK+ONkX 4=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludovic.courtes@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.08,182,1712613600"; d="scan'208";a="167071300" Received: from 91-160-117-201.subs.proxad.net (HELO ribbon) ([91.160.117.201]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2024 12:59:41 +0200 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Quintidi 5 Prairial an 232 de la =?UTF-8?Q?R=C3=A9volution,?= jour du Canard X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 23 May 2024 12:59:40 +0200 Message-ID: <87sey894kj.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=192.134.164.83; envelope-from=ludovic.courtes@inria.fr; helo=mail2-relais-roc.national.inria.fr X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) 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: -2.3 (--) Hello, One problem we noticed in the analysis of the boot problem of bayfront after the recent downtime=C2=B9 is that an interactive REPL would be opened after an unbound variable was found in the shepherd config file: --8<---------------cut here---------------start------------->8--- [ 13.098907] shepherd[1]: Service root started. [ 13.100711] shepherd[1]: Service root running with value #t. [ 13.103824] shepherd[1]: Service root has been started. [ 13.426102] shepherd[1]: ice-9/boot-9.scm:1685:16: In procedure raise-ex= ception: [ 13.428099] shepherd[1]: Unbound variable: make-forkexec-constructor/con= tainer [ 13.429912] shepherd[1]:=20 [ 13.431108] shepherd[1]: Entering a new prompt. Type `,bt' for a backtr= ace or `,q' to continue. [ 13.441983] shepherd[1]: GNU Guile 3.0.9 [ 13.442728] shepherd[1]: Copyright (C) 1995-2023 Free Software Foundatio= n, Inc. [ 13.443947] shepherd[1]:=20 [ 13.444427] shepherd[1]: Guile comes with ABSOLUTELY NO WARRANTY; for de= tails type `,show w'. [ 13.445679] shepherd[1]: This program is free software, and you are welc= ome to redistribute it [ 13.446919] shepherd[1]: under certain conditions; type `,show c' for=20 [ 13.447072] shepherd[1]: details. [ 13.448737] shepherd[1]:=20 [ 13.449239] shepherd[1]: Enter `,help' for help. --8<---------------cut here---------------end--------------->8--- This was unhelpful because we couldn=E2=80=99t interact with that REPL remo= tely (no IPMI). Even when you can interact, it=E2=80=99s of limited use; in this case, if you type =E2=80=9C,q=E2=80=9D, it tries to continue and fails: --8<---------------cut here---------------start------------->8--- Uncaught exception in task: In fibers.scm: 172:8 7 (_) In ice-9/exceptions.scm: 406:15 6 (_) In ice-9/boot-9.scm: 1752:10 5 (with-exception-handler _ _ #:unwind? _ # _) In shepherd/service.scm: 824:39 4 (_) this is because we=E2=80=99re effectively adding #f in the middle of the li= st passed to =E2=80=98register-services=E2=80=99 (see below). This REPL-on-error =E2=80=9Cfeature=E2=80=9D comes from Guix System, not Sh= epherd, in the config file generated from (gnu services shepherd): ;; Arrange to spawn a REPL if something goes wrong. This is better ;; than a kernel panic. (call-with-error-handling (lambda () (register-services (parameterize ((current-warning-port (%make-void-port "w"))) (map (lambda (file) (save-module-excursion (lambda () (set-current-module (make-user-module)) (load-compiled file)))) '#$(map scm->go files)))))) The rationale mentioned in the comment no longer holds: starting from Shepherd 0.10.2, the config file is loaded in the background; if it=E2=80= =99s evaluation fails, shepherd keeps running (see =E2=80=98tests/config-failure.sh=E2=80=99, which tests this behavior). I think we should change the above to log and gracefully handle failure to load an individual service file. Ludo=E2=80=99. =C2=B9 https://lists.gnu.org/archive/html/info-guix/2024-05/msg00000.html From debbugs-submit-bounces@debbugs.gnu.org Sat May 25 04:56:20 2024 Received: (at control) by debbugs.gnu.org; 25 May 2024 08:56:20 +0000 Received: from localhost ([127.0.0.1]:42181 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAnCO-0007Xs-8T for submit@debbugs.gnu.org; Sat, 25 May 2024 04:56:20 -0400 Received: from eggs.gnu.org ([209.51.188.92]:42702) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAnCN-0007Xk-2H for control@debbugs.gnu.org; Sat, 25 May 2024 04:56:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sAnCA-0005GU-6c for control@debbugs.gnu.org; Sat, 25 May 2024 04:56:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:Subject:From:To:Date:in-reply-to: references; bh=W5z4Fg5uAWLob4otrN7Oj4ndDuiSSqBHmsn+3M0sKjQ=; b=EOHJM0Tg3+lfIK fvCG1nOqJbGSSd6nWwjJcOinLTGz8wMJyTwPLnvP4Ug/K02OWPB4OBdmtYYXFLpek7o6HnXYCaLET O+ORih58y8cXHMydAiea5nssr8OowEa7cuAbOY48VH1ZdIamfeazQ4IwlScvWce+WAKmoZCEFgkQc /qYwiApXHp4xrastJr5JRpWFCEO8D5nfZLqYjDUV2C+ja105wI64CVU5kP+/HTA0aS9MAEj0Cnvq3 2NJkMa17YbpaZent2cFu+hSJR79YpzTxwOjqcDUIBU3+K3Las0FEmDbAK0XOWhfbYrxPPpQWD7Amw GSjufqzrrsJAtFIU9Lmw==; Date: Sat, 25 May 2024 10:56:02 +0200 Message-Id: <87jzji46e5.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #71144 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control 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 (---) severity 71144 important quit From unknown Sat Aug 09 13:14:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71144: Interactive prompt opened upon shepherd config file error Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 25 May 2024 09:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71144 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 71144@debbugs.gnu.org Cc: Andreas Enge , Christopher Baines Received: via spool by 71144-submit@debbugs.gnu.org id=B71144.17166282837959 (code B ref 71144); Sat, 25 May 2024 09:12:02 +0000 Received: (at 71144) by debbugs.gnu.org; 25 May 2024 09:11:23 +0000 Received: from localhost ([127.0.0.1]:42253 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAnQx-00024J-Cp for submit@debbugs.gnu.org; Sat, 25 May 2024 05:11:23 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38540) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAnQv-00024C-1X for 71144@debbugs.gnu.org; Sat, 25 May 2024 05:11:21 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sAnQh-0007wF-Tz; Sat, 25 May 2024 05:11:07 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=uMQM1ZSvWN9RfRxpynvGYLmgTxZaAhoS8pngWsR6RQ8=; b=PMwKo2xkDCZXAz34uSuT Jhz/6U27o1XKaH/hb/Hp7yRJwMVsBC8ZOqq5Vr9kv2tuanPyQAbJQjO+Z3f4f3sF3Efgox4i0bUdn kNFS1KQVeT1/R/GmMnKefDWXeVXblO9PNID545OOTR+byb1KKlIGzgEN4fpzJCJQtLXcJ/xYv8mwg DSOqnarrBlRTXWNawmyNp4EDQGvueCxrcMNP/Gf2smlDcEnu/Ds8c6x2cVO/B/3tvmYRh8SMEegXk /iD4XpCu34gl9MIQb1+iiQ0iLO3Be66PnLvtvyipbG92oAuSwGRGUpqHA15kns/DGyg+TjKO1utyJ 3Uz9cVW8HUiQqw==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: <87sey894kj.fsf@inria.fr> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Thu, 23 May 2024 12:59:40 +0200") References: <87sey894kj.fsf@inria.fr> Date: Sat, 25 May 2024 11:11:04 +0200 Message-ID: <878qzy45p3.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -2.3 (--) 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 Ludovic Court=C3=A8s skribis: > I think we should change the above to log and gracefully handle failure > to load an individual service file. With the change below, every service except the offending one is loaded and started as expected: --8<---------------cut here---------------start------------->8--- [ 22.450515] shepherd[1]: Service root running with value #t. [ 22.454624] shepherd[1]: Service root has been started. [ 22.711738] shepherd[1]: Exception caught while loading '/gnu/store/fjis= 6iqpjfcnr90fy8rsg9v4j828jslv-shepherd-gwl-web.go': #<&compound-exception co= mponents: (#<&undefined-variable> #<&origin origin: #f> #<&message message:= "Unbound variable: ~S"> #<&irritants irri [ 22.711839] tants: (make-forkexec-constructor/container)> #<&exception-w= ith-kind-and-args kind: unbound-variable args: (#f "Unbound variable: ~S" (= make-forkexec-constructor/container) #f)>)> [ 22.755146] shepherd[1]: starting services... [ 22.756491] shepherd[1]: Configuration successfully loaded from '/gnu/st= ore/mq7y31xnjcjwjkyf6w7qiaq61g6n9f5x-shepherd.conf'. Uncaught exception in task: In fibers.scm: 172:8 7 (_) In ice-9/exceptions.scm: 406:15 6 (_) In ice-9/boot-9.scm: 1752:10 5 (with-exception-handler _ _ #:unwind? _ # _) In shepherd/service.scm: 824:39 4 (_) In oop/goops.scm: 1567:11 3 (cache-miss #f) 1585:2 2 (_ _ _) In ice-9/boot-9.scm: 1685:16 1 (raise-exception _ #:continuable? _) 1683:16 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1683:16: In procedure raise-exception: No applicable method for #< one-shot-service? (1)> in call (one-sh= ot-service? #f) [ 22.798737] shepherd[1]: Starting service user-file-systems... [ 22.800361] shepherd[1]: Starting service root-file-system... [ 22.802015] shepherd[1]: Starting service host-name... [ 22.803688] shepherd[1]: Starting service pam... [ 22.805372] shepherd[1]: Starting service sysctl... [ 22.806926] shepherd[1]: Starting service loopback... [ 22.808225] shepherd[1]: Starting service firewall... --8<---------------cut here---------------end--------------->8--- (There=E2=80=99s still this scary-looking but harmless backtrace in the mid= dle: that=E2=80=99s because (start-in-the-background '(something-that-does-not-e= xist)) throws like that as of 0.10.4.) Once booted, shepherd is fine and you can interact normally with it; the only thing missing is, in this case, the =E2=80=98gwl-web=E2=80=99 service,= which we failed to load. I think that=E2=80=99s a significant improvement. Thoughts? Ludo=E2=80=99. --=-=-= Content-Type: text/x-patch Content-Disposition: inline diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm index 455e972535d..f13c52c37ba 100644 --- a/gnu/services/shepherd.scm +++ b/gnu/services/shepherd.scm @@ -380,8 +380,7 @@ (define (shepherd-configuration-file services shepherd) (scm->go (cute scm->go <> shepherd))) (define config #~(begin - (use-modules (srfi srfi-34) - (system repl error-handling)) + (use-modules (srfi srfi-1)) (define (make-user-module) ;; Copied from (shepherd support), where it's private. @@ -417,17 +416,22 @@ (define (shepherd-configuration-file services shepherd) ;; Arrange to spawn a REPL if something goes wrong. This is better ;; than a kernel panic. - (call-with-error-handling - (lambda () - (register-services - (parameterize ((current-warning-port - (%make-void-port "w"))) - (map (lambda (file) - (save-module-excursion - (lambda () - (set-current-module (make-user-module)) - (load-compiled file)))) - '#$(map scm->go files)))))) + (register-services + (parameterize ((current-warning-port (%make-void-port "w"))) + (filter-map (lambda (file) + (with-exception-handler + (lambda (exception) + (format #t "Exception caught \ +while loading '~a': ~s~%" + file exception) + #f) + (lambda () + (save-module-excursion + (lambda () + (set-current-module (make-user-module)) + (load-compiled file)))) + #:unwind? #t)) + '#$(map scm->go files)))) (format #t "starting services...~%") (let ((services-to-start --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat May 25 05:34:20 2024 Received: (at control) by debbugs.gnu.org; 25 May 2024 09:34:20 +0000 Received: from localhost ([127.0.0.1]:42373 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAnmv-000561-Ff for submit@debbugs.gnu.org; Sat, 25 May 2024 05:34:20 -0400 Received: from eggs.gnu.org ([209.51.188.92]:55008) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAnmt-00055e-7E for control@debbugs.gnu.org; Sat, 25 May 2024 05:34:04 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sAnmg-0004GU-GI for control@debbugs.gnu.org; Sat, 25 May 2024 05:33:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-version:Subject:From:To:Date:in-reply-to: references; bh=ti/gifjFgqurs0gouiKTl/024SAhdBO3BlbPn2BSG6o=; b=q3MkTTMX37mLXK QyVa+zqI8EXL5JgF+VWks8a5dA2Z1ZKWZEcO6dlcW6REHLhsczbUBycsS7/EQglMHl9R8CFZQF+5+ UnTHX4F/SZ9LMLF/P+H5XgW05WZezPDP4XhDzDDd8vswp+obBAKttQyjzceNRqLlqGOAKFsryQPvS s0NlqGNpZ1tJjV1wtqZt0UJdPFnT6BILr9WInNjycq0Rgw74TFA35lR2MkzXQQsBnfEZFVhyIP3// boT/k9Lh3uv5bqq2p7fdlhHgVkgZXA2JU7CLlNBJRZJTngkA/LiT2NJbGVZUTpfutWfNe7ePXNfqK iPWy9OvqnR105pI9FHJQ==; Date: Sat, 25 May 2024 11:33:47 +0200 Message-Id: <87ttim2q2s.fsf@gnu.org> To: control@debbugs.gnu.org From: =?utf-8?Q?Ludovic_Court=C3=A8s?= Subject: control message for bug #71144 MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: control 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: -1.0 (-) tags 71144 + patch quit From unknown Sat Aug 09 13:14:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#71144: Interactive prompt opened upon shepherd config file error Resent-From: Christopher Baines Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Sat, 25 May 2024 12:03:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 71144 X-GNU-PR-Package: guix X-GNU-PR-Keywords: patch To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Cc: 71144@debbugs.gnu.org, Andreas Enge Received: via spool by 71144-submit@debbugs.gnu.org id=B71144.17166385384464 (code B ref 71144); Sat, 25 May 2024 12:03:02 +0000 Received: (at 71144) by debbugs.gnu.org; 25 May 2024 12:02:18 +0000 Received: from localhost ([127.0.0.1]:43034 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAq6L-00019v-J0 for submit@debbugs.gnu.org; Sat, 25 May 2024 08:02:17 -0400 Received: from mira.cbaines.net ([212.71.252.8]:43578) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAq6J-00019l-Pa for 71144@debbugs.gnu.org; Sat, 25 May 2024 08:02:16 -0400 Received: from localhost (unknown [212.132.255.10]) by mira.cbaines.net (Postfix) with ESMTPSA id AC89827BBE2; Sat, 25 May 2024 13:02:07 +0100 (BST) Received: from felis (localhost.lan [127.0.0.1]) by localhost (OpenSMTPD) with ESMTP id 6688f8f2; Sat, 25 May 2024 12:02:07 +0000 (UTC) From: Christopher Baines In-Reply-To: <878qzy45p3.fsf@gnu.org> ("Ludovic =?UTF-8?Q?Court=C3=A8s?="'s message of "Sat, 25 May 2024 11:11:04 +0200") References: <87sey894kj.fsf@inria.fr> <878qzy45p3.fsf@gnu.org> User-Agent: mu4e 1.12.2; emacs 29.3 Date: Sat, 25 May 2024 13:02:05 +0100 Message-ID: <87y17yf6bm.fsf@cbaines.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Spam-Score: -0.0 (/) 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: -1.0 (-) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s writes: > Ludovic Court=C3=A8s skribis: > >> I think we should change the above to log and gracefully handle failure >> to load an individual service file. > > With the change below, every service except the offending one is loaded > and started as expected: > > --8<---------------cut here---------------start------------->8--- > [ 22.450515] shepherd[1]: Service root running with value #t. > [ 22.454624] shepherd[1]: Service root has been started. > [ 22.711738] shepherd[1]: Exception caught while loading '/gnu/store/fj= is6iqpjfcnr90fy8rsg9v4j828jslv-shepherd-gwl-web.go': #<&compound-exception = components: (#<&undefined-variable> #<&origin origin: #f> #<&message messag= e: "Unbound variable: ~S"> #<&irritants irri > [ 22.711839] tants: (make-forkexec-constructor/container)> #<&exception= -with-kind-and-args kind: unbound-variable args: (#f "Unbound variable: ~S"= (make-forkexec-constructor/container) #f)>)> > [ 22.755146] shepherd[1]: starting services... > [ 22.756491] shepherd[1]: Configuration successfully loaded from '/gnu/= store/mq7y31xnjcjwjkyf6w7qiaq61g6n9f5x-shepherd.conf'. > Uncaught exception in task: > In fibers.scm: > 172:8 7 (_) > In ice-9/exceptions.scm: > 406:15 6 (_) > In ice-9/boot-9.scm: > 1752:10 5 (with-exception-handler _ _ #:unwind? _ # _) > In shepherd/service.scm: > 824:39 4 (_) > In oop/goops.scm: > 1567:11 3 (cache-miss #f) > 1585:2 2 (_ _ _) > In ice-9/boot-9.scm: > 1685:16 1 (raise-exception _ #:continuable? _) > 1683:16 0 (raise-exception _ #:continuable? _) > ice-9/boot-9.scm:1683:16: In procedure raise-exception: > No applicable method for #< one-shot-service? (1)> in call (one-= shot-service? #f) > [ 22.798737] shepherd[1]: Starting service user-file-systems... > [ 22.800361] shepherd[1]: Starting service root-file-system... > [ 22.802015] shepherd[1]: Starting service host-name... > [ 22.803688] shepherd[1]: Starting service pam... > [ 22.805372] shepherd[1]: Starting service sysctl... > [ 22.806926] shepherd[1]: Starting service loopback... > [ 22.808225] shepherd[1]: Starting service firewall... > --8<---------------cut here---------------end--------------->8--- > > (There=E2=80=99s still this scary-looking but harmless backtrace in the m= iddle: > that=E2=80=99s because (start-in-the-background '(something-that-does-not= -exist)) > throws like that as of 0.10.4.) > > Once booted, shepherd is fine and you can interact normally with it; the > only thing missing is, in this case, the =E2=80=98gwl-web=E2=80=99 servic= e, which we > failed to load. > > I think that=E2=80=99s a significant improvement. > > Thoughts? That looks good to me, the "Arrange to spawn a REPL if something goes wrong" comment needs removing/updating, but that's the only thing I spotted. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQKlBAEBCgCPFiEEPonu50WOcg2XVOCyXiijOwuE9XcFAmZR0z1fFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDNF ODlFRUU3NDU4RTcyMEQ5NzU0RTBCMjVFMjhBMzNCMEI4NEY1NzcRHG1haWxAY2Jh aW5lcy5uZXQACgkQXiijOwuE9Xc2PBAAjgpksQf5mX5x9jbdj6ujQ4vTlhCkJS0t 1B0eiqqq0GqJxFN0dsYAxQwOHnAPi+Glm+GmbEpW9sBjS8nBb7vxHXf2ECdUZKmP hJMxOA0FIggXNU6bsdUSKVYkwK5zXsPCiAJRfUAsCLJEucdaMRiIvmgAThKrkO1M Ap0ggbXSf3uuR5Um82eB5jIoNosI77GC2egpnjSinpA2ndkPhg1mgEvBOG6Wb4TZ qlDc0mGZd3Q8Ztc+ULYMwitlxzD1VsuDH9/eATj4D+nC2SdPHY5ZeoODYBRdaPzU 7k3UZ3ghrdRxTTxhwvY/7yv/TFc9UsLrbah+v3ZRffhPskjPQsksf0p9p08khE+I m7lifaVLC1CMNsNOznvQNmvRphnIrD2Vnbqb2rjjcPsmX1qi2NWzU1vqMrq7pNxX M0ItsH2lxBoLiFM7s0AQeC+qlsO7HyFnVHhTqT7PMBAZMbL3QdfIWsHrTCIjsQzP 6BAhLoCAydEvWHQuGtg842HclygCDHLXbHGHLwm0ZOZ9o6qmOFjJPRMvnRgzYcj+ 37l0QKXJicOdYkKKgviJ9pdkYaJcOwTdeFmFDruORUOQIrt2UZA+zGDOoBJ7+Ek9 Tiyz8NXoIvfoxeumFxLcKVcekUTg/g+8NEcYVRaQi4uJ+hkyv3vh9gcs0Zjs5Qsy Rsxuihqkc5E= =7r7N -----END PGP SIGNATURE----- --=-=-=-- From unknown Sat Aug 09 13:14:33 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#71144: closed (Re: bug#71144: Interactive prompt opened upon shepherd config file error) Message-ID: References: <87sey6ym2j.fsf@gnu.org> <87sey894kj.fsf@inria.fr> X-Gnu-PR-Message: they-closed 71144 X-Gnu-PR-Package: guix X-Gnu-PR-Keywords: patch Reply-To: 71144@debbugs.gnu.org Date: Sat, 25 May 2024 15:00:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1716649203-10702-1" This is a multi-part message in MIME format... ------------=_1716649203-10702-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #71144: Interactive prompt opened upon shepherd config file error which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 71144@debbugs.gnu.org. --=20 71144: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D71144 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1716649203-10702-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 71144-done) by debbugs.gnu.org; 25 May 2024 14:59:36 +0000 Received: from localhost ([127.0.0.1]:43903 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAsrv-0002ka-Sc for submit@debbugs.gnu.org; Sat, 25 May 2024 10:59:36 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47122) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sAsrt-0002k7-CG for 71144-done@debbugs.gnu.org; Sat, 25 May 2024 10:59:34 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sAsrf-00042n-Hn; Sat, 25 May 2024 10:59:19 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=RHOgxUVt2cABvezsZ49nEgFc/TQvUpGn4tzXpg1Ewow=; b=AJeK2RV5Nb+POwiJQSJZ /lOV1udcWKgY0tr8ji/weMBtTZa9UvfEoCLQj2rPbDyeiRdN6YEeO6VHfA16L1IVC26LzuYw9pIpf M4eODTLPsX5Clz/rvl0LtLnpUylkPkul0/+J5Cd28U28uoM6pH5tFVrTie3L5rh+TjCmucThm+Bbu BZoBxGkS0sSHHAZ+X+ucLbfpIUpFp72phS17y5O1ftFyRlYU2omHQyoCJEjMpovL+eyeFbfm82c5f yrr4ZbQIs0yBsWhIhIWTpH1lfzcv0pKNz1biTrFg7C16buJ54wTYK9r+de9kcZX7/1CFO/dkVZEE0 npfnP4elDKwlwQ==; From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Christopher Baines Subject: Re: bug#71144: Interactive prompt opened upon shepherd config file error In-Reply-To: <87y17yf6bm.fsf@cbaines.net> (Christopher Baines's message of "Sat, 25 May 2024 13:02:05 +0100") References: <87sey894kj.fsf@inria.fr> <878qzy45p3.fsf@gnu.org> <87y17yf6bm.fsf@cbaines.net> Date: Sat, 25 May 2024 16:59:16 +0200 Message-ID: <87sey6ym2j.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 71144-done Cc: 71144-done@debbugs.gnu.org, Andreas Enge 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 (---) Christopher Baines skribis: > That looks good to me, the "Arrange to spawn a REPL if something goes > wrong" comment needs removing/updating, but that's the only thing I > spotted. Cool. I updated the comment and pushed it as cca25a67693bb68a1884a081b415a43fad1e8641. Thanks! Ludo=E2=80=99. ------------=_1716649203-10702-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 23 May 2024 11:00:03 +0000 Received: from localhost ([127.0.0.1]:58924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sA6B0-0006zX-Ek for submit@debbugs.gnu.org; Thu, 23 May 2024 07:00:03 -0400 Received: from lists.gnu.org ([209.51.188.17]:37548) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sA6Av-0006yu-UH for submit@debbugs.gnu.org; Thu, 23 May 2024 07:00:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sA6Ao-0003Pw-4p for bug-guix@gnu.org; Thu, 23 May 2024 06:59:50 -0400 Received: from mail2-relais-roc.national.inria.fr ([192.134.164.83]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sA6Aj-0006VD-Nl for bug-guix@gnu.org; Thu, 23 May 2024 06:59:49 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=inria.fr; s=dc; h=from:to:subject:date:message-id:mime-version: content-transfer-encoding; bh=HE1BKIrfMBlMWCvULZ1yjtY025VbOVwctCma70nQu6o=; b=gsFfB7ww2twraAptgequq3TgZWIE1HVo/n26A+8NJqbWF2lyz88IqM/x ctkH0RorEDpDzs4gehuiG6qz/chdS53RKJiyCYQlNf9cjeBfJu1vxSI/k ynaJ9W9uB11TjcHwxgQxGgYmmK0ppJmMKRGVgKvvZqg5JMWLSJMK+ONkX 4=; Authentication-Results: mail2-relais-roc.national.inria.fr; dkim=none (message not signed) header.i=none; spf=SoftFail smtp.mailfrom=ludovic.courtes@inria.fr; dmarc=fail (p=none dis=none) d=inria.fr X-IronPort-AV: E=Sophos;i="6.08,182,1712613600"; d="scan'208";a="167071300" Received: from 91-160-117-201.subs.proxad.net (HELO ribbon) ([91.160.117.201]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 May 2024 12:59:41 +0200 From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: bug-guix@gnu.org Subject: Interactive prompt opened upon shepherd config file error X-Debbugs-Cc: Andreas Enge , Christopher Baines X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Quintidi 5 Prairial an 232 de la =?utf-8?Q?R=C3=A9vo?= =?utf-8?Q?lution=2C?= jour du Canard X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 23 May 2024 12:59:40 +0200 Message-ID: <87sey894kj.fsf@inria.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=192.134.164.83; envelope-from=ludovic.courtes@inria.fr; helo=mail2-relais-roc.national.inria.fr X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit 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: -2.3 (--) Hello, One problem we noticed in the analysis of the boot problem of bayfront after the recent downtime=C2=B9 is that an interactive REPL would be opened after an unbound variable was found in the shepherd config file: --8<---------------cut here---------------start------------->8--- [ 13.098907] shepherd[1]: Service root started. [ 13.100711] shepherd[1]: Service root running with value #t. [ 13.103824] shepherd[1]: Service root has been started. [ 13.426102] shepherd[1]: ice-9/boot-9.scm:1685:16: In procedure raise-ex= ception: [ 13.428099] shepherd[1]: Unbound variable: make-forkexec-constructor/con= tainer [ 13.429912] shepherd[1]:=20 [ 13.431108] shepherd[1]: Entering a new prompt. Type `,bt' for a backtr= ace or `,q' to continue. [ 13.441983] shepherd[1]: GNU Guile 3.0.9 [ 13.442728] shepherd[1]: Copyright (C) 1995-2023 Free Software Foundatio= n, Inc. [ 13.443947] shepherd[1]:=20 [ 13.444427] shepherd[1]: Guile comes with ABSOLUTELY NO WARRANTY; for de= tails type `,show w'. [ 13.445679] shepherd[1]: This program is free software, and you are welc= ome to redistribute it [ 13.446919] shepherd[1]: under certain conditions; type `,show c' for=20 [ 13.447072] shepherd[1]: details. [ 13.448737] shepherd[1]:=20 [ 13.449239] shepherd[1]: Enter `,help' for help. --8<---------------cut here---------------end--------------->8--- This was unhelpful because we couldn=E2=80=99t interact with that REPL remo= tely (no IPMI). Even when you can interact, it=E2=80=99s of limited use; in this case, if you type =E2=80=9C,q=E2=80=9D, it tries to continue and fails: --8<---------------cut here---------------start------------->8--- Uncaught exception in task: In fibers.scm: 172:8 7 (_) In ice-9/exceptions.scm: 406:15 6 (_) In ice-9/boot-9.scm: 1752:10 5 (with-exception-handler _ _ #:unwind? _ # _) In shepherd/service.scm: 824:39 4 (_) this is because we=E2=80=99re effectively adding #f in the middle of the li= st passed to =E2=80=98register-services=E2=80=99 (see below). This REPL-on-error =E2=80=9Cfeature=E2=80=9D comes from Guix System, not Sh= epherd, in the config file generated from (gnu services shepherd): ;; Arrange to spawn a REPL if something goes wrong. This is better ;; than a kernel panic. (call-with-error-handling (lambda () (register-services (parameterize ((current-warning-port (%make-void-port "w"))) (map (lambda (file) (save-module-excursion (lambda () (set-current-module (make-user-module)) (load-compiled file)))) '#$(map scm->go files)))))) The rationale mentioned in the comment no longer holds: starting from Shepherd 0.10.2, the config file is loaded in the background; if it=E2=80= =99s evaluation fails, shepherd keeps running (see =E2=80=98tests/config-failure.sh=E2=80=99, which tests this behavior). I think we should change the above to log and gracefully handle failure to load an individual service file. Ludo=E2=80=99. =C2=B9 https://lists.gnu.org/archive/html/info-guix/2024-05/msg00000.html ------------=_1716649203-10702-1--