GNU bug report logs - #36471
Unreadable Stacktrace Example

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: Björn Höfling <bjoern.hoefling@HIDDEN>; dated Tue, 2 Jul 2019 11:13:02 UTC; Maintainer for guile is bug-guile@HIDDEN.

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


Received: (at 36471) by debbugs.gnu.org; 7 Jul 2019 14:38:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun Jul 07 10:38:19 2019
Received: from localhost ([127.0.0.1]:57288 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hk8J0-00007h-LL
	for submit <at> debbugs.gnu.org; Sun, 07 Jul 2019 10:38:18 -0400
Received: from eggs.gnu.org ([209.51.188.92]:38125)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1hk8Iz-00007V-Gq
 for 36471 <at> debbugs.gnu.org; Sun, 07 Jul 2019 10:38:17 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:41816)
 by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from <ludo@HIDDEN>)
 id 1hk8Is-0007hA-FH; Sun, 07 Jul 2019 10:38:10 -0400
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=56404 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1hk8Ir-00083Y-P4; Sun, 07 Jul 2019 10:38:10 -0400
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: =?utf-8?Q?Bj=C3=B6rn_H=C3=B6fling?= <bjoern.hoefling@HIDDEN>
Subject: Re: bug#36471: Unreadable Stacktrace Example
References: <20190702131245.15561fbd@alma-ubu>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 19 Messidor an 227 de la =?utf-8?Q?R=C3=A9volution?=
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: Sun, 07 Jul 2019 16:38:08 +0200
In-Reply-To: <20190702131245.15561fbd@alma-ubu> (=?utf-8?Q?=22Bj=C3=B6rn?=
 =?utf-8?Q?_H=C3=B6fling=22's?= message of
 "Tue, 2 Jul 2019 13:12:45 +0200")
Message-ID: <87ef319agf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 36471
Cc: 36471 <at> debbugs.gnu.org, robert vollmert <rob@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: -3.3 (---)

Hi Bj=C3=B6rn,

I=E2=80=99m reassigning this bug report to =E2=80=98guile=E2=80=99.  :-)

Bj=C3=B6rn H=C3=B6fling <bjoern.hoefling@HIDDEN> skribis:

