unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: wolf <wolf@wolfsden.cz>
To: Jean Abou Samra <jean@abou-samra.fr>
Cc: guile-user@gnu.org
Subject: Re: How to get better stack trace from a script executed via shebang?
Date: Thu, 2 Feb 2023 17:51:42 +0100	[thread overview]
Message-ID: <Y9vqHk8+vCJuvUiI@ws> (raw)
In-Reply-To: <7e43a34a-3bad-4e21-506d-51e27c0b2080@abou-samra.fr>

[-- Attachment #1: Type: text/plain, Size: 2480 bytes --]

On 2023-02-02 17:39:50 +0100, Jean Abou Samra wrote:
> On 02/02/2023 17:11, Wolf wrote:
> > Hello,
> > 
> > I'm having a problem of getting borderline useless stack traces from a script
> > executed via a shebang. For example, let's consider following script:
> > 
> >     $ cat /tmp/x.scm 
> >     #!/bin/sh
> >     exec guile --no-auto-compile -e main -s "$0" "$@"
> >     !#
> >     
> >     (define (main args)
> >       (foo))
> >     
> >     (define (foo)
> >       (bar))
> >     
> >     (define (bar)
> >       (error "x"))
> > 
> > When I execute it directly, the error message is not great:
> > 
> >     $ /tmp/x.scm
> >     Backtrace:
> >     In ice-9/boot-9.scm:
> >       1752:10  4 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
> >     In unknown file:
> >                3 (apply-smob/0 #<thunk 7fdb1e7a2340>)
> >     In ice-9/boot-9.scm:
> >         724:2  2 (call-with-prompt ("prompt") #<procedure 7fdb1e7b2c80 at ice-9/eval.scm:330:13 ()> #<procedure default-prompt-handler (k proc)>)
> >     In ice-9/eval.scm:
> >         619:8  1 (_ #(#(#<directory (guile-user) 7fdb1e7a5c80>)))
> >     In ice-9/boot-9.scm:
> >        2007:7  0 (error _ . _)
> >     
> >     ice-9/boot-9.scm:2007:7: In procedure error:
> >     x
> > 
> > The /tmp/x.scm file is not even mentioned once in the output. Can this be
> > somehow (command line arguments, changing the exec line, ...) improved?
> > Currently it's not very useful when I need to find out what the problem was.
> 
> 
> 
> This is a known issue for code that is evaluated, as opposed
> to being compiled. Consider leaving out --no-auto-compile.

Oh, I was not aware of that. You suggestion does indeed make it better, thank
you.

    ;;; note: source file /mnt/shared/system/./run
    ;;;       newer than compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/mnt/shared/system/run.go
    ;;; note: auto-compilation is enabled, set GUILE_AUTO_COMPILE=0
    ;;;       or pass the --no-auto-compile argument to disable.
    ;;; compiling /mnt/shared/system/./run
    ;;; compiled /root/.cache/guile/ccache/3.0-LE-8-4.6/mnt/shared/system/run.go

Now there is this output that as far as I know cannot be suppressed (that was
the reason for --no-auto-compile), but that seems like lesser of two evils
here.

So, thanks :)

W.

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

      reply	other threads:[~2023-02-02 16:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-02 16:11 How to get better stack trace from a script executed via shebang? Wolf
2023-02-02 16:35 ` Fabrizio Bianchi
2023-02-02 16:39   ` Fabrizio Bianchi
2023-02-02 16:46   ` Fabrizio Bianchi
2023-02-02 16:52   ` wolf
2023-02-02 16:39 ` Jean Abou Samra
2023-02-02 16:51   ` wolf [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y9vqHk8+vCJuvUiI@ws \
    --to=wolf@wolfsden.cz \
    --cc=guile-user@gnu.org \
    --cc=jean@abou-samra.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).