[slime-devel] Slime/SBCL/FreeBSD oddities

Raymond Wiker Raymond.Wiker at fast.no
Fri Dec 5 15:17:57 UTC 2003


Luke Gorrie writes:
 > Raymond Wiker <Raymond.Wiker at fast.no> writes:
 > 
 > >         FreeBSD 4.9 Stable, SBCL 0.8.6.21, current SLIME.
 > > 
 > >         Hi. I have a Lisp file that has some large forms (a defconst
 > > for a vector holding 1024 integers, for instance).
 > > 
 > >         If I hit C-c C-e over this form, it is evaluated in the
 > > *inferior-lisp* buffer.
 > > 
 > >         If I hit C-c C-c, I get a "broken pipe" error. I've tried
 > > reducing the size of the vector, and I see this problem down to
 > > (about) 480 characters. This is just below the "pipesize" limit on my
 > > box, which is 512.
 > 
 > Are you running SLIME in any exotic way? Who reports the broken pipe,
 > Emacs or Lisp?
 > 
 > With SBCL "0.8.5.50" from CVS a ways back on Linux I can't reproduce
 > this, even with e.g. (defconstant foo #(42 ... 42)) with 25KB of
 > 42's. I think I can get SBCL onto a FreeBSD box around here though.

        Here's the first few items from the "Lossage" buffer in
XEmacs:

Recent minibuffer messages (most recent first):

Operation not allowed or error during operation: "SIGPIPE raised on process; closed it", "SLIME Lisp"
Connected to Swank server on port 2261. Let the hacking commence!
Connecting to Swank on port 2261..
Polling "/tmp/raw/slime.254".. (Abort with `M-x slime-disconnect'.)

        And the output from SBCL:

* ;; Connection to Emacs lost.
;; [couldn't read from #<FILE-STREAM for "a constant string" {48E50039}>:
      Resource temporarily unavailable]

debugger invoked on a SIMPLE-ERROR in thread 89722:
  (#<SB-IMPL::HANDLER
     INPUT on BOGUS descriptor 6: #>) has a bad file descriptor.

You can type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [REMOVE-THEM] Remove bogus handlers.
  1: [RETRY-THEM ] Retry bogus handlers.
  2: [CONTINUE   ] Go on, leaving handlers marked as bogus.
  3: [ABORT      ] Reduce debugger level (leaving debugger, returning to
                   toplevel).
  4: [TOPLEVEL   ] Restart at toplevel READ/EVAL/PRINT loop.
(SB-IMPL::HANDLER-DESCRIPTORS-ERROR 0)[:EXTERNAL]
0] 

        Hum... this might also be an XEmacs issue? My XEmacs is 

XEmacs 21.4 (patch 12) \"Portable Code\" [Lucid] (i386--freebsd) of
Sun Aug 10 2003 on raw.grenland.fast.no

        The sequence seems to be that SBCL gets error code EAGAIN
("Resource temporarily unavailable" is a dead giveaway :-), and closes
the socket. Then, XEmacs gets a sigpipe, and closes its end of the
pipe.

        Soooo, this looks like an SBCL issue, but why does this not
happen with C-c C-e? Are characters sent in different ways to SBCL
with C-c C-e and C-c C-c?





More information about the slime-devel mailing list