GNU bug report logs - #41956
[PATCH] ice-9: exceptions: Properly format the error message.

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guile; Reported by: Maxim Cournoyer <maxim.cournoyer@HIDDEN>; Keywords: patch; dated Fri, 19 Jun 2020 21:34:01 UTC; Maintainer for guile is bug-guile@HIDDEN.

Message received at 41956 <at> debbugs.gnu.org:


Received: (at 41956) by debbugs.gnu.org; 25 Jun 2020 10:04:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 25 06:04:43 2020
Received: from localhost ([127.0.0.1]:39717 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1joOkM-0001d9-QD
	for submit <at> debbugs.gnu.org; Thu, 25 Jun 2020 06:04:43 -0400
Received: from sender4-of-o53.zoho.com ([136.143.188.53]:21370)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rekado@HIDDEN>) id 1joOkI-0001cx-JK
 for 41956 <at> debbugs.gnu.org; Thu, 25 Jun 2020 06:04:41 -0400
ARC-Seal: i=1; a=rsa-sha256; t=1593079475; cv=none; 
 d=zohomail.com; s=zohoarc; 
 b=GbuLxxiNJU5iBGKnHuFosiqADgCh8wpgj7nGIat6Znt+SdjneRWy23i6/z2gMpbArF9xYiuAF0YZ/7wHth8LPaylmxdHOCQEqtcvNjipSWX83XGLarVtjz3l8AMzZ37jbPG6d0r6TEmjjfq3qLfevHuhplKVlwIQgObSp22V91o=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
 s=zohoarc; t=1593079475;
 h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To;
 bh=Xqv4o5R0a8fK15/+KmnvygMsgnbcismlPD4tG+GMU7I=; 
 b=jl/RnR/3Lta11qNx4wvIRPTSeHp6NUZ0nVZdzlh1apsOgmvD6F/t51BSuBVnLV8u+yPjIteScD6oLvUlDPxsCtLEbvnjt/YiVrUUYTQPsd1Sxs3ZvQ0dUpsRdHgcVBqdviHk50hdxA0cuM8Sw0B6zXydjH98ayU2ngzXWTfK5SQ=
ARC-Authentication-Results: i=1; mx.zohomail.com;
 dkim=pass  header.i=elephly.net;
 spf=pass  smtp.mailfrom=rekado@HIDDEN;
 dmarc=pass header.from=<rekado@HIDDEN> header.from=<rekado@HIDDEN>
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1593079475; 
 s=zoho; d=elephly.net; i=rekado@HIDDEN;
 h=References:From:To:Cc:Subject:In-reply-to:Date:Message-ID:MIME-Version:Content-Type:Content-Transfer-Encoding;
 bh=Xqv4o5R0a8fK15/+KmnvygMsgnbcismlPD4tG+GMU7I=;
 b=DhqBgNdvhelrf4EWI6o1aDq4uDVCGx8afJv70Sos031CJDR3+c96mYOGQevdNeG5
 5+OIq5c54c0Blkse+CEqUqpJw7lfw3R5QspWNNYO0EOcp30pRXtWYTNQL7/sqFFz3sA
 387W8MzBYbFvR6ygz9W3fG79AgtjmOd4SVs6rZ7s=
Received: from localhost (p54ad4b85.dip0.t-ipconnect.de [84.173.75.133]) by
 mx.zohomail.com with SMTPS id 1593079471457234.82363824088588;
 Thu, 25 Jun 2020 03:04:31 -0700 (PDT)
References: <87eeqad9m9.fsf@HIDDEN>
 <87wo42mgre.fsf@HIDDEN>
 <20200620183334.GA9490@LionPure> <87r1u9m62o.fsf@HIDDEN>
User-agent: mu4e 1.4.10; emacs 26.3
From: Ricardo Wurmus <rekado@HIDDEN>
To: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Subject: Re: bug#41956: [PATCH] ice-9: exceptions: Properly format the error
 message.
