I forgot to write that C-g in emacs does not produce any effect, I have to kill it, and the processes are in these states:
10985 pts/1 R 12:09 _ emacs 10986 ? S 0:00 _ /usr/local/libexec/emacs/21.3/i686-pc-linux-gnu/emacsserve 11004 pts/4 S 0:11 _ /local/languages/clisp//lib/clisp/full/lisp.run -B /local/
........................................................................
Hello,
I tried both with HEAD and FAIRLY_STABLE, when I run M-x slime RET, it loads clisp and the swap files (that it compiles along) and then:
WARNING: These Swank interfaces are unimplemented:
(ADD-FD-HANDLER ADD-SIGIO-HANDLER ALL-THREADS DISASSEMBLE-FRAME GETPID INTERRUPT-THREAD RECEIVE REMOVE-FD-HANDLERS REMOVE-SIGIO-HANDLERS SEND SPAWN WHO-MACROEXPANDS WHO-SPECIALIZES) ;; Loaded file /usr/local/share/emacs/site-lisp/slime/swank-loader.lisp T [2]> ;; Swank started at port: 33514 ------------------------------------------------------------------------ -1:** *inferior-lisp* Sat Jun 19 20:59 0.55 (Inferior Lisp:run Inf-Slime[polling ------------------------------------------------------------------------ Initial handshake...
(show (version)) ;; --> "GNU Emacs 21.3.1 (i686-pc-linux-gnu) of 2003-10-27 on thalassa"
(show inferior-lisp-program) ;; --> "/usr/local/bin/clisp -ansi -q -K full -m 32M -I -E ISO-8859-1"
GNU CLISP 2.33 (2004-03-17) (built 3289566600) (memory 3289567213) Software: GNU C 3.3 20030226 (prerelease) (SuSE Linux) ANSI C program Features: (CLOS LOOP COMPILER CLISP ANSI-CL COMMON-LISP LISP=CL INTERPRETER SOCKETS GENERIC-STREAMS LOGICAL-PATHNAMES SCREEN FFI GETTEXT UNICODE BASE-CHAR=CHARACTER PC386 UNIX) Installation directory: /local/languages/clisp/lib/clisp/ User language: ENGLISH Machine: I686 (I686) thalassa.informatimago.com [62.93.174.79]
I think 2.33 is new enough.
Try to add
(setq swank::*use-dedicated-output-stream* nil)
to your ~/.swank.lisp. This disables an optimization which has caused troubles for CLISP in the past.
Helmut.
Helmut Eller writes:
I think 2.33 is new enough.
Try to add
(setq swank::*use-dedicated-output-stream* nil)
to your ~/.swank.lisp. This disables an optimization which has caused troubles for CLISP in the past.
That does not seem to help, it still hangs in the same way.
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND 0 1000 12524 10398 25 0 20972 16996 - R pts/1 1:25 | _ emacs 0 1000 12525 12524 23 0 1360 356 mmap_p S ? 0:00 | _ /usr/local/libexec/emacs/21.3/i686-pc-linux-gnu/emacsserver 0 1000 12661 12524 15 0 4600 1516 mmap_p S pts/5 0:00 | _ /bin/bash --noediting -i 0 1000 12961 12524 22 0 13860 5096 mmap_p S pts/6 0:00 | _ /local/languages/clisp//lib/clisp/full/lisp.run -B /local/languages/clisp//lib/clisp -M /local/languages/clisp//lib/clisp/full/lispinit.mem -N /local/languages/clisp//share/locale -ansi -q -K full -m 32M -I -E ISO-8859-1
Hi Pascal,
What operating system are you using?
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?
If so, can you do things in the *inferior-lisp* buffer? Can you C-c C-c it and get a backtrace?
Is there a /tmp/slime.<emacs-pid> file?
-Luke
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...