koji-kojiro / cl-repl

A full-featured repl implementation designed to work with Roswell
GNU General Public License v3.0
153 stars 22 forks source link

Lock on package SB-IMPL violated when interning *INSPECT-UNBOUND-OBJECT-MARKER* while in package CL-REPL. #41

Closed rrcgat closed 5 years ago

rrcgat commented 6 years ago

Hello Koji, when I install cl-repl in my Arch Linux with sbcl=1.4.13 and roswell=18.10.10.95, some problems happened. I can't solve it for that I'm not really major in Common Lisp. Here is what exactly happened:

Installing from github koji-kojiro/cl-repl
To load "cl-repl":
  Load 1 ASDF system:
    cl-repl
; Loading "cl-repl"
..[1/3] System 'cl-repl' found. Loading the system..
; 
; caught ERROR:
;   READ error during COMPILE-FILE:
;   
;     Lock on package SB-IMPL violated when
;     interning *INSPECT-UNBOUND-OBJECT-MARKER* while in package CL-REPL.
;   See also:
;     The SBCL Manual, Node "Package Locks"
;   
;     (in form starting at line: 74, column: 0, position: 2193)
Aborted during step [1/3].
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING
                                                          {10005185B3}>:
  COMPILE-FILE-ERROR while
  compiling #<CL-SOURCE-FILE "cl-repl" "src" "inspector">

Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10005185B3}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1002B77763}> #<unused argument> :QUIT T)
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK* #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1002B77763}>)
2: (INVOKE-DEBUGGER #<UIOP/LISP-BUILD:COMPILE-FILE-ERROR {1002B77763}>)
3: (ERROR UIOP/LISP-BUILD:COMPILE-FILE-ERROR :CONTEXT-FORMAT "~/asdf-action::format-action/" :CONTEXT-ARGUMENTS ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-repl" "src" "inspector">)))
4: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-repl" "src" "inspector">)))
5: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-repl" "src" "inspector">)
6: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
7: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "cl-repl" "src" "inspector">) [fast-method]
8: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1003068DF3}>) [fast-method]
9: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
10: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {1003068DF3}>) [fast-method]
11: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-repl"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
12: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-repl"> :VERBOSE NIL)
13: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
14: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "cl-repl"> :VERBOSE NIL) [fast-method]
15: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "cl-repl" :VERBOSE NIL)
16: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
17: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cl-repl" :VERBOSE NIL) [fast-method]
18: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100306100B}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL)
19: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
20: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100305406B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE NIL :OVERRIDE-FORCING NIL)
21: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cl-repl" :VERBOSE NIL) [fast-method]
22: (ASDF/OPERATE:LOAD-SYSTEM "cl-repl" :VERBOSE NIL)
23: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1003053FCB}>)
24: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "cl-repl" :PROMPT NIL)
25: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unused argument> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1003047D8B}>) [fast-method]
26: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {10052D5793}> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1003047D8B}>) [fast-method]
27: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) "cl-repl" :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method]
28: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {100303F86B}>)
29: (INSTALL-SYSTEM-SCRIPT "cl-repl")
30: (INSTALL-SYSTEM-IF-PROBED "cl-repl")
31: (INSTALL NIL)
32: (SB-INT:SIMPLE-EVAL-IN-LEXENV (APPLY (QUOTE MAIN) ROSWELL:*ARGV*) #<NULL-LEXENV>)
33: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) #<NULL-LEXENV>)
34: (SB-EXT:EVAL-TLF (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL NIL)
35: ((LABELS SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ROSWELL:QUIT (APPLY (QUOTE MAIN) ROSWELL:*ARGV*)) NIL)
36: (SB-INT:LOAD-AS-SOURCE #<CONCATENATED-STREAM :STREAMS NIL {10029B36C3}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
37: ((FLET SB-FASL::THUNK :IN LOAD))
38: (SB-FASL::CALL-WITH-LOAD-BINDINGS #<CLOSURE (FLET SB-FASL::THUNK :IN LOAD) {7F7861B0F53B}> #<CONCATENATED-STREAM :STREAMS NIL {10029B36C3}>)
39: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<CONCATENATED-STREAM :STREAMS NIL {10029B36C3}> NIL)
40: (LOAD #<CONCATENATED-STREAM :STREAMS NIL {10029B36C3}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
41: ((FLET ROSWELL::BODY :IN ROSWELL:SCRIPT) #<SB-SYS:FD-STREAM for "file /usr/etc/roswell/install.ros" {10029AEF23}>)
42: (ROSWELL:SCRIPT "/usr/etc/roswell/install.ros" "koji-kojiro/cl-repl")
43: (ROSWELL:RUN ((:EVAL "(ros:quicklisp)") (:SCRIPT "/usr/etc/roswell/install.ros" "koji-kojiro/cl-repl") (:QUIT NIL)))
44: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ROSWELL:RUN (QUOTE ((:EVAL "(ros:quicklisp)") (:SCRIPT "/usr/etc/roswell/install.ros" "koji-kojiro/cl-repl") (:QUIT NIL)))) #<NULL-LEXENV>)
45: (EVAL (ROSWELL:RUN (QUOTE ((:EVAL "(ros:quicklisp)") (:SCRIPT "/usr/etc/roswell/install.ros" "koji-kojiro/cl-repl") (:QUIT NIL)))))
46: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:EVAL . "(progn #-ros.init(cl:load \"/usr/etc/roswell/init.lisp\"))") (:EVAL . "(ros:run '((:eval\"(ros:quicklisp)\")(:script \"/usr/etc/roswell/install.ros\"\"koji-kojiro/cl-repl\")(:quit ())))")))
47: (SB-IMPL::TOPLEVEL-INIT)
48: ((FLET SB-UNIX::BODY :IN SB-EXT:SAVE-LISP-AND-DIE))
49: ((FLET "WITHOUT-INTERRUPTS-BODY-34" :IN SB-EXT:SAVE-LISP-AND-DIE))
50: ((LABELS SB-IMPL::RESTART-LISP :IN SB-EXT:SAVE-LISP-AND-DIE))

