[slime-devel] Re: Slime hangs emacs in Initial handshake / complements

Pascal J.Bourguignon pjb at informatimago.com
Sat Jun 19 23:16:37 UTC 2004


Luke Gorrie writes:
> Hi Pascal,
> 
> What operating system are you using?

SuSE Linux 8.2
Linux thalassa 2.4.20-4GB-athlon #1 Wed Apr 16 14:44:03 UTC 2003 i686 unknown unknown GNU/Linux

> This works for me on Debian testing with CLISP 2.33 using exactly the
> same inferior-lisp-program string.
> 
> Can you also describe the state where it gets stuck in more detail:
> 
> Is Emacs responsive?

No.
 
> If so, can you do things in the *inferior-lisp* buffer? Can you C-c
> C-c it and get a backtrace?

C-c C-c does nothing.
C-g does nothing.
 
> Is there a /tmp/slime.<emacs-pid> file?

No. This file is created and once read by emacs it is deleted.
It's hung just after 

In slime-connect, message got a port argument without %S. I added it.

    (message "Initial handshake on port %S..." port)
    (slime-init-connection process)


Ok. It hangs, in slime-init-connection. I added some messages:

(defun slime-init-connection (proc)
  "Initialize the stack machine."
  (message "In it...")
  (setq slime-rex-continuations '())
  (let ((slime-dispatching-connection proc))
    (slime-init-connection-state proc)
    (message "Connection initialized...")
    (slime-select-connection proc)
    (message "Connection selected...")
    proc))

and now t hangs at "In it...".

So the problem seems to lie in slime-init-connection-state:

(defun slime-init-connection-state (proc)
  ;; To make life simpler for the user: if this is the only open
  ;; connection then reset the connection counter.
  (when (equal slime-net-processes (list proc))
    (setq slime-connection-counter 0))
  (slime-with-connection-buffer ()
    (setq slime-connection-number (incf slime-connection-counter)))
  (with-lexical-bindings (proc)
    (slime-eval-async '(swank:connection-info) nil
                      (lambda (info)
                        (slime-set-connection-info proc info)))))


I don't see anything difficult here. Perhaps it hangs on socket I/O...

-- 
__Pascal Bourguignon__                     http://www.informatimago.com/

There is no worse tyranny than to force a man to pay for what he does not
want merely because you think it would be good for him. -- Robert Heinlein




More information about the slime-devel mailing list