[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