[slime-devel] slime/clisp freezes a fresh xemacs

Helmut Eller e9626484 at stud3.tuwien.ac.at
Sat Feb 7 11:37:40 UTC 2004


<s.perrot at voila.fr> writes:

> The first invocation of M-x slime RET in a just started XEmacs freezes it 
> 
> the following sequences of evaluated forms freeze it as weel :
> 
> (slime-maybe-start-lisp)
> (slime-read-port-and-connect)
> or 
> (slime-maybe-start-lisp)
> (slime-start-swank-server) ;; eval only once !
> (setq port (slime-read-swank-port))
> (slime-connect "localhost" port)

I cannot reproduce this problem.  I tried XEmacs 21.1, XEmacs 21.4,
Emacs 20.7 and Emacs 21.3 with CLISP 2.32.  I invoke CLISP with 'clisp
-K full' and that seems work without problems.

What do mean with 'freezes'?  'freeze' as in "Emacs does not respond,
but C-g works" or "Emacs does not respond and I have to kill Emacs
entirely"?

C-g is supposed to work.  It would be serious bug in SLIME if it were
otherwise.

> but NOT the following
> 
> (slime-maybe-start-lisp)
> (slime-start-swank-server)
> (setq *proc* (slime-net-connect "localhost" port))
> (slime-init-connection *proc*)              ^^^^
                                              |
What's the value of 'port' here? -------------+

SLIME uses a different/random port for each connection, so it is bit
surprising that you can connect after restarting the server.

> which works fine (i.e. after evaluating a few more forms I get
> a fully functional SLIME)
> 
> In all cases, the lisp is started ok, as is the swank server.
> The problem seems to me to be located somewhere in the
> slime-init-connection/slime-net-connect interaction.

Judging from the backtrace, it seems that Emacs can connect, but
apparently CLISP doesn't reply to the first request.  The first
request is usually (swank:getpid).

I have no idea what might cause the problem and can only the give the
lame re-compile-everything advice :-)  Make sure you have a link to the
metering package as described in swank-clisp.lisp and remove all
byte-compiled .elc files.  Add

  (setq swank::*redirect-io* nil)
  (setq swank::*use-dedicated-output-stream* nil)
  (setq swank::*log-events* t)
  (setq swank::*sldb-initial-frames* 1)

to your ~/.swank.lisp for better debugging messages.  You can also try
to run clisp in a separate xterm, start the swank server with:

  (load "swank-loader")
  (swank:create-swank-server)

and use M-x slime-connect to connect to it.

Helmut.












More information about the slime-devel mailing list