slime + clisp + emacs: server disconnects

A.C. achirvasub at gmail.com
Tue Jul 23 16:04:34 UTC 2019


I have sbcl too (switched to it after the clisp shenanigans started upon upgrading to v2.24):

It does *not* crash, and I'm perfectly happy using sbcl. 

I was just impelled by curiosity to try and figure out what's wrong on the clisp side.

On July 23, 2019 6:58:55 PM GMT+03:00, Michael Rice <limitcase at gmail.com> wrote:
>Have you considered switching to Steel Bank Common Lisp (SBCL) to see
>if it
>also crashes?
>
>On Tue, Jul 23, 2019 at 10:51 AM Stuart Little <achirvasub at gmail.com>
>wrote:
>
>> On Tue, Jul 23, 2019 at 05:03:19PM +0300, Stas Boukarev wrote:
>> > Well, your clisp just happens to crash on that.
>> >
>>
>> I understand that :), but the purpose was to gain some insight into
>how or
>> why it's happening.
>>
>> Perhaps I can hack the swank loading procedure to avoid this, for
>> instance.But I'd need to understand the situation beyond the simple
>> observation that there's a crash, hence the mailing list message.
>>
>> > On Tue, Jul 23, 2019 at 4:59 PM Stuart Little
><achirvasub at gmail.com>
>> wrote:
>> > >
>> > > On Tue, Jul 23, 2019 at 04:52:00PM +0300, Stas Boukarev wrote:
>> > > > It says that Clisp crashes with a segfault, nothing to do with
>slime.
>> > > >
>> > >
>> > > It does say that, but a follow-up:
>> > >
>> > > If I run through the procedure described at the end, of starting
>swank
>> from within clisp, there are no crashes with swank-v2.20 (rather than
>2.24).
>> > >
>> > > I do get a warning in emacs to the effect that swank (2.20) and
>slime
>> (2.24) versions don't match, but once I confirm that the crashes go
>away.
>> > >
>> > > So this same clisp installation works fine with swank 2.20 and
>not
>> swank 2.24, meaning that some change in the latter is what's causing
>this.
>> > >
>> > > > On Tue, Jul 23, 2019 at 4:30 PM Stuart Little
><achirvasub at gmail.com>
>> wrote:
>> > > > >
>> > > > > I am running
>> > > > >
>> > > > > - emacs 26.2
>> > > > > - slime 2.24
>> > > > > - clisp 2.49
>> > > > >
>> > > > > on Linux.
>> > > > >
>> > > > > Running M-x slime in emacs with 'inferior-lisp-program' set
>to
>> 'clisp' starts slime fine. I can usually run one evaluation (like say
>(+ 2
>> 3)), whereupon any other action (pressing 'enter', say) will result
>in a
>> disconnect:
>> > > > >
>> > > > > Lisp connection closed unexpectedly: connection broken by
>remote
>> peer
>> > > > >
>> > > > > The inferior-lisp buffer reads as follows after the
>disconnect:
>> > > > >
>> > > > > --- buffer starts ---
>> > > > >
>> > > > > (progn (load
>>
>"/home/chirvasitua/quicklisp/dists/quicklisp/software/slime-v2.24/swank-loader.lisp"
>> :verbose t) (funcall (read-from-string "swank-loader:init")
>:from-emacs t)
>> (funcall (read-from-string "swank:start-server") "/tmp/slime.19223"))
>> > > > >
>> > > > >   i i i i i i i       ooooo    o        ooooooo   ooooo  
>ooooo
>> > > > >   I I I I I I I      8     8   8           8     8     o  8  
> 8
>> > > > >   I  \ `+' /  I      8         8           8     8        8  
> 8
>> > > > >    \  `-+-'  /       8         8           8      ooooo  
>8oooo
>> > > > >     `-__|__-'        8         8           8           8  8
>> > > > >         |            8     o   8           8     o     8  8
>> > > > >   ------+------       ooooo    8oooooo  ooo8ooo   ooooo   8
>> > > > >
>> > > > > Welcome to GNU CLISP 2.49 (2010-07-07)
><http://clisp.cons.org/>
>> > > > >
>> > > > > Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
>> > > > > Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
>> > > > > Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold
>1998
>> > > > > Copyright (c) Bruno Haible, Sam Steingold 1999-2000
>> > > > > Copyright (c) Sam Steingold, Bruno Haible 2001-2010
>> > > > >
>> > > > > Type :h and hit Enter for context help.
>> > > > >
>> > > > > [1]>
>> > > > > ;; Loading file
>>
>/home/chirvasitua/quicklisp/dists/quicklisp/software/slime-v2.24/swank-loader.lisp
>> ...
>> > > > > ;; Loaded file
>>
>/home/chirvasitua/quicklisp/dists/quicklisp/software/slime-v2.24/swank-loader.lisp
>> > > > > ;; Loading file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/packages.fas
>...
>> > > > > ;; Loaded file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/packages.fas
>> > > > > ;; Loading file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/backend.fas
>...
>> > > > > ;; Loaded file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/backend.fas
>> > > > > ;; Loading file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/xref.fas ...
>> > > > > ;; Loaded file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/xref.fas
>> > > > > ;; Loading file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/metering.fas
>...
>> > > > > ;; Loaded file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/metering.fas
>> > > > > ;; Loading file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/clisp.fas
>...
>> > > > > WARNING: DEFUN/DEFMACRO: redefining function BREAK in
>> > > > >
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/clisp.fas,
>> > > > >          was defined in
>/builddir/clisp-2.49/src/condition.fas
>> > > > > WARNING: Replacing method #<STANDARD-METHOD (#<BUILT-IN-CLASS
>T>)>
>> in
>> > > > >          #<STANDARD-GENERIC-FUNCTION EMACS-INSPECT>
>> > > > > ;; Loaded file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/clisp.fas
>> > > > > ;; Loading file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/gray.fas ...
>> > > > > WARNING: The generic function #<STANDARD-GENERIC-FUNCTION
>> STREAM-LINE-COLUMN>
>> > > > >          is being modified, but has already been called.
>> > > > > WARNING: The generic function #<STANDARD-GENERIC-FUNCTION
>> STREAM-FORCE-OUTPUT>
>> > > > >          is being modified, but has already been called.
>> > > > > WARNING: The generic function #<STANDARD-GENERIC-FUNCTION
>> STREAM-LINE-COLUMN>
>> > > > >          is being modified, but has already been called.
>> > > > > ;; Loaded file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/gray.fas
>> > > > > ;; Loading file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/match.fas
>...
>> > > > > ;; Loaded file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/match.fas
>> > > > > ;; Loading file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/rpc.fas ...
>> > > > > ;; Loaded file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/rpc.fas
>> > > > > ;; Loading file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/swank.fas
>...
>> > > > > ;; Loaded file
>> /home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/swank.fas
>> > > > > 0 errors, 5 warnings
>> > > > > ;; Swank started at port: 41975.
>> > > > > CL-USER>
>> > > > > ;; Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-trace-dialog.fas
>> ...
>> > > > > ;; Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-trace-dialog.fas
>> > > > > ;; Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-package-fu.fas
>> ...
>> > > > > ;; Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-package-fu.fas
>> > > > > ;; Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-presentations.fas
>> ...
>> > > > > ;;  Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-repl.fas
>> ...
>> > > > > WARNING: The generic function
>> > > > >          #<STANDARD-GENERIC-FUNCTION THREAD-FOR-EVALUATION>
>is
>> being modified,
>> > > > >          but has already been called.
>> > > > > WARNING: Replacing method
>> > > > >           #<STANDARD-METHOD
>> > > > >             (#<STRUCTURE-CLASS MULTITHREADED-CONNECTION> (EQL
>> :FIND-EXISTING))>
>> > > > >          in #<STANDARD-GENERIC-FUNCTION
>THREAD-FOR-EVALUATION>
>> > > > > ;;  Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-repl.fas
>> > > > > ;; Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-presentations.fas
>> > > > > ;; Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-macrostep.fas
>> ...
>> > > > > ;; Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-macrostep.fas
>> > > > > ;; Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-fuzzy.fas
>> ...
>> > > > > ;;  Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-util.fas
>> ...
>> > > > > ;;  Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-util.fas
>> > > > > ;;  Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-c-p-c.fas
>> ...
>> > > > > ;;  Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-c-p-c.fas
>> > > > > ;; Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-fuzzy.fas
>> > > > > ;; Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-fancy-inspector.fas
>> ...
>> > > > > ;; Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-fancy-inspector.fas
>> > > > > ;; Loading file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-arglists.fas
>> ...
>> > > > > WARNING: Test failed: (&KEY #'#'+) => "(&key (function 
>#'+))"
>> > > > >          Expected: One of: "(&key (function #'+))", "(&key
>> (function (function
>> > > > >          +)))"
>> > > > > ;; Loaded file
>>
>/home/chirvasitua/.slime/fasl/2.24/clisp-2.49-unix-pc386/contrib/swank-arglists.fas
>> > > > >
>> > > > > Process inferior-lisp segmentation fault
>> > > > >
>> > > > > --- buffer ends ---
>> > > > >
>> > > > > More information:
>> > > > >
>> > > > > - starting clisp in a terminal all on its own seems to work
>fine;
>> I haven't had segmentation faults using it in isolation from slime.
>> > > > >
>> > > > > - I tried to start the server from within clisp and connect
>to it:
>> > > > >
>> > > > > (a) rlwrap clisp
>> > > > > (b) (load
>> "~/quicklisp/dists/quicklisp/software/slime-v2.24/swank-loader.lisp")
>> > > > > (c) (swank-loader::init :reload t)
>> > > > > (d) (swank:create-server :port 7000)
>> > > > > (e) from within emacs: M-x slime-connect with localhost and
>port
>> 7000
>> > > > >
>> > > > > Same behavior as before: I get connected, get to make a few
>> evaluations, get disconnected.
>> > > > >
>> > > > > This time around rlwrap tells me (in the terminal where I
>started
>> clisp):
>> > > > >
>> > > > > rlwrap: warning: clisp crashed, killed by SIGSEGV
>> > > > >
>>
>>

-- 
Sent from my Android device with K-9 Mail. Please excuse my brevity.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20190723/e1a02b28/attachment-0001.html>


More information about the slime-devel mailing list