unhandled condition in --disable-debugger mode, quitting
; 
; compilation unit aborted
;   caught 2 fatal ERROR conditions
;   caught 1 ERROR condition
koji-kojiro commented 5 years ago

@rrcgat Sorry for the late reply. I could not reproduce your problem on my PC, though the environment is a little different ... Can you try other versions of sbcl?

rrcgat commented 5 years ago

@koji-kojiro Bad news, I can't even install other version of sbcl with ros, it reported other errors. I think there is some problems with roswell in Arch Linux.

koji-kojiro commented 5 years ago

@rrcgat About that, you'd better to open issue in roswell's repo. However, I believe the original issue is not caused by roswell. The backtraces says the error is related to sbcl's internal system, so that is problem of cl-repl or sbcl. Anyways, no ideas at this time... I'll dig into it later.

rrcgat commented 5 years ago

@koji-kojiro Yeah, I changed roswell's default implementation to sbcl=1.3.1 on my system, and tried to install cl-repl again, it doesn't work. Thanks you :)

koji-kojiro commented 5 years ago

@rrcgat Maybe fixed. 8df32ee Please try ros install koji-kojiro/cl-repl/develop.

koji-kojiro commented 5 years ago

Related: https://sourceforge.net/p/sbcl/sbcl/ci/dacad3cdc86b2f49d744a98656174c12ae014274/

rrcgat commented 5 years ago

@koji-kojiro Thank you! the bug fixed :) But it doesn't work after using ros install koji-kojiro/cl-repl/develop, same error reported. I forked and merged your code to master and it works.

koji-kojiro commented 5 years ago

Maybe I'm misunderstanding on ros install. Anyways, I'll merge that later. Thanks for your report.