On Wed, Oct 03 2012, Harald Hanche-Olsen wrote:
I am running cmucl 20c (unicode version) under slime, with coding-system set to utf-8-unix and quicklisp loaded.
All seems to work well, including loading various quicklisp packages, until I try this:
CL-USER> (ql:quickload "ironclad") To load "ironclad": Load 1 ASDF system: ironclad ; Loading "ironclad" ...
and the slime-repl buffer hangs with the cursor at the last line above.
In the *inferior-lisp* buffer I find this:
;; swank:close-connection: No matching method for the generic function #<STANDARD-GENERIC-FUNCTION STREAM-ELEMENT-TYPE (1) {59232FA9}>, when called with arguments (#<Stream for descriptor 5>). Help! 12 nested errors. KERNEL:*MAXIMUM-ERROR-DEPTH* exceeded.
There is nothing untoward in the *slime-events* buffer.
Any idea what could be the problem?
Maybe a problem CMUCL's gray streams. Does (require 'gray-streams) work?
I'll be happy to provide backtraces, etc. if you can only tell me how to get them.
SWANK should print a backtrace in such situations but in this case the problem seems to occur also during printing the backtrace. So we need to find out what happens before the error.
The output of (ql:quickload "ironclad" :verbose t) would probably provide some hint in what file the problem occurs.
I supposed there is something odd about the stream for descriptor 5. Perhaps someone who knows the internals well can tell me what stream that is, and how it is different from other streams?
What's the output of: ls -l /proc/<pid>/fd where <pid> is the CMUCL's process id.
Also is swank:*use-dedicated-output-stream* set?
(Oh, loading ironclad in the *inferior-lisp* buffer works like a charm, after I tweaked the source code a little so it could find libcrypt. All this is on ubuntu, BTW, linux kernel 3.2.0-31-generic.)
- Harald
Helmut