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. Best, Jean
OpenPGP_signature
Description: OpenPGP digital signature