> First the full stacktrace, below are some comments:
>
> ./pre-inst-env  guix lint -c cve freecad=20=20=20=20=20=20=20=20=20=20=20=
=20=20=20=20=20=20=20=20=20=20=20=20=20=20
> Backtrace:reecad@HIDDEN [cve]...
>           11 (apply-smob/1 #<catch-closure 1a071a0>)
> In ice-9/boot-9.scm:
>     705:2 10 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
> In ice-9/eval.scm:
>     619:8  9 (_ #(#(#<directory (guile-user) 1ac5140>)))
> In guix/ui.scm:
>   1668:12  8 (run-guix-command _ . _)
> In srfi/srfi-1.scm:
>     640:9  7 (for-each #<procedure 1df01a0 at guix/scripts/lint.scm?> ?)
> In guix/scripts/lint.scm:
>    1152:4  6 (run-checkers #<package freecad@HIDDEN gnu/p?> ?)
> In srfi/srfi-1.scm:
>     640:9  5 (for-each #<procedure 3e473c0 at guix/scripts/lint.scm?> ?)
> In guix/scripts/lint.scm:
>     933:4  4 (check-vulnerabilities _)
>     928:9  3 (_ _)
> In unknown file:
>            2 (force #<promise #<procedure 7f1ce3ab6228 at guix/scrip?>)
> In guix/scripts/lint.scm:
>    917:24  1 (_)
> In ice-9/boot-9.scm:
>     829:9  0 (catch srfi-34 #<procedure 37e64e0 at guix/scripts/lin?> ?)
>
> ice-9/boot-9.scm:829:9: In procedure catch:
> In procedure connect: Connection timed out

[...]

> In guix/scripts/lint.scm:
>     933:4  4 (check-vulnerabilities _)
>     928:9  3 (_ _)
>
> --> 933: Nice, I'm in check-vulnerabilities. But why is there no argument?
> --> What is this strange second line: (_ _)? Why is there nothing written?

Good question, I=E2=80=99m not sure why that happens, but hopefully it=E2=
=80=99s easily
fixed.

> In unknown file:
>            2 (force #<promise #<procedure 7f1ce3ab6228 at guix/scrip?>)
>
> --> Why is this in a "unknown file"?

Because =E2=80=98force=E2=80=99 is implemented in C, so there=E2=80=99s no =
source location info
available.

> --> Is this force/promise making my stacktrace more unreadable?

No.

> In guix/scripts/lint.scm:
>    917:24  1 (_)
>
> --> Uh. Any more details?. Is "(_)" the call to "(current-vulnerabilities=
*)"?!

Dunno.  :-/

> In ice-9/boot-9.scm:
>     829:9  0 (catch srfi-34 #<procedure 37e64e0 at guix/scripts/lin?> ?)
>
> ice-9/boot-9.scm:829:9: In procedure catch:
> In procedure connect: Connection timed out
>
> --> Now, wait: The real problem happens somewhere down here and I don't
> have any detailed stacktrace about that?
>
> I have to manually go down into current-vulnerabilities*,
> call/nw/failsaife, etc? Why don't I get the details from here?

Part of what makes information =E2=80=9Cdisappear=E2=80=9D from stack trace=
s is the
tail-call optimization (TCO).  If F calls G, and G then calls H in tail
position, then the backtrace will suggest that F called H (G doesn=E2=80=99t
appear at all.)

IIRC Chez Scheme has a fancy trick that allows it to keep track of part
of the =E2=80=9Cconceptual=E2=80=9D stack trace, without losing the space g=
uarantees
that TCO provides.  It cannot come for free though, but I wonder if
Guile should provide it in =E2=80=98--debug=E2=80=99 mode or something.

> Is this because in "call-with-networking-fail-safe", line 900 we
> through newly:
>
>         (args
>          (apply throw args))))))
>
> but then the stacktrace gets lost?
>
> Would there be a throw-with-caused-by?

Not sure what you mean, but note that in many cases =E2=80=98throw=E2=80=99=
 itself is
called in tail position, which can also contribute to obfuscating the
stack trace=E2=80=A6

Thanks,
Ludo=E2=80=99.




Information forwarded to bug-guile@HIDDEN:
bug#36471; Package guile. Full text available.
bug reassigned from package 'guix' to 'guile'. Request was from Ludovic Courtès <ludo@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

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


Received: (at submit) by debbugs.gnu.org; 2 Jul 2019 11:12:55 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jul 02 07:12:55 2019
Received: from localhost ([127.0.0.1]:46605 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1hiGiV-00081C-Gl
	for submit <at> debbugs.gnu.org; Tue, 02 Jul 2019 07:12:55 -0400
Received: from lists.gnu.org ([209.51.188.17]:42770)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bjoern.hoefling@HIDDEN>)
 id 1hiGiT-000814-Cu
 for submit <at> debbugs.gnu.org; Tue, 02 Jul 2019 07:12:53 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:55312)
 by lists.gnu.org with esmtp (Exim 4.86_2)
 (envelope-from <bjoern.hoefling@HIDDEN>)
 id 1hiGiS-0005KW-2n
 for bug-guix@HIDDEN; Tue, 02 Jul 2019 07:12:53 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level: 
X-Spam-Status: No, score=0.9 required=5.0 tests=BAYES_50,FROM_EXCESS_BASE64,
 TRACKER_ID,URIBL_BLOCKED autolearn=disabled version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
 (envelope-from <bjoern.hoefling@HIDDEN>)
 id 1hiGiQ-0006eo-0u
 for bug-guix@HIDDEN; Tue, 02 Jul 2019 07:12:51 -0400
Received: from m4s11.vlinux.de ([83.151.27.109]:54220 helo=bjoernhoefling.de)
 by eggs.gnu.org with esmtp (Exim 4.71)
 (envelope-from <bjoern.hoefling@HIDDEN>)
 id 1hiGiP-0006ZO-Lq
 for bug-guix@HIDDEN; Tue, 02 Jul 2019 07:12:49 -0400
Received: from alma-ubu (pD951F287.dip0.t-ipconnect.de [217.81.242.135])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by bjoernhoefling.de (Postfix) with ESMTPSA id DA2B93F945
 for <bug-guix@HIDDEN>; Tue,  2 Jul 2019 13:12:45 +0200 (CEST)
Date: Tue, 2 Jul 2019 13:12:45 +0200
From: =?UTF-8?B?QmrDtnJuIEjDtmZsaW5n?= <bjoern.hoefling@HIDDEN>
To: <bug-guix@HIDDEN>
Subject: Unreadable Stacktrace Example
Message-ID: <20190702131245.15561fbd@alma-ubu>
X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha1;
 boundary="Sig_/9k.S3lxhkcQeyY1FXHhzMez"; protocol="application/pgp-signature"
X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]
X-Received-From: 83.151.27.109
X-Spam-Score: -2.2 (--)
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: -3.2 (---)

--Sig_/9k.S3lxhkcQeyY1FXHhzMez
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

X-Debbugs-CC: Robert Vollmert <rob@HIDDEN>

Hello,

in the 1.0-beyond-discussions, Robert asked that Stacktraces should be
more clear. I refer to this message (lists.gnu.org is down, so I
cannot link):

From: Ludovic Court=C3=A8s <ludo@HIDDEN>
To: Robert Vollmert <rob@HIDDEN>
Subject: Re: Guix beyond 1.0: let=E2=80=99s have a roadmap!
Message-ID: <878stirsdc.fsf@HIDDEN>

Here is my example. I'm on top of

48eb71aea807262210c38b5fb675d747adfccff3

First the full stacktrace, below are some comments:

./pre-inst-env  guix lint -c cve freecad                        =20
Backtrace:reecad@HIDDEN [cve]...
          11 (apply-smob/1 #<catch-closure 1a071a0>)
In ice-9/boot-9.scm:
    705:2 10 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
In ice-9/eval.scm:
    619:8  9 (_ #(#(#<directory (guile-user) 1ac5140>)))
In guix/ui.scm:
  1668:12  8 (run-guix-command _ . _)
In srfi/srfi-1.scm:
    640:9  7 (for-each #<procedure 1df01a0 at guix/scripts/lint.scm?> ?)
In guix/scripts/lint.scm:
   1152:4  6 (run-checkers #<package freecad@HIDDEN gnu/p?> ?)
In srfi/srfi-1.scm:
    640:9  5 (for-each #<procedure 3e473c0 at guix/scripts/lint.scm?> ?)
In guix/scripts/lint.scm:
    933:4  4 (check-vulnerabilities _)
    928:9  3 (_ _)
In unknown file:
           2 (force #<promise #<procedure 7f1ce3ab6228 at guix/scrip?>)
In guix/scripts/lint.scm:
   917:24  1 (_)
In ice-9/boot-9.scm:
    829:9  0 (catch srfi-34 #<procedure 37e64e0 at guix/scripts/lin?> ?)

ice-9/boot-9.scm:829:9: In procedure catch:
In procedure connect: Connection timed out


OK, this is semi-readable but I will explain a bit what I find
strange/unreadable:

In guix/scripts/lint.scm:
   1152:4  6 (run-checkers #<package freecad@HIDDEN gnu/p?> ?)

--> OK: This is perfectly readable. I know in which procedure I am,
in which line, the line matches my source code. Fine.

In srfi/srfi-1.scm:
    640:9  5 (for-each #<procedure 3e473c0 at guix/scripts/lint.scm?> ?)

--> This is OK, though it could print the line of the procedure?

In guix/scripts/lint.scm:
    933:4  4 (check-vulnerabilities _)
    928:9  3 (_ _)

--> 933: Nice, I'm in check-vulnerabilities. But why is there no argument?
--> What is this strange second line: (_ _)? Why is there nothing written?
Is that due to tail-recursion?


In unknown file:
           2 (force #<promise #<procedure 7f1ce3ab6228 at guix/scrip?>)

--> Why is this in a "unknown file"?
--> Is this force/promise making my stacktrace more unreadable?

In guix/scripts/lint.scm:
   917:24  1 (_)

--> Uh. Any more details?. Is "(_)" the call to "(current-vulnerabilities*)=
"?!

In ice-9/boot-9.scm:
    829:9  0 (catch srfi-34 #<procedure 37e64e0 at guix/scripts/lin?> ?)

ice-9/boot-9.scm:829:9: In procedure catch:
In procedure connect: Connection timed out

--> Now, wait: The real problem happens somewhere down here and I don't
have any detailed stacktrace about that?

I have to manually go down into current-vulnerabilities*,
call/nw/failsaife, etc? Why don't I get the details from here?

Is this because in "call-with-networking-fail-safe", line 900 we
through newly:

        (args
         (apply throw args))))))

but then the stacktrace gets lost?

Would there be a throw-with-caused-by?

Bj=C3=B6rn


--Sig_/9k.S3lxhkcQeyY1FXHhzMez
Content-Type: application/pgp-signature
Content-Description: OpenPGP digital signature

-----BEGIN PGP SIGNATURE-----

iF0EARECAB0WIQQiGUP0np8nb5SZM4K/KGy2WT5f/QUCXRs8LQAKCRC/KGy2WT5f
/WriAKCOjwhhYoGSxGKHLZhpIMWYP4RKpwCeNjzYVT/jZBRvR+uty6irzLjYzKw=
=DeJN
-----END PGP SIGNATURE-----

--Sig_/9k.S3lxhkcQeyY1FXHhzMez--




Acknowledgement sent to Björn Höfling <bjoern.hoefling@HIDDEN>:
New bug report received and forwarded. Copy sent to rob@HIDDEN, bug-guix@HIDDEN. Full text available.
Report forwarded to rob@HIDDEN, bug-guix@HIDDEN:
bug#36471; Package guix. 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: Sun, 7 Jul 2019 14:45:01 UTC

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