In-reply-to: <87r1u9m62o.fsf@HIDDEN>
X-URL: https://elephly.net
X-PGP-Key: https://elephly.net/rekado.pubkey
X-PGP-Fingerprint: BCA6 89B6 3655 3801 C3C6  2150 197A 5888 235F ACAC
Date: Thu, 25 Jun 2020 12:04:27 +0200
Message-ID: <87bll7qx5g.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-ZohoMailClient: External
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41956
Cc: 41956 <at> debbugs.gnu.org, Bengt Richter <bokr@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


Hi Maxim,

here=E2=80=99s what I did in the REPL:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,m (ice-9 exceptions)
scheme@(ice-9 exceptions)> (define (my/guile-system-error-converter key arg=
s)
  (apply (case-lambda
          ((subr msg-args msg errno . rest)
           ;; XXX TODO we should return a more specific error
           ;; (usually an I/O error) as expected by R6RS programs.
           ;; Unfortunately this often requires the 'filename' (or
           ;; other?) which is not currently provided by the native
           ;; Guile exceptions.
		   (make-exception
			(make-external-error)
            (make-exception-with-origin subr)
            (apply make-exception-with-message msg)
            (make-exception-with-irritants msg-args)))
          (_ (guile-external-error-converter key args)))
         args))
scheme@(ice-9 exceptions)> (set! guile-exception-converters (acons 'system-=
error my/guile-system-error-converter guile-exception-converters))
scheme@(ice-9 exceptions)> ,m (guile-user)
scheme@(guile-user)> (guard (c ((message-condition? c)
		  (format #t "message: ~a~%" (condition-message c))))
		  (canonicalize-path "/doesntexist"))
message: No such file or directory
$11 =3D #t
scheme@(guile-user)>=20
--8<---------------cut here---------------end--------------->8---

--=20
Ricardo




Information forwarded to bug-guile@HIDDEN:
bug#41956; Package guile. Full text available.

Message received at 41956 <at> debbugs.gnu.org:


Received: (at 41956) by debbugs.gnu.org; 21 Jun 2020 03:49:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 20 23:49:37 2020
Received: from localhost ([127.0.0.1]:59085 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jmqzB-0007yj-4w
	for submit <at> debbugs.gnu.org; Sat, 20 Jun 2020 23:49:37 -0400
Received: from mail-qt1-f196.google.com ([209.85.160.196]:43554)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1jmqz8-0007yV-TR
 for 41956 <at> debbugs.gnu.org; Sat, 20 Jun 2020 23:49:35 -0400
Received: by mail-qt1-f196.google.com with SMTP id v19so7819726qtq.10
 for <41956 <at> debbugs.gnu.org>; Sat, 20 Jun 2020 20:49:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=MPBFFEo9cUdVuBTeFYHfWeG9dzE3FT4f1TYRSKho4DI=;
 b=DkPKHsr+AIbQABaehI0tqs1OZ4Mu0fD3Ng9Sw54r2sVww1q4/AGmteAwM2pD2QAE7T
 lTnvbRJA99sAzOnFS+TgOFrKzXib1THrvzs53+K2L3zkznQk2/MtGruLIKayEAa08EyS
 5wnvxl2XC1405eUOviqlLZR8XlY65jmpu3592BapslHyxQCY/5B2q0H69IBoZXSdawx1
 +1OP2Zwu0dI+cYfYH2J2h+WcKMbXq3X2yHTE60zf+JWFuepDoRMknkKfs+iBaqI5Rtzx
 snXi9vSFT251sbiKTXPdosI2h7WHnUW7TjyYAxoRYS3WHC8tfmIwdqnjUascODwNzzgm
 9t6Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=MPBFFEo9cUdVuBTeFYHfWeG9dzE3FT4f1TYRSKho4DI=;
 b=cr2eL58DEMlXHv6FjgD8Utns/Wsx7BjQDLx80KEn62dnmBTZ/Z/zYxRgEtF4sammgR
 R178NQrLjqSeX/l213CFdOxd9ncmqoD+vO0pzqUw1Yg7Tgzy0dkaaukM1ThNktHFRUXP
 e5kfLDZLHL/vfHyZNV0HzgZZ1LGBeRZNBHexfM+zoO7XM0BASkHSOF+8MfSOwHHTm67d
 w8a+m4+D3n5vwylxdY2ZuS5TCOmvXATRUeA86k6H172uz4LfmhOXgC6N6Dca/5ieEm6h
 ZZW6SEHSV6k72xweg7qj8zpDD0AehbU2WSqHI7KoeQZZhjo+1D2Q420q6t6Tr8OeyjW/
 Mtog==
X-Gm-Message-State: AOAM533087jnfe2ofxqIWOUryhDwiNb6EUMgsUUkBYQ9hJKHMZdaj/Rh
 PYgUePk+1yq/5fcFvz2eH7FMcZigYzs=
X-Google-Smtp-Source: ABdhPJyoKSie/xpV/f1og0ifjAErsDhQh9RoSVrpDY2b6qLVallgRpDVI/bTztAyf6oZgkLU8qpruA==
X-Received: by 2002:ac8:479a:: with SMTP id k26mr11315221qtq.264.1592711369083; 
 Sat, 20 Jun 2020 20:49:29 -0700 (PDT)
Received: from hurd (dsl-158-72.b2b2c.ca. [66.158.158.72])
 by smtp.gmail.com with ESMTPSA id 60sm10558634qth.78.2020.06.20.20.49.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 20 Jun 2020 20:49:28 -0700 (PDT)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: Bengt Richter <bokr@HIDDEN>
Subject: Re: bug#41956: [PATCH] ice-9: exceptions: Properly format the error
 message.
References: <87eeqad9m9.fsf@HIDDEN>
 <87wo42mgre.fsf@HIDDEN>
 <20200620183334.GA9490@LionPure>
Date: Sat, 20 Jun 2020 23:49:19 -0400
In-Reply-To: <20200620183334.GA9490@LionPure> (Bengt Richter's message of
 "Sat, 20 Jun 2020 20:33:34 +0200")
Message-ID: <87r1u9m62o.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41956
Cc: 41956 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello Bengt!

Bengt Richter <bokr@HIDDEN> writes:

> Hi Maxim,
>
> tl;dr:
> Does module/ice-9/exceptions.scm use the default format?
> Maybe (use-modules (ice-9) format) will help get to the next bug ?? :)

Thanks for suggesting!  I tried but got the same result.

I'm now testing a slightly different version:

@@ -189,7 +189,10 @@
           ((subr msg margs . _)
            (make-exception
             (make-exception-with-origin subr)
-            (make-exception-with-message msg)
+            (let ((msg (if (list? margs)
+                           (apply simple-format #f msg margs)
+                           msg)))
+                (make-exception-with-message msg))
             (make-exception-with-irritants margs)))
           (_ (make-exception-with-irritants args)))
          args))

Maxim




Information forwarded to bug-guile@HIDDEN:
bug#41956; Package guile. Full text available.

Message received at 41956 <at> debbugs.gnu.org:


Received: (at 41956) by debbugs.gnu.org; 20 Jun 2020 18:33:56 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 20 14:33:56 2020
Received: from localhost ([127.0.0.1]:58757 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jmiJQ-0000iu-Lh
	for submit <at> debbugs.gnu.org; Sat, 20 Jun 2020 14:33:56 -0400
Received: from imta-35.everyone.net ([216.200.145.35]:33758
 helo=imta-38.everyone.net)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bokr@HIDDEN>) id 1jmiJN-0000il-Tw
 for 41956 <at> debbugs.gnu.org; Sat, 20 Jun 2020 14:33:55 -0400
Received: from pps.filterd (m0004961.ppops.net [127.0.0.1])
 by imta-38.everyone.net (8.16.0.27/8.16.0.27) with SMTP id 05KIUnAJ005319;
 Sat, 20 Jun 2020 11:33:52 -0700
X-Eon-Originating-Account: dN7Sj42iHeQjTvbHZAru04yKIdV_EfdE3cBmqTUi6tQ
X-Eon-Dm: m0116953.ppops.net
Received: by m0116953.mta.everyone.net (EON-AUTHRELAY2 - 53b929fa)
 id m0116953.5e67f935.a4f613; Sat, 20 Jun 2020 11:33:45 -0700
X-Eon-Sig: AQMHrIJe7laJkBUHCgIAAAAC,c46d252d112cb0a24d703bd8589b8758
X-Eip: EYamEFO_AKEDKjgywAcvaU6D1pRNJPzX-GWLaNG6LPQ
Date: Sat, 20 Jun 2020 20:33:34 +0200
From: Bengt Richter <bokr@HIDDEN>
To: maxim.cournoyer@HIDDEN
Subject: Re: bug#41956: [PATCH] ice-9: exceptions: Properly format the error
 message.
Message-ID: <20200620183334.GA9490@LionPure>
References: <87eeqad9m9.fsf@HIDDEN>
 <87wo42mgre.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <87wo42mgre.fsf@HIDDEN>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.687
 definitions=2020-06-20_09:2020-06-19,
 2020-06-20 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 priorityscore=1501 malwarescore=0
 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1034
 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2004280000
 definitions=main-2006200136
X-Spam-Score: -0.4 (/)
X-Debbugs-Envelope-To: 41956
Cc: 41956 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Reply-To: Bengt Richter <bokr@HIDDEN>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.4 (-)

Hi Maxim,

tl;dr:
Does module/ice-9/exceptions.scm use the default format?
Maybe (use-modules (ice-9) format) will help get to the next bug ?? :)

