Brian O'Reilly fade@deepsky.com writes:
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}>)
... 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!
Don't load slime-presentation-streams contrib, because it's broken.
And as for run-repl-eval-hooks warnings, you appear to be using swank-listener-hooks contrib but not loading it, so either add (slime-require 'swank-listener-hooks) to your config, or stop using it.