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.
bug-guile@HIDDEN
:bug#36471
; Package guile
.
Full text available.Ludovic Courtès <ludo@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.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--
Björn Höfling <bjoern.hoefling@HIDDEN>
:rob@HIDDEN, bug-guix@HIDDEN
.
Full text available.rob@HIDDEN, bug-guix@HIDDEN
:bug#36471
; Package guix
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.