Open mathrick opened 2 years ago
So this might be caused by the ASDF definition for ace.core
being invalid, specifically on line 69 it evaluates *FILES*
, but the DEFPARAMETER
form for it is not wrapped in EVAL-WHEN
. The system won't load through regular ASDF calls or if given a regular git URL either, but it doesn't get stuck:
$ qlot add git ace.core https://github.com/qitab/ace.core
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10008B8083}>
0: ((LAMBDA ()))
1: (SB-INT:SIMPLE-EVAL-IN-LEXENV (LOOP ASDF/USER::FOR ASDF/USER::F ASDF/USER::IN ASDF/USER::*FILES* ASDF/USER::COLLECT (SB-INT:QUASIQUOTE (:FILE #S(SB-IMPL::COMMA :EXPR ASDF/USER::F :KIND 0)))) #<NULL-LEXENV>)
2: (EVAL (LOOP ASDF/USER::FOR ASDF/USER::F ASDF/USER::IN ASDF/USER::*FILES* ASDF/USER::COLLECT (SB-INT:QUASIQUOTE (:FILE #S(SB-IMPL::COMMA :EXPR ASDF/USER::F :KIND 0)))))
3: (SB-IMPL::SHARP-DOT #<SB-SYS:FD-STREAM for "file /tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/ace.core.asd" {1001E38A63}> #\. NIL)
4: (SB-IMPL::READ-MAYBE-NOTHING #<SB-SYS:FD-STREAM for "file /tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/ace.core.asd" {1001E38A63}> #\#)
5: (SB-IMPL::READ-LIST #<SB-SYS:FD-STREAM for "file /tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/ace.core.asd" {1001E38A63}> #<unused argument>)
6: (SB-IMPL::READ-MAYBE-NOTHING #<SB-SYS:FD-STREAM for "file /tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/ace.core.asd" {1001E38A63}> #\()
7: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SB-SYS:FD-STREAM for "file /tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/ace.core.asd" {1001E38A63}> NIL #:EOF T)
8: (SB-IMPL::%READ-PRESERVING-WHITESPACE #<SB-SYS:FD-STREAM for "file /tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/ace.core.asd" {1001E38A63}> NIL #:EOF NIL)
9: ((LAMBDA NIL :IN QLOT/UTILS/ASDF::READ-ASD-FILE))
10: ((FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX))
11: (SB-IMPL::%WITH-STANDARD-IO-SYNTAX #<CLOSURE (FLET "THUNK" :IN UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX) {7F8D28F4F1EB}>)
12: (UIOP/STREAM:CALL-WITH-SAFE-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN QLOT/UTILS/ASDF::READ-ASD-FILE) {1001E38BCB}> :PACKAGE :CL)
13: ((LAMBDA (QLOT/UTILS/ASDF::IN) :IN QLOT/UTILS/ASDF::READ-ASD-FILE) #<SB-SYS:FD-STREAM for "file /tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/ace.core.asd" {1001E38A63}>)
14: (UIOP/STREAM:CALL-WITH-INPUT-FILE #P"/tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/ace.core.asd" #<CLOSURE (LAMBDA (QLOT/UTILS/ASDF::IN) :IN QLOT/UTILS/ASDF::READ-ASD-FILE) {1001E3857B}> :ELEMENT-TYPE NIL :EXTERNAL-FORMAT NIL :IF-DOES-NOT-EXIST :ERROR)
15: (QLOT/UTILS/DISTIFY:SYSTEMS.TXT "ace.core" #P"/tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/")
16: ((LAMBDA (QLOT/DISTIFY/GIT::OUT) :IN QLOT/DISTIFY/GIT::WRITE-METADATA-FILES) #<SB-SYS:FD-STREAM for "file /tmp/qlot-ZYT2BV80/ace.core/git-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/systems.txt" {1001DE26E3}>)
17: (UIOP/STREAM:CALL-WITH-OUTPUT-FILE #P"/tmp/qlot-ZYT2BV80/ace.core/git-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/systems.txt" #<CLOSURE (LAMBDA (QLOT/DISTIFY/GIT::OUT) :IN QLOT/DISTIFY/GIT::WRITE-METADATA-FILES) {1001DE21FB}> :ELEMENT-TYPE NIL :EXTERNAL-FORMAT NIL :IF-EXISTS :SUPERSEDE :IF-DOES-NOT-EXIST :CREATE)
18: (QLOT/DISTIFY/GIT::WRITE-METADATA-FILES #<QLOT/SOURCE/GIT:SOURCE-GIT ace.core https://github.com/qitab/ace.core ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a {1001C83E83}> #P"/tmp/qlot-ZYT2BV80/ace.core/git-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/" #P"/tmp/qlot-LUFEP2S0/ace.core-ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/" #P"/tmp/qlot-ZYT2BV80/ace.core/git-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a/archive.tar.gz")
19: (QLOT/DISTIFY/GIT:DISTIFY-GIT #<QLOT/SOURCE/GIT:SOURCE-GIT ace.core https://github.com/qitab/ace.core ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a {1001C83E83}> #P"/tmp/qlot-ZYT2BV80/" :DISTINFO-ONLY NIL)
20: (QLOT/DISTIFY:DISTIFY #<QLOT/SOURCE/GIT:SOURCE-GIT ace.core https://github.com/qitab/ace.core ref-01587b8eac4e2b0fb6f1e2cf816e660f5c33721a {1001C83E83}> #P"/tmp/qlot-ZYT2BV80/" :DISTINFO-ONLY NIL)
21: (SB-INT:SIMPLE-EVAL-IN-LEXENV (UIOP/PACKAGE:SYMBOL-CALL :QLOT/DISTIFY :DISTIFY (QLOT/SOURCE/BASE:DEFROST-SOURCE (MAKE-INSTANCE (QUOTE QLOT/SOURCE/GIT:SOURCE-GIT) :PROJECT-NAME "ace.core" :REMOTE-URL "https://github.com/qitab/ace.core")) #P"/tmp/qlot-ZYT2BV80/" :DISTINFO-ONLY NIL) #<NULL-LEXENV>)
22: (EVAL (UIOP/PACKAGE:SYMBOL-CALL :QLOT/DISTIFY :DISTIFY (QLOT/SOURCE/BASE:DEFROST-SOURCE (MAKE-INSTANCE (QUOTE QLOT/SOURCE/GIT:SOURCE-GIT) :PROJECT-NAME "ace.core" :REMOTE-URL "https://github.com/qitab/ace.core")) #P"/tmp/qlot-ZYT2BV80/" :DISTINFO-ONLY NIL))
23: (ROSWELL::EVAL #<(SIMPLE-ARRAY CHARACTER (250)) (uiop/package:symbol-call :qlot/distify :distify (qlot/source/base:defrost-source (make-instance (quote qlot/source/git:source-git) :project-name "ace.core" :remote-url "https://github.com/qitab/ace.c... {1004B6960F}>)
24: (ROSWELL:RUN ((:EVAL "(require 'asdf)") (:EVAL "(setf *debugger-hook* (lambda (c parent) (declare (ignore parent)) (format *error-output* \"~&Error: ~A~2%\" c) (uiop/image:print-backtrace :condition c) (uiop/image:quit -1)))") (:EVAL "(push #P\"/home/mathrick/.roswell/lisp/quicklisp/dists/quicklisp/software/qlot-20220331-git/\" asdf/system-registry:*central-registry*)") (:EVAL #<(SIMPLE-ARRAY CHARACTER (212)) (setf asdf/source-registry:*default-source-registries* (quote (asdf/source-registry:environment-source-registry asdf/source-registry:system-source-registry asdf/source-registry:system-source-registry-... {1004B68B6F}>) (:EVAL "(load #P\"/home/mathrick/.roswell/lisp/quicklisp/setup.lisp\")") (:EVAL "(uiop/package:symbol-call :ql :quickload \"qlot/distify\" :silent t)") (:EVAL "(let ((*error-output* (make-broadcast-stream))) (load (merge-pathnames #P\"setup.lisp\" #P\"/home/mathrick/Dev/clutch/.qlot/\")))") (:EVAL #<(SIMPLE-ARRAY CHARACTER (250)) (uiop/package:symbol-call :qlot/distify :distify (qlot/source/base:defrost-source (make-instance (quote qlot/source/git:source-git) :project-name "ace.core" :remote-url "https://github.com/qitab/ace.c... {1004B6960F}>) (:HOOK) (:QUIT)))
25: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:RUN (QUOTE ((:EVAL "(require 'asdf)") (:EVAL "(setf *debugger-hook* (lambda (c parent) (declare (ignore parent)) (format *error-output* \"~&Error: ~A~2%\" c) (uiop/image:print-backtrace :condition c) (uiop/image:quit -1)))") (:EVAL "(push #P\"/home/mathrick/.roswell/lisp/quicklisp/dists/quicklisp/software/qlot-20220331-git/\" asdf/system-registry:*central-registry*)") (:EVAL #<(SIMPLE-ARRAY CHARACTER (212)) (setf asdf/source-registry:*default-source-registries* (quote (asdf/source-registry:environment-source-registry asdf/source-registry:system-source-registry asdf/source-registry:system-source-registry-... {1004B68B6F}>) (:EVAL "(load #P\"/home/mathrick/.roswell/lisp/quicklisp/setup.lisp\")") (:EVAL "(uiop/package:symbol-call :ql :quickload \"qlot/distify\" :silent t)") (:EVAL "(let ((*error-output* (make-broadcast-stream))) (load (merge-pathnames #P\"setup.lisp\" #P\"/home/mathrick/Dev/clutch/.qlot/\")))") (:EVAL #<(SIMPLE-ARRAY CHARACTER (250)) (uiop/package:symbol-call :qlot/distify :distify (qlot/source/base:defrost-source (make-instance (quote qlot/source/git:source-git) :project-name "ace.core" :remote-url "https://github.com/qitab/ace.c... {1004B6960F}>) (:HOOK) (:QUIT)))) #<NULL-LEXENV>)
26: (EVAL (ROSWELL:RUN (QUOTE ((:EVAL "(require 'asdf)") (:EVAL "(setf *debugger-hook* (lambda (c parent) (declare (ignore parent)) (format *error-output* \"~&Error: ~A~2%\" c) (uiop/image:print-backtrace :condition c) (uiop/image:quit -1)))") (:EVAL "(push #P\"/home/mathrick/.roswell/lisp/quicklisp/dists/quicklisp/software/qlot-20220331-git/\" asdf/system-registry:*central-registry*)") (:EVAL #<(SIMPLE-ARRAY CHARACTER (212)) (setf asdf/source-registry:*default-source-registries* (quote (asdf/source-registry:environment-source-registry asdf/source-registry:system-source-registry asdf/source-registry:system-source-registry-... {1004B68B6F}>) (:EVAL "(load #P\"/home/mathrick/.roswell/lisp/quicklisp/setup.lisp\")") (:EVAL "(uiop/package:symbol-call :ql :quickload \"qlot/distify\" :silent t)") (:EVAL "(let ((*error-output* (make-broadcast-stream))) (load (merge-pathnames #P\"setup.lisp\" #P\"/home/mathrick/Dev/clutch/.qlot/\")))") (:EVAL #<(SIMPLE-ARRAY CHARACTER (250)) (uiop/package:symbol-call :qlot/distify :distify (qlot/source/base:defrost-source (make-instance (quote qlot/source/git:source-git) :project-name "ace.core" :remote-url "https://github.com/qitab/ace.c... {1004B6960F}>) (:HOOK) (:QUIT)))))
27: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn #-ros.init(cl:load \"/etc/roswell/init.lisp\"))") (:EVAL . #<(SIMPLE-ARRAY CHARACTER (1160)) (ros:run '((:eval "(require 'asdf)")(:eval "(setf *debugger-hook* (lambda (c parent) (declare (ignore parent)) (format *error-output* \"~&Error: ~A~2%\" c) (uiop/image:print-backtrace :condition c) (u... {100156843F}>)))
28: (SB-IMPL::TOPLEVEL-INIT)
29: ((FLET SB-UNIX::BODY :IN SB-EXT:SAVE-LISP-AND-DIE))
30: ((FLET "WITHOUT-INTERRUPTS-BODY-14" :IN SB-EXT:SAVE-LISP-AND-DIE))
31: ((LABELS SB-IMPL::RESTART-LISP :IN SB-EXT:SAVE-LISP-AND-DIE))
Unhandled QLOT/UTILS/SHELL:SHELL-COMMAND-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
{10008B8083}>:
Error while executing a shell command: "/usr/bin/ros" "+Q" "-L" "sbcl-bin" "-e" "(require 'asdf)" "-e" "(setf *debugger-hook* (lambda (c parent) (declare (ignore parent)) (format *error-output* \"~&Error: ~A~2%\" c) (uiop/image:print-backtrace :condition c) (uiop/image:quit -1)))" "-e" "(push #P\"/home/mathrick/.roswell/lisp/quicklisp/dists/quicklisp/software/qlot-20220331-git/\" asdf/system-registry:*central-registry*)" "-e" "(setf asdf/source-registry:*default-source-registries* (quote (asdf/source-registry:environment-source-registry asdf/source-registry:system-source-registry asdf/source-registry:system-source-registry-directory)))" "-e" "(load #P\"/home/mathrick/.roswell/lisp/quicklisp/setup.lisp\")" "-e" "(uiop/package:symbol-call :ql :quickload \"qlot/distify\" :silent t)" "-e" "(let ((*error-output* (make-broadcast-stream))) (load (merge-pathnames #P\"setup.lisp\" #P\"/home/mathrick/Dev/clutch/.qlot/\")))" "-e" "(uiop/package:symbol-call :qlot/distify :distify (qlot/source/base:defrost-source (make-instance (quote qlot/source/git:source-git) :project-name \"ace.core\" :remote-url \"https://github.com/qitab/ace.core\")) #P\"/tmp/qlot-ZYT2BV80/\" :distinfo-only nil)" (Code=255)
; in: LOOP FOR
; (LET ((ASDF/USER::F NIL) (#:LOOP-LIST-653 ASDF/USER::*FILES*))
; (DECLARE)
; (SB-LOOP::WITH-LOOP-LIST-COLLECTION-HEAD (#:LOOP-LIST-HEAD-654
; #:LOOP-LIST-TAIL-655)
; (TAGBODY
; SB-LOOP::NEXT-LOOP
; (WHEN (ENDP #:LOOP-LIST-653) (GO SB-LOOP::END-LOOP))
; (SB-LOOP::LOOP-DESETQ ASDF/USER::F (CAR #:LOOP-LIST-653))
; (SB-LOOP::LOOP-DESETQ #:LOOP-LIST-653 (CDR #:LOOP-LIST-653))
; (SB-LOOP::LOOP-COLLECT-RPLACD
; (#:LOOP-LIST-HEAD-654 #:LOOP-LIST-TAIL-655) (LIST `#))
; (GO SB-LOOP::NEXT-LOOP)
; SB-LOOP::END-LOOP
; (RETURN-FROM NIL (SB-LOOP::LOOP-COLLECT-ANSWER #:LOOP-LIST-HEAD-654)))))
;
; caught WARNING:
; undefined variable: ASDF/USER::*FILES*
;
; compilation unit finished
; Undefined variable:
; *FILES*
; caught 1 WARNING condition
Error: The variable *FILES* is unbound.
This seems like an infite loop, I've given it anywhere from 10s to over an hour, and it never finishes, seemingly always stuck
REFILL-INPUT-BUFFER
. It's not just waiting for something and deadlocked since it keeps a CPU core pegged at 100%, but never makes any progress.