From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Subject: bug#36731: shepherd lost track of nginx Date: Mon, 22 Jul 2019 12:31:06 +0200 Message-ID: <871ryi4az9.fsf@gnu.org> References: <87ef2labds.fsf@gnu.org> <871rykcniu.fsf@netris.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:470:142:3::10]:35059) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hpVbv-0003TE-3l for bug-guix@gnu.org; Mon, 22 Jul 2019 06:32:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hpVbu-0003b0-3G for bug-guix@gnu.org; Mon, 22 Jul 2019 06:32:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:51172) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hpVbt-0003au-W9 for bug-guix@gnu.org; Mon, 22 Jul 2019 06:32:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1hpVbt-0008SM-PG for bug-guix@gnu.org; Mon, 22 Jul 2019 06:32:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <871rykcniu.fsf@netris.org> (Mark H. Weaver's message of "Sat, 20 Jul 2019 19:07:58 -0400") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Mark H Weaver Cc: 36731@debbugs.gnu.org, Robert Vollmert Hi Mark, Mark H Weaver skribis: > Ludovic Court=C3=A8s writes: > >> Robert Vollmert skribis: >> >>> The result was this: >>> >>> $ sudo herd restart nginx >>> Service nginx is not running. >>> herd: exception caught while executing 'start' on service 'nginx': >>> Throw to key `srfi-34' with args `("#>> [program: >>> \"/gnu/store/mlg0xfbiq03s812rm3v7mrlhyngas4xp-nginx-1.17.1/sbin/nginx\" >>> arguments: (\"-c\" >>> \"/gnu/store/r6gl9n7pwf4npiri05qxr40vdihdm2yy-nginx.conf\" \"-p\" >>> \"/var/run/nginx\") exit-status: 1 term-signal: #f stop-signal: #f] >>> 147e000>")=E2=80=99. > > [=E2=80=A6] > >>> That error message could also be clearer about what=E2=80=99s going on.= At any >>> rate, after I killed the nginx process, =E2=80=9Cherd start nginx=E2=80= =9D worked fine. >> >> I agree that we could and should improve the error message. > > On the subject of this error message, why was the &invoke-error > condition serialized to a string before apparently being embedded within > another exception? That serialization comes from the Shepherd when it talks to its clients (see =E2=80=98write-reply=E2=80=99 in (shepherd comm)). Normally service methods should write a human-readable message instead of throwing an exception, but when that happens, shepherd serializes those things so that one can at least diagnose the problem. In this case we could use =E2=80=98report-invoke-error=E2=80=99 from (guix = build utils) on =E2=80=98core-updates=E2=80=99. Thanks, Ludo=E2=80=99.