qlot icon indicating copy to clipboard operation
qlot copied to clipboard

Running qlot repl spawns SBCL and immediately quits

Open Zulu-Inuoe opened this issue 5 years ago • 2 comments

On Windows x86-64, running SBCL, with roswell version 20.04.14.105 and qlot 0.10.0

Running qlot as follows:

C:\Users\Zulu\code\qlot-test
λ ros ~\.roswell\bin\qlot.ros run
*
C:\Users\Zulu\code\qlot-test
λ

SBCL seems to spin up - notice the * asterisk for the prompt - but then immediately exits Reported exit code is 0 as per echo %errorlevel%

Zulu-Inuoe avatar Jun 11 '20 19:06 Zulu-Inuoe

I've drilled it down to ros:exec, the same happens to CCL 1.12.

Without qlot run:

bakemono@bakemono-main MINGW64 /c/work/openbookstore
$ ros -L sbcl -S . run --non-interactive --load bookshops.asd --eval '(ql:quickload :dexador)'
WARNING:
   redefining ASDF/ACTION:PERFORM (#<STANDARD-CLASS ASDF/BUNDLE:IMAGE-OP>
                                   #<STANDARD-CLASS ASDF/SYSTEM:SYSTEM>) in DEFMETHOD
To load "dexador":
  Load 1 ASDF system:
    dexador
; Loading "dexador"
......
*

Wrapping in qlot run - boils down to ros:exec:

bakemono@bakemono-main MINGW64 /c/work/openbookstore
$ qlot exec ros -L sbcl -S . run --non-interactive --load bookshops.asd --eval '(ql:quickload :dexador)'
C:/Users/bakemono.000/.roswell/bin/;C:/msys64/mingw64/bin;C:/msys64/usr/local/bin;C:/msys64/usr/bin;C:/msys64/usr/bin;C:/Windows/System32;C:/Windows;C:/Windows/System32/Wbem;C:/Windows/System32/WindowsPowerShell/v1.0/;C:/msys64/usr/bin/site_perl;C:/msys64/usr/bin/vendor_perl;C:/msys64/usr/bin/core_perl;C:/Users/bakemono.000/.roswell/bin
Unhandled END-OF-FILE in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                   {1001E20613}>:
  end of file on #<SB-IMPL::STRING-INPUT-STREAM {1005013433}>

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {1001E20613}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<END-OF-FILE {10050134C3}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* #<END-OF-FILE {10050134C3}>)
2: (INVOKE-DEBUGGER #<END-OF-FILE {10050134C3}>)
3: (ERROR END-OF-FILE :STREAM #<SB-IMPL::STRING-INPUT-STREAM {1005013433}>)
4: (SB-IMPL::STRING-INCH #<SB-IMPL::STRING-INPUT-STREAM {1005013433}> T NIL)
5: (SB-IMPL::FLUSH-WHITESPACE #<SB-IMPL::STRING-INPUT-STREAM {1005013433}>)
6: (SB-IMPL::READ-LIST #<SB-IMPL::STRING-INPUT-STREAM {1005013433}> #<unused argument>)
7: (SB-IMPL::READ-MAYBE-NOTHING #<SB-IMPL::STRING-INPUT-STREAM {1005013433}> #\()
8: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SB-IMPL::STRING-INPUT-STREAM {1005013433}> NIL (NIL) T)
9: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SB-IMPL::STRING-INPUT-STREAM {1005013433}> NIL (NIL) NIL)
10: (READ #<SB-IMPL::STRING-INPUT-STREAM {1005013433}> NIL #:G671 NIL)
11: (SB-IMPL::%READ-FROM-STRING "(ql:quickload" NIL #:G671 0 NIL NIL)
12: (ROSWELL::EVAL "(ql:quickload")
13: (ROSWELL:RUN ((:EVAL "(ros:asdf)") (:EVAL "(ros:quicklisp)") (:SOURCE-REGISTRY ".") (:LOAD "bookshops.asd") (:EVAL "(ql:quickload") (:SCRIPT "C:\\\\msys64\\\\mingw64\\\\etc\\\\roswell\\\\help.ros") (:QUIT NIL)))
14: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:RUN (QUOTE ((:EVAL "(ros:asdf)") (:EVAL "(ros:quicklisp)") (:SOURCE-REGISTRY ".") (:LOAD "bookshops.asd") (:EVAL "(ql:quickload") (:SCRIPT "C:\\\\msys64\\\\mingw64\\\\etc\\\\roswell\\\\help.ros") (:QUIT NIL)))) #<NULL-LEXENV>)
15: (EVAL (ROSWELL:RUN (QUOTE ((:EVAL "(ros:asdf)") (:EVAL "(ros:quicklisp)") (:SOURCE-REGISTRY ".") (:LOAD "bookshops.asd") (:EVAL "(ql:quickload") (:SCRIPT "C:\\\\msys64\\\\mingw64\\\\etc\\\\roswell\\\\help.ros") (:QUIT NIL)))))
16: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn #-ros.init(cl:load \"C:\\\\\\\\msys64\\\\\\\\mingw64\\\\\\\\etc\\\\\\\\roswell\\\\\\\\init.lisp\"))") (:EVAL . "(ros:run '((:eval\"(ros:asdf)\")(:eval\"(ros:quicklisp)\")(:source-registry \".\")(:load \"bookshops.asd\")(:eval \"(ql:quickload\")(:script \"C:\\\\\\\\msys64\\\\\\\\mingw64\\\\\\\\etc\\\\\\\\roswell\\\\\\\\help.ros\")(:quit ())))")))
17: (SB-IMPL::TOPLEVEL-INIT)
18: ((FLET SB-UNIX::BODY :IN SAVE-LISP-AND-DIE))
19: ((FLET "WITHOUT-INTERRUPTS-BODY-7" :IN SAVE-LISP-AND-DIE))
20: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))
21: ("foreign function: #x43101B")
22: ("foreign function: #x403618")

unhandled condition in --disable-debugger mode, quitting
invalid command
Unhandled UIOP/RUN-PROGRAM:SUBPROCESS-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                                         {10012E0613}>:
  Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {1004DC8DF3}>
 with command "C:\\msys64\\mingw64\\bin\\ros.exe -L sbcl -S . run --non-interactive --load bookshops.asd --eval (ql:quickload :dexador)"
 exited with error code 1

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10012E0613}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR {1004DC9983}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR {1004DC9983}>)
2: (INVOKE-DEBUGGER #<UIOP/RUN-PROGRAM:SUBPROCESS-ERROR {1004DC9983}>)
3: (CERROR "IGNORE-ERROR-STATUS" UIOP/RUN-PROGRAM:SUBPROCESS-ERROR :COMMAND "C:\\msys64\\mingw64\\bin\\ros.exe -L sbcl -S . run --non-interactive --load bookshops.asd --eval (ql:quickload :dexador)" :CODE 1 :PROCESS #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {1004DC8DF3}>)
4: (UIOP/RUN-PROGRAM::%CHECK-RESULT 1 :COMMAND "C:\\msys64\\mingw64\\bin\\ros.exe -L sbcl -S . run --non-interactive --load bookshops.asd --eval (ql:quickload :dexador)" :PROCESS #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {1004DC8DF3}> :IGNORE-ERROR-STATUS NIL)
5: (UIOP/RUN-PROGRAM::%USE-LAUNCH-PROGRAM "C:\\msys64\\mingw64\\bin\\ros.exe -L sbcl -S . run --non-interactive --load bookshops.asd --eval (ql:quickload :dexador)" :OUTPUT :INTERACTIVE :FORCE-SHELL NIL :ERROR-OUTPUT :INTERACTIVE)
6: (ROSWELL:EXEC ("C:\\msys64\\mingw64\\bin\\ros.exe" "-L" "sbcl" "-S" "." "run" "--non-interactive" "--load" "bookshops.asd" "--eval" "(ql:quickload :dexador)"))
7: (MAIN "exec" "ros" "-L" "sbcl" "-S" "." "run" "--non-interactive" "--load" "bookshops.asd" "--eval" "(ql:quickload :dexador)")
8: (SB-INT:SIMPLE-EVAL-IN-LEXENV (APPLY (QUOTE MAIN) ROSWELL:*ARGV*) #<NULL-LEXENV>)
9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) #<NULL-LEXENV>)
10: (SB-EXT:EVAL-TLF (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL NIL)
11: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL)
12: (SB-INT:LOAD-AS-SOURCE #<CONCATENATED-STREAM :STREAMS NIL {10055F5B73}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
13: ((FLET SB-FASL::THUNK :IN LOAD))
14: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<CLOSURE (FLET SB-FASL::THUNK :IN LOAD) {9AF12B}> #<CONCATENATED-STREAM :STREAMS NIL {10055F5B73}>)
15: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<CONCATENATED-STREAM :STREAMS NIL {10055F5B73}> NIL)
16: (LOAD #<CONCATENATED-STREAM :STREAMS NIL {10055F5B73}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
17: ((FLET ROSWELL::BODY :IN ROSWELL:SCRIPT) #<SB-SYS:FD-STREAM for "file C:\\Users\\bakemono.000\\.roswell\\bin\\qlot" {10055F2B33}>)
18: (ROSWELL:SCRIPT "C:/Users/bakemono.000/.roswell/bin/qlot" "exec" "ros" "-L" "sbcl" "-S" "." "run" "--non-interactive" "--load" "bookshops.asd" "--eval" "(ql:quickload :dexador)")
19: (ROSWELL:RUN ((:EVAL "(ros:asdf)") (:EVAL "(ros:quicklisp)") (:SCRIPT "C:/Users/bakemono.000/.roswell/bin/qlot" "exec" "ros" "-L" "sbcl" "-S" "." "run" "--non-interactive" "--load" "bookshops.asd" ...) (:QUIT NIL)))
20: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:RUN (QUOTE ((:EVAL "(ros:asdf)") (:EVAL "(ros:quicklisp)") (:SCRIPT "C:/Users/bakemono.000/.roswell/bin/qlot" "exec" "ros" "-L" "sbcl" "-S" "." "run" "--non-interactive" "--load" "bookshops.asd" ...) (:QUIT NIL)))) #<NULL-LEXENV>)
21: (EVAL (ROSWELL:RUN (QUOTE ((:EVAL "(ros:asdf)") (:EVAL "(ros:quicklisp)") (:SCRIPT "C:/Users/bakemono.000/.roswell/bin/qlot" "exec" "ros" "-L" "sbcl" "-S" "." "run" "--non-interactive" "--load" "bookshops.asd" ...) (:QUIT NIL)))))
22: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn #-ros.init(cl:load \"C:\\\\\\\\msys64\\\\\\\\mingw64\\\\\\\\etc\\\\\\\\roswell\\\\\\\\init.lisp\"))") (:EVAL . #<(SIMPLE-ARRAY CHARACTER (225)) (ros:run '((:eval"(ros:asdf)")(:eval"(ros:quicklisp)")(:script "C:/Users/bakemono.000/.roswell/bin/qlot""exec""ros""-L""sbcl""-S"".""run""--non-interactive""--load""bookshops.asd""--eval""(ql:quickloa... {100258066F}>)))
23: (SB-IMPL::TOPLEVEL-INIT)
24: ((FLET SB-UNIX::BODY :IN SB-EXT:SAVE-LISP-AND-DIE))
25: ((FLET "WITHOUT-INTERRUPTS-BODY-7" :IN SB-EXT:SAVE-LISP-AND-DIE))
26: ((LABELS SB-IMPL::RESTART-LISP :IN SB-EXT:SAVE-LISP-AND-DIE))
27: ("foreign function: #x43101B")
28: ("foreign function: #x403618")

unhandled condition in --disable-debugger mode, quitting

egao1980 avatar Jun 21 '20 15:06 egao1980

Before trying qlot exec please look at https://github.com/fukamachi/qlot/pull/108 that fixes other related issues.

egao1980 avatar Jun 21 '20 15:06 egao1980