I'm running slime /w sbcl on an ubuntu 10.04 amd64 machine. I use clbuild to generate lisp environments for each project I work on. Slime starts normally when I have a fresh checkout of slime and a fresh build of sbcl in a clbuild instance, compiled from the sbcl in the ubuntu lucid package pool, but only on the first invocation when there aren't any fasls. Upon subsequent invocations, when the environment tries to start up from the fasls generated previously, I get swank throwing to sldb with only an abort restart, which kills the slime startup entirely when selected. Previously slime was throwing the same warning, but it offered other restarts that allowed swank to start, and slime to connect. The sldb and inferior lisp buffers follow:
=================
;; inferior lisp:
(progn (load "/home/fade/SourceCode/lisp/clbuild/source/slime/swank-loader.lisp" :verbose t) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-server") "/tmp/slime.2349" :coding-system "utf-8-unix"))
This is SBCL 1.0.39.2, an implementation of ANSI Common Lisp. More information about SBCL is available at http://www.sbcl.org/.
SBCL is free software, provided as is, with absolutely no warranty. It is mostly in the public domain; some portions are provided under BSD-style licenses. See the CREDITS and COPYING files in the distribution for more information. * ; loading #P"/home/fade/SourceCode/lisp/clbuild/source/slime/swank-loader.lisp" ; loading #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/swank-backend.fasl" ; loading #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/swank-source-path-parser.fasl" ; loading #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/swank-source-file-cache.fasl" ; loading #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/swank-sbcl.fasl" STYLE-WARNING: redefining SOCKET-FD in DEFUN STYLE-WARNING: redefining EMACS-INSPECT (#<BUILT-IN-CLASS T>) in DEFMETHOD ; loading #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/swank-gray.fasl" STYLE-WARNING: Implicitly creating new generic function STREAM-READ-CHAR-WILL-HANG-P. ; loading #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/swank-match.fasl" ; loading #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/swank-rpc.fasl" ; loading #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/swank.fasl" WARNING: These Swank interfaces are unimplemented: (DISASSEMBLE-FRAME DUP EXEC-IMAGE MAKE-FD-STREAM SLDB-BREAK-AT-START SLDB-BREAK-ON-RETURN SOCKET-FD) ;; Swank started at port: 57233. 57233 * ; in: LAMBDA NIL ; (SWANK::RUN-REPL-EVAL-HOOKS SWANK::FORM) ; ; caught STYLE-WARNING: ; undefined function: RUN-REPL-EVAL-HOOKS ; ; compilation unit finished ; Undefined function: ; RUN-REPL-EVAL-HOOKS ; caught 1 STYLE-WARNING condition WARNING: change in instance length of class PRETTY-STREAM: current length: 25 new length: 27 STYLE-WARNING: redefining MAKE-PRETTY-STREAM in DEFUN STYLE-WARNING: redefining MAYBE-OUTPUT in DEFUN STYLE-WARNING: redefining OUTPUT-LINE in DEFUN STYLE-WARNING: redefining OUTPUT-PARTIAL-LINE in DEFUN STYLE-WARNING: redefining FORCE-PRETTY-OUTPUT in DEFUN WARNING: change in instance length of class SB-PRETTY:PRETTY-STREAM: current length: 27 compile time length: 25
;; sldb sbcl/1
The loaded code expects an incompatible layout for class SB-PRETTY:PRETTY-STREAM. [Condition of type SIMPLE-ERROR]
Restarts: 0: [ABORT] Return to SLIME's top level. 1: [TERMINATE-THREAD] Terminate this thread (#<THREAD "worker" RUNNING {1003168481}>)
Backtrace: 0: (SB-KERNEL::CHECK-LAYOUT ..) Locals: SB-DEBUG::ARG-0 = #<SB-KERNEL:LAYOUT for SB-PRETTY:PRETTY-STREAM {100081ACA1}> SB-DEBUG::ARG-1 = #<SB-KERNEL:STRUCTURE-CLASSOID SB-PRETTY:PRETTY-STREAM> SB-DEBUG::ARG-2 = 25 SB-DEBUG::ARG-3 = #(#<SB-KERNEL:LAYOUT for T {1000087761}> ..) SB-DEBUG::ARG-4 = 4 SB-DEBUG::ARG-5 = 0 1: (SB-KERNEL::%INIT-OR-CHECK-LAYOUT ..) Locals: SB-DEBUG::ARG-0 = #<SB-KERNEL:LAYOUT for SB-PRETTY:PRETTY-STREAM {100081ACA1}> SB-DEBUG::ARG-1 = #<SB-KERNEL:STRUCTURE-CLASSOID SB-PRETTY:PRETTY-STREAM> SB-DEBUG::ARG-2 = 25 SB-DEBUG::ARG-3 = #(#<SB-KERNEL:LAYOUT for T {1000087761}> ..) SB-DEBUG::ARG-4 = 4 SB-DEBUG::ARG-5 = 0 2: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-LOCK]324)) [No Locals] 3: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK ..) Locals: SB-DEBUG::ARG-0 = #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK) {7FFFF4AD99A9}> SB-DEBUG::ARG-1 = #S(SB-THREAD:MUTEX ..) 4: (SB-KERNEL:FIND-AND-INIT-OR-CHECK-LAYOUT ..) Locals: SB-DEBUG::ARG-0 = SB-PRETTY:PRETTY-STREAM SB-DEBUG::ARG-1 = 25 SB-DEBUG::ARG-2 = #(#<SB-KERNEL:LAYOUT for T {1000087761}> ..) SB-DEBUG::ARG-3 = 4 SB-DEBUG::ARG-4 = 0 5: (SB-FASL::FOP-LAYOUT) [No Locals] 6: (SB-FASL::LOAD-FASL-GROUP #<SB-SYS:FD-STREAM for "file /home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/contrib/swank-arglists.fasl" {1002F12A81}>) Locals: SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "file /home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39... Catch-tags: SB-FASL::FASL-GROUP-END 7: ((FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK)) [No Locals] 8: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-RECURSIVE-LOCK]324)) [No Locals] 9: (SB-THREAD::CALL-WITH-RECURSIVE-LOCK ..) Locals: SB-DEBUG::ARG-0 = #<CLOSURE (FLET SB-THREAD::WITH-RECURSIVE-LOCK-THUNK) {7FFFF4AD9CF9}> SB-DEBUG::ARG-1 = #S(SB-THREAD:MUTEX ..) 10: (SB-FASL::LOAD-AS-FASL #<SB-SYS:FD-STREAM for "file /home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/contrib/swank-arglists.fasl" {1002F12A81}> NIL #<unavailable argument>) Locals: SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "file /home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39... SB-DEBUG::ARG-1 = NIL SB-DEBUG::ARG-2 = :<NOT-AVAILABLE> 11: ((FLET SB-FASL::LOAD-STREAM) #<SB-SYS:FD-STREAM for "file /home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/contrib/swank-arglists.fasl" {1002F12A81}> T) Locals: SB-DEBUG::ARG-0 = #<SB-SYS:FD-STREAM for "file /home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39... SB-DEBUG::ARG-1 = T 12: (LOAD #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/contrib/swank-arglists.fasl")[:EXTERNAL] Locals: SB-DEBUG::ARG-0 = 1 SB-DEBUG::ARG-1 = #P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/contrib/swa.. 13: (REQUIRE SWANK-IO-PACKAGE::SWANK-ARGLISTS (#P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/contrib/swank-arglists.fasl")) Locals: SB-IMPL::MODULE-NAME = SWANK-IO-PACKAGE::SWANK-ARGLISTS SB-IMPL::PATHNAMES = (#P"/home/fade/.slime/fasl/2010-05-28/sbcl-1.0.39.2-linux-x86-64/contrib/sw.. 14: (SWANK:SWANK-REQUIRE ..) Locals: SWANK::FILENAME = NIL SWANK::MODULES = (:SWANK-LISTENER-HOOKS SWANK-IO-PACKAGE::SWANK-PRESENTATION-STREAMS ..) 15: (SB-INT:SIMPLE-EVAL-IN-LEXENV ..) Locals: SB-DEBUG::ARG-0 = (SWANK:SWANK-REQUIRE ..) SB-DEBUG::ARG-1 = #<NULL-LEXENV> 16: (SWANK::EVAL-FOR-EMACS ..) Locals: SB-DEBUG::ARG-0 = (SWANK:SWANK-REQUIRE ..) SB-DEBUG::ARG-1 = "COMMON-LISP-USER" SB-DEBUG::ARG-2 = 2 17: ((LAMBDA ())) [No Locals] 18: (SWANK-BACKEND::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA #) {1004498319}>) Locals: *INVOKE-DEBUGGER-HOOK* = :<NOT-AVAILABLE> SWANK-BACKEND::CONTINUATION = #<FUNCTION (LAMBDA ()) {1004498319}> SWANK-BACKEND::HOOK = #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> 19: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK) #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<FUNCTION (LAMBDA #) {1004498319}>) Locals: *DEBUGGER-HOOK* = :<NOT-AVAILABLE> SB-KERNEL:*HANDLER-CLUSTERS* = :<NOT-AVAILABLE> SWANK-BACKEND::FUN = #<FUNCTION (LAMBDA ()) {1004498319}> SWANK-BACKEND::HOOK = #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> 20: (SWANK::CALL-WITH-BINDINGS NIL #<CLOSURE (LAMBDA #) {10031690F9}>) Locals: SB-DEBUG::ARG-0 = NIL SB-DEBUG::ARG-1 = #<CLOSURE (LAMBDA ()) {10031690F9}> 21: (SWANK::CALL-WITH-CONNECTION #<SWANK::CONNECTION {1003119F11}> #<FUNCTION (LAMBDA #) {1004498319}>) Locals: SB-DEBUG::ARG-0 = #<SWANK::CONNECTION {1003119F11}> SB-DEBUG::ARG-1 = #<FUNCTION (LAMBDA ()) {1004498319}> 22: (SWANK::CALL-WITH-BINDINGS NIL #<CLOSURE (LAMBDA #) {10031690B9}>) 23: ((FLET #:WITHOUT-INTERRUPTS-BODY-[BLOCK369]374)) 24: ((FLET SB-THREAD::WITH-MUTEX-THUNK)) 25: ((FLET #:WITHOUT-INTERRUPTS-BODY-[CALL-WITH-MUTEX]300)) 26: (SB-THREAD::CALL-WITH-MUTEX ..) 27: (SB-THREAD::INITIAL-THREAD-FUNCTION) 28: ("foreign function: #x422C00") 29: ("foreign function: #x419857")
;; /paste
... if I remove all relevant fasls and force the environment to recompile everything, I can start slime again, once. It would be great if somebody could point me toward a permanent fix for this. I should also note that I do not see this problem at all running Clozure Common Lisp against the same clbuild instance, so this looks like it may be a problem in SBCL, but after pfaffing about in the inspector for quite awhile, I still haven't narrowed down the problem -- debugging PEBCAK to be sure, but any help would be greatly appreciated!
Kind Regards.,
Brian