On +2020-06-20 01:46:13 -0400, maxim.cournoyer@HIDDEN wrote:
> Maxim Cournoyer <maxim.cournoyer@HIDDEN> writes:
> 
> > Hello,
> >
> > I had this problem in Guix where 'guix deploy my-config.scm' would
> > unhelpfully report an error like:
> >
> > guix deploy: error: failed to deploy my-host: ~A: ~S
> >
> > Digging a bit, I could reproduce at the REPL with:
> >
> > (guard (c ((message-condition? c)
> >            (format #t "error: ~a~%" (condition-message c))))
> >   ;; This is what (canonicalize-path "/do/not/exist) ends up doing:
> >   (throw 'system-error "canonicalize-path" "~A" '("No such file or directory")))
> >
> > --> error: ~A
> 
> [...]
> 
> Unfortunately the previous patch breaks the tests, with errors like:
> 
> ERROR: bytevectors.test: Datum Syntax: incorrect prefix - arguments: ((wrong-type-arg "apply" "Apply to non-list: ~S" (#\i) (#\i)))
> 
> I'm out of ideas for now, I last tried:
> 
> --8<---------------cut here---------------start------------->8---
> modified   module/ice-9/exceptions.scm
> @@ -189,7 +189,10 @@
>            ((subr msg margs . _)
>             (make-exception
>              (make-exception-with-origin subr)
> -            (make-exception-with-message msg)
> +            (let ((msg (if (null? margs)
> +                           msg
> +                           (apply simple-format #f msg margs))))
> +                (make-exception-with-message msg))
>              (make-exception-with-irritants margs)))
>            (_ (make-exception-with-irritants args)))
>           args))
> --8<---------------cut here---------------end--------------->8---
> 
> To the same effect.
> 
> Maxim
> 
> 
> 

HTH
-- 
Regards,
Bengt Richter




Information forwarded to bug-guile@HIDDEN:
bug#41956; Package guile. Full text available.

Message received at 41956 <at> debbugs.gnu.org:


Received: (at 41956) by debbugs.gnu.org; 20 Jun 2020 05:46:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Jun 20 01:46:23 2020
Received: from localhost ([127.0.0.1]:57155 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jmWKd-0002w6-B0
	for submit <at> debbugs.gnu.org; Sat, 20 Jun 2020 01:46:23 -0400
Received: from mail-qv1-f65.google.com ([209.85.219.65]:39299)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1jmWKb-0002vr-F5
 for 41956 <at> debbugs.gnu.org; Sat, 20 Jun 2020 01:46:21 -0400
Received: by mail-qv1-f65.google.com with SMTP id r16so5550525qvm.6
 for <41956 <at> debbugs.gnu.org>; Fri, 19 Jun 2020 22:46:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=FGbFaZcR4kkuglyPqa/oG4tOeVZyjoZUinIPFsbCDWc=;
 b=RRZcwDF5AA035s0J4WCCxrr8p+/PEsTQKo3V0G3buv1AFXn/R3SnxRT/qMwc4iEMfX
 6ywTdE0WWRVS0KTMHMaauaGI4h7YU5CmxDvbesmDRlOxYdjm347jAs0nfYnHxCdJ4pGt
 hDG3Lea4i9KDkWoL3m/lzb0y/iqOh+no/KAXt/jIIGXuxBOFCMNyygj4zq2tsW1mrd6B
 SFV/Fu1CnaUJ+6hXhP4YyTvAelrczsAzDVonjLdtrsv7qoybFMd8YY3lY6U9kugfaJz8
 Ar4PO6QtfqqlAKzTAX5s+ESEOkldqEZSOkoyQAmeNj2Z5qRvSfOOkf+oGvNR29AmO1tr
 vo9w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=FGbFaZcR4kkuglyPqa/oG4tOeVZyjoZUinIPFsbCDWc=;
 b=MGnO3Mo62m38uc3tX0zcWWeecFKaoQnHKUizH0sgMTcoY6RAlyHDf94FKAr4egChoc
 nh4xFzrESYgyaUTHqOMGkbBhJsax2x7vx910PCP/hOeYFAv1im8KXYmMx9RIj0FUMlRK
 DxMXM0mndzlSqZS/K3vsGiL9s8KV8slub0vcMkzk06oJ6SbcGHy0iDvz3EaOYvZFrGw+
 SAhL2E5eP0JIjtY0RxDJy453VZuxasHSpITSoBlul44/JL6Ad+FWE3Vn9ogmMy+5wT51
 50N2ifptG+COoVRBmhYhn6MnzBMPu5Oc+PQ+eAloVV4wrMq+0KcBhrWFPvzQra1/ppGs
 qugA==
X-Gm-Message-State: AOAM530FPp0sBRM0WYDJcRSKhPAtC7TNfCArD00e87cy0oht+fnL3jxG
 ozNN2YHMeU5zp6QhxVJEzVZKCGtcnnE=
X-Google-Smtp-Source: ABdhPJyy5EQTW94GYFdPkc2A5RrvTtsmoW41ver5OdRyaSKMpbHzU4HFHBi0qvjPsygRP267Ip6cnw==
X-Received: by 2002:a05:6214:a8a:: with SMTP id
 ev10mr11815617qvb.191.1592631975625; 
 Fri, 19 Jun 2020 22:46:15 -0700 (PDT)
Received: from hurd (dsl-158-72.b2b2c.ca. [66.158.158.72])
 by smtp.gmail.com with ESMTPSA id z77sm8996301qka.59.2020.06.19.22.46.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2020 22:46:15 -0700 (PDT)
From: maxim.cournoyer@HIDDEN
X-Google-Original-From: maxim@HIDDEN
To: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Subject: Re: bug#41956: [PATCH] ice-9: exceptions: Properly format the error
 message.
References: <87eeqad9m9.fsf@HIDDEN>
Date: Sat, 20 Jun 2020 01:46:13 -0400
In-Reply-To: <87eeqad9m9.fsf@HIDDEN> (Maxim Cournoyer's message of "Fri, 19
 Jun 2020 17:33:02 -0400")
Message-ID: <87wo42mgre.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 41956
Cc: 41956 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Maxim Cournoyer <maxim.cournoyer@HIDDEN> writes:

> Hello,
>
> I had this problem in Guix where 'guix deploy my-config.scm' would
> unhelpfully report an error like:
>
> guix deploy: error: failed to deploy my-host: ~A: ~S
>
> Digging a bit, I could reproduce at the REPL with:
>
> (guard (c ((message-condition? c)
>            (format #t "error: ~a~%" (condition-message c))))
>   ;; This is what (canonicalize-path "/do/not/exist) ends up doing:
>   (throw 'system-error "canonicalize-path" "~A" '("No such file or directory")))
>
> --> error: ~A

[...]

Unfortunately the previous patch breaks the tests, with errors like:

ERROR: bytevectors.test: Datum Syntax: incorrect prefix - arguments: ((wrong-type-arg "apply" "Apply to non-list: ~S" (#\i) (#\i)))

I'm out of ideas for now, I last tried:

--8<---------------cut here---------------start------------->8---
modified   module/ice-9/exceptions.scm
@@ -189,7 +189,10 @@
           ((subr msg margs . _)
            (make-exception
             (make-exception-with-origin subr)
-            (make-exception-with-message msg)
+            (let ((msg (if (null? margs)
+                           msg
+                           (apply simple-format #f msg margs))))
+                (make-exception-with-message msg))
             (make-exception-with-irritants margs)))
           (_ (make-exception-with-irritants args)))
          args))
--8<---------------cut here---------------end--------------->8---

To the same effect.

Maxim




Information forwarded to bug-guile@HIDDEN:
bug#41956; Package guile. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 19 Jun 2020 21:33:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 19 17:33:11 2020
Received: from localhost ([127.0.0.1]:56970 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jmOdL-0007tW-Ia
	for submit <at> debbugs.gnu.org; Fri, 19 Jun 2020 17:33:11 -0400
Received: from lists.gnu.org ([209.51.188.17]:42948)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maxim.cournoyer@HIDDEN>) id 1jmOdH-0007tM-DT
 for submit <at> debbugs.gnu.org; Fri, 19 Jun 2020 17:33:10 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:36754)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <maxim.cournoyer@HIDDEN>)
 id 1jmOdH-0006s9-5z
 for bug-guile@HIDDEN; Fri, 19 Jun 2020 17:33:07 -0400
Received: from mail-qv1-xf44.google.com ([2607:f8b0:4864:20::f44]:43958)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <maxim.cournoyer@HIDDEN>)
 id 1jmOdF-0007lr-Gs
 for bug-guile@HIDDEN; Fri, 19 Jun 2020 17:33:06 -0400
Received: by mail-qv1-xf44.google.com with SMTP id dp10so5159289qvb.10
 for <bug-guile@HIDDEN>; Fri, 19 Jun 2020 14:33:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:subject:date:message-id:mime-version;
 bh=1V/1WYzzNT3K6htb9CHbzxFZ+WBKiXSm9axPmCryHKY=;
 b=Brdj+M7jMtrc7nhwOJjte8DUGCvmD5jN0fl48UM7iw4UlLFgxTlOyNYQ4OB3Rqn7cR
 IYlwzRK7v0nmtzyuLWm/bLlanm8NJe7MvsGyQiljLkAqg0xyrfhEaTFODOvKCdKOF0hB
 8dgI5X//VKzxdjAytrH+WuALjSEM14hgmf9ErQhMs9rMxjZTiRAA9NFZdwPN8/PSObai
 zovcB0QvlSisKVBLsI31rim+YG+/9Xu66glXhNMpCDMRXhX2MGuEBjXBLymtNREJayJZ
 x8kXyL5SPIFlhn1zNumGTzPbqM4aDIsCYahYZL6H8g1Bbp1dFXIJLclXA5BGLQVEIKP0
 2h/g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:date:message-id:mime-version;
 bh=1V/1WYzzNT3K6htb9CHbzxFZ+WBKiXSm9axPmCryHKY=;
 b=bME2LabQExPeIy5DSl5iDCO4fK8yG1f+gXrWRsrje8SX0Hcigl59ggR+rReKUlHY36
 7LJPpCxsgukRcQ+YIaQBiAbLnDt8WhMvzM+0+ADu5oI8ksOa1Z1E9IUdpzl58IWD80iV
 a9UjPsNUr9z0vBdCIgmU8guMgpn+TFjRQA5k6s4yevcQIHLpVRkXr/8js+AfM+guVKfO
 /igOQxAoHHUne54Iynaxh0OIUk/XoIN1637MFnayXM6mT6D3MuF5fL+aIG749sgm4QS0
 nt+T/5lyiTt1C8sI9b6SkeNBcjSrEqB5aIGczY0+wrd6b0tHUUlECbdIJRiUAHQTK8Q0
 3sJg==
X-Gm-Message-State: AOAM5333ZRN2vaZgd/ehxcuzuyW/tuRpaAxMNNuv4yBF5XpSJnU9AASp
 IGJEH2jrkv10qaVyB98KajOsCmMTBtAc7g==
X-Google-Smtp-Source: ABdhPJwlunDQzZ6QYgksITBPncm7cNQfNx+tADhU/2+qq+SZBgN7pUCPwS1waHlqAek93zczzr6ScA==
X-Received: by 2002:a05:6214:594:: with SMTP id
 bx20mr10716586qvb.131.1592602384296; 
 Fri, 19 Jun 2020 14:33:04 -0700 (PDT)
Received: from hurd (dsl-158-72.b2b2c.ca. [66.158.158.72])
 by smtp.gmail.com with ESMTPSA id n126sm7025129qke.15.2020.06.19.14.33.03
 for <bug-guile@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 19 Jun 2020 14:33:03 -0700 (PDT)
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
To: bug-guile@HIDDEN
Subject: [PATCH] ice-9: exceptions: Properly format the error message.
Date: Fri, 19 Jun 2020 17:33:02 -0400
Message-ID: <87eeqad9m9.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=2607:f8b0:4864:20::f44;
 envelope-from=maxim.cournoyer@HIDDEN; helo=mail-qv1-xf44.google.com
X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache.
 That's all we know.
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 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, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=_AUTOLEARN
X-Spam_action: no action
X-Spam-Score: 0.7 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

--=-=-=
Content-Type: text/plain

Hello,

I had this problem in Guix where 'guix deploy my-config.scm' would
unhelpfully report an error like:

guix deploy: error: failed to deploy my-host: ~A: ~S

Digging a bit, I could reproduce at the REPL with:

--8<---------------cut here---------------start------------->8---
(guard (c ((message-condition? c)
           (format #t "error: ~a~%" (condition-message c))))
  ;; This is what (canonicalize-path "/do/not/exist) ends up doing:
  (throw 'system-error "canonicalize-path" "~A" '("No such file or directory")))

--> error: ~A
--8<---------------cut here---------------end--------------->8---

It seems our native -> srfi-34 style exception converter should populate
the message field with a formatted message, given that's what happens to
present errors as explained in libguile/error.c:

    When an error is reported,\n
    "these are replaced by formatting the corresponding members of\n"
    "@var{args}: @code{~A} (was @code{%s} in older versions of\n"
    "Guile) formats using @code{display} and @code{~S}

I'm not sure about the second ~S that appeared in the Guix output;
possibly the exception got re-thrown and suffered from a slightly
different conversion problem?

Anyway, the simple patch attached should fix the "~A" exception message.

Thank you,

Maxim


--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-ice-9-exceptions-Properly-format-the-error-message.patch

From adaa2f66fec7684e9e65491158afc5923613e3da Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Date: Fri, 19 Jun 2020 14:30:05 -0400
Subject: [PATCH] ice-9: exceptions: Properly format the error message.

Before this change, native exceptions such as system errors caught with
srfi-34's `guard' would be converted to an exception with its message
unhelpfully set to "~A".

Thus, apply the message arguments to the message format to derive a human
readable exception message.

* module/ice-9/exceptions.scm (guile-common-exceptions): Format the
message string using its arguments.
---
 module/ice-9/exceptions.scm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/module/ice-9/exceptions.scm b/module/ice-9/exceptions.scm
index 143e7aa3e..c990790e9 100644
--- a/module/ice-9/exceptions.scm
+++ b/module/ice-9/exceptions.scm
@@ -189,7 +189,7 @@
           ((subr msg margs . _)
            (make-exception
             (make-exception-with-origin subr)
-            (make-exception-with-message msg)
+            (make-exception-with-message (apply format #f msg margs))
             (make-exception-with-irritants margs)))
           (_ (make-exception-with-irritants args)))
          args))
-- 
2.26.2


--=-=-=--




Acknowledgement sent to Maxim Cournoyer <maxim.cournoyer@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-guile@HIDDEN. Full text available.
Report forwarded to bug-guile@HIDDEN:
bug#41956; Package guile. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Thu, 25 Jun 2020 10:15:01 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.