* Madhu m3wsxcz2y8.fsf@robolove.meer.net : * http://permalink.gmane.org/gmane.lisp.slime.devel/6368 | I wonder if others have seen this problem: I see it once in a while and | thought I'd ask here first.
I am able to get a repeatable test case with the latest CMUCL snapshot. and latest SLIME from CVS: It is as simple as
M-x slime M-x slime-disconnect
With these settings
(cl:setq SWANK:*USE-DEDICATED-OUTPUT-STREAM* t SWANK:*COMMUNICATION-STYLE* :sigio SWANK::*GLOBALLY-REDIRECT-IO* NIL nil)
With :fd-handler communication style and dedicated output stream CMUCL is confused into going into an infinite loop writing to the closed stream.
The combination of no dedicated output stream and :sigio does not trigger the ldb. (But I get dropped intermittently to ldb)
I noticed this changelog entry:
* 2004-11-15 Helmut Eller heller@common-lisp.net
* swank-cmucl.lisp (emacs-connected): Install GC hooks to display GC messages in the echo area. (sos/misc :flush-output): There seem to be funny signal safety issues if the dedicated output stream is not used. So, lets first reset the buffer index before sending the buffer to the underlying stream.
And the backtraces I noticed were along the lines of
54: COMMON-LISP::ERROR 55: LISP::CLOSED-FLAME 56: COMMON-LISP::WRITE-CHAR 57: FORMAT::FORMAT-WRITE-FIELD 58: FORMAT::FORMAT-PRINT-INTEGER 59: FORMAT::X-FORMAT-DIRECTIVE-INTERPRETER 60: FORMAT::INTERPRET-DIRECTIVE-LIST 61: FORMAT::%FORMAT 62: COMMON-LISP::FORMAT 63: SWANK::ENCODE-MESSAGE 64: SWANK::SLDB-LOOP 65: SWANK::CALL-WITH-BINDINGS 66: "DEFIMPLEMENTATION CALL-WITH-DEBUGGING-ENVIRONMENT" 67: SWANK::DEBUG-IN-EMACS 68: COMMON-LISP::INVOKE-DEBUGGER 69: COMMON-LISP::ERROR 70: LISP::CLOSED-FLAME 71: COMMON-LISP::WRITE-CHAR 72: FORMAT::FORMAT-WRITE-FIELD 73: FORMAT::FORMAT-PRINT-INTEGER 74: FORMAT::X-FORMAT-DIRECTIVE-INTERPRETER 75: FORMAT::INTERPRET-DIRECTIVE-LIST 76: FORMAT::%FORMAT 77: COMMON-LISP::FORMAT 78: SWANK::ENCODE-MESSAGE 79: "DEFUN MAKE-OUTPUT-FUNCTION" 80: "DEFINTERFACE CALL-WITH-DEBUGGER-HOOK" 81: SWANK::CALL-WITH-REDIRECTED-IO 82: SWANK::CALL-WITH-CONNECTION 83: (COMMON-LISP::FLET G1 SWANK-BACKEND::SOS/MISC) 84: SWANK-BACKEND::SOS/MISC 85: COMMON-LISP::FINISH-OUTPUT 86: (COMMON-LISP::FLET G0 SWANK-BACKEND::SOS/MISC-FORCE-OUTPUT) 87: SWANK-BACKEND::SOS/MISC-FORCE-OUTPUT 88: SWANK-BACKEND::SOS/MISC
Indicating that the swank is trying to report the closed file error message on the closed stream. [?]
I had asked questions on REDIRECT-IO before and I can guess at some problems with the current protocol, but I'll wait for a response from the original implementors, if they could identify and suggest what the problem is, or at least document the known issues.
Thanks -- Madhu