Hi;
I just setup SLIME by following the slime.pdf document. I was trying out the various key chords and find that C-M-x, which is supposed to evaluate the top-level form. Instead, it kills emacs - instantly. Any idea why? And what I can do to fix it?
To rule out .emacs misconfiguration, I tried a temporary one consisting of only the four SLIME configuration lines:
(setq inferior-lisp-program "/usr/bin/lisp") (add-to-list 'load-path "/usr/share/emacs/site-lisp/slime") (require 'slime) (slime-setup)
This made no difference.
I'm running emacs 21.3.1 on a Gentoo Linux system (2.6.9 kernel, xorg-x11 6.8.0-r3), and trying to use cmucl 18e-r4 (that's what it says). Here's the *Messages* after it loads:
Loading documentation (source)... Loading cl-macs...done Loading documentation (source)...done Loading compile...done Loading lmenu...done Loading generic (compiled; note, source file is newer)...done Loading xclass-menubar...done Loading xwin-mouse...done Loading cb_mode...done Loading xcb2...done Loading who-calls (source)...done Loading newClass...done Loading c++-ast (compiled; note, source file is newer)...done Loading generic (compiled; note, source file is newer)...done Loading mutt...done Loading disp-table...done Loading iso-transl...done Use C-u M-x make-directory RET RET to create directory and its parents Loading cl-extra...done Loading cl-seq...done Loading easy-mmode...done Loading edmacro...done Loading byte-opt...done Loading server...done All done, jcunningham. For information about the GNU Project and its goals, type C-h C-p. Polling "/tmp/slime.742".. (Abort with `M-x slime-abort-connection'.) [2 times] Connecting to Swank on port 37069.. Initial handshake... Loading animate...done Connected. Jcunningham, this could be the start of a beautiful program. (in-package package &rest noise) (compile-file source &key (output-file t) (error-file nil) (trace-file nil) (error-output t) (load nil) (external-format :default) ((verbose *compile-verbose*) *compile-verbose*) ((print *compile-print*) *compile-print*) ((progress *compile-progress*) *compile-progress*) ((block-compile *block-compile-argument*) *block-compile-default*) ((entry-points *entry-points*) nil) ((byte-compile *byte-compile*) *byte-compile-default*)) Mark set Loading view...done Mark set [4 times] isearch-abort: Quit Making completion list... Mark set Making completion list... [2 times] Quit [2 times] Making completion list... [3 times] Mark set
TIA
--Jeff
Jeffrey Cunningham jeffrey@cunningham.net writes:
Hi;
I just setup SLIME by following the slime.pdf document. I was trying out the various key chords and find that C-M-x, which is supposed to evaluate the top-level form. Instead, it kills emacs - instantly. Any idea why? And what I can do to fix it?
Here's a way to get more debug info:
Start cmucl in the shell: (load "..../swank-loader.lisp") (setq swank::*log-events* t) (swank:create-server) ;; Swank started at port: 4005.
Start Emacs: M-x slime-connect RET 127.0.0.1 RET 4005 RET C-M-x something and crash Emacs
due to *log-events* the Lisp side should print a protocol dump while it communicates with Emacs and possibly this will end with something surprising when Emacs crashes. Please send the output.
Usually you can debug protocol problems just by looking in the *slime-events* buffer, but that's a bit tricky if Emacs has crashed.:-)
Cheers, Luke
Hi Jeffrey,
I'm replying to the list on this one since I'm about to disappear for the weekend and because a problem this strange deserves a place in the list archives. :-)
Below when you try to start the SWANK server it gives a "No such file or directory" error. If the bind(2) system call is doing this then the only reason I can think of is if we try to bind to an IP address that does not exist, but that's weird because we're binding to 127.0.0.1. (Somehow this rings a vague bell though..)
Random questions: are you on x86? and how come Gentoo gives you CMUCL 18e when 19a was released nearly 6 months ago? any other Gentoo users able to shed some light here? did you see Helmut's question about byte compiling?
Jeffrey Cunningham jeffrey@cunningham.net writes:
Hi Luke,
Thank you for your great explanation. Everything worked up to the point where I tried to create the server. Here is the output up until that failure:
jcunningham@apollo $ lisp ; Loading #p"/home/jcunningham/.cmucl-init". ; loading system definition from /usr/local/asdf-registry/asdf-install.asd into ; #<The ASDF1038 package, 0/9 internal, 0/9 external> ;; Loading #p"/usr/local/asdf-install/asdf-install.asd". ; registering #<SYSTEM ASDF-INSTALL {4802FFED}> as ASDF-INSTALL ;; Loading #p"/usr/local/asdf-install/defpackage.x86f". ;; Loading #p"/usr/local/asdf-install/split-sequence.x86f". ;; Loading #p"/usr/local/asdf-install/port.x86f". ;; Loading #p"/usr/local/asdf-install/installer.x86f". CMU Common Lisp CVS release-18e-branch + minimal debian patches, running on apollo.olympus.net With core: /usr/lib/cmucl/lisp.core Dumped on: Fri, 2005-01-07 22:55:27-08:00 on apollo.olympus.net For support see http://www.cons.org/cmucl/support.html Send bug reports to http://bugs.gentoo.org. Type (help) for help or (quit) to exit.
Loaded subsystems: Python 1.1, target Intel x86 CLOS 18e (based on PCL September 16 92 PCL (f))
- (load "/usr/share/emacs/site-lisp/slime/swank-loader.lisp")
; Loading #p"/usr/share/emacs/site-lisp/slime/swank-loader.lisp". ;; Loading #p"/usr/share/common-lisp/source/swank/swank.asd". ;; Loading #p"/usr/lib/common-lisp/cmucl/swank/swank-backend.x86f". ;; Loading #p"/usr/lib/common-lisp/cmucl/swank/nregex.x86f". ;; Loading #p"/usr/lib/common-lisp/cmucl/swank/swank-source-path-parser.x86f". ;; Loading #p"/usr/lib/common-lisp/cmucl/swank/swank-cmucl.x86f". ;; Loading #p"/usr/lib/common-lisp/cmucl/swank/swank.x86f". T
- (setq swank::*log-events* t)
T
- (swank:create-server)
Error in function CREATE-INET-LISTENER: Error binding socket to port 4005: No such file or directory
Restarts: 0: [ABORT] Return to Top-Level.
Debug (type H for help)
(CREATE-INET-LISTENER 4005 :STREAM :HOST 16777343 ...) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/internet.lisp. 0]
And, in case it is useful, here is the contents of ~/.cmucl-init:
#-:asdf (load "/usr/lib/common-lisp/clisp/asdf/asdf") (pushnew "/usr/local/asdf-registry/" asdf:*central-registry* :test #'equal) #-:asdf-install (asdf:operate 'asdf:load-op :asdf-install)
I tried moving that file and going through the process again with the same result.
--Jeff
On Fri Jan 21, 2005 at 01:37:44PM +0100, Luke Gorrie wrote:
Hi Jeffrey,
I'm replying to the list on this one since I'm about to disappear for the weekend and because a problem this strange deserves a place in the list archives. :-)
Hi Luke,
I thought I was replying to the list but I see now the Reply-To: was your personal address. Sorry about that.
Below when you try to start the SWANK server it gives a "No such file or directory" error. If the bind(2) system call is doing this then the only reason I can think of is if we try to bind to an IP address that does not exist, but that's weird because we're binding to 127.0.0.1. (Somehow this rings a vague bell though..)
Random questions: are you on x86? and how come Gentoo gives you CMUCL 18e when 19a was released nearly 6 months ago? any other Gentoo users able to shed some light here? did you see Helmut's question about byte compiling?
Yes, I'm this machine is an athlon-xp. I responded to Helmut's question (probably to him personally by mistake as in your case) that it doesn't appear to be byte compiled (only the .el file exists). The reason I'm running 18e is probably due to having loaded it a few months ago. I'm upgrading it as I type. Its done. Here is the listing of the /usr/share/emacs/site-lisp/slime directory:
hyperspec.el slime.el swank-loader.lisp tree-widget.el
So it doesn't look like anything is byte-compiled. I'm going to retry the experiment again with the new cmucl version...
No dice. Looks like the same error message:
* (swank:create-server)
Error in function CREATE-INET-LISTENER: Error binding socket to port 4005: No such file or directory [Condition of type SIMPLE-ERROR]
Restarts: 0: [ABORT] Return to Top-Level.
Debug (type H for help)
(CREATE-INET-LISTENER 4005 :STREAM :HOST 16777343 ...) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/internet.lisp. 0]
In case I omitted this, the version of SLIME that Gentoo is distributing at the moment is slime-1.0.20041010.
--Jeff
Jeffrey Cunningham jeffrey@cunningham.net writes:
No dice. Looks like the same error message:
- (swank:create-server)
Error in function CREATE-INET-LISTENER: Error binding socket to port 4005: No such file or directory [Condition of type SIMPLE-ERROR]
This is weird. The log in your first message indicated that Emacs was able to connect.
Any luck with something like: (swank:create-server :port 0) ?
Helmut.
On Fri Jan 21, 2005 at 06:57:21PM +0100, Helmut Eller wrote:
This is weird. The log in your first message indicated that Emacs was able to connect.
Any luck with something like: (swank:create-server :port 0) ?
Helmut.
Yes! That works. But then the next step dies:
* (swank:create-server :port 0) ;; Swank started at port: 43214.
43214 ;
; Warning: This function is undefined: ; SLIME-CONNECT
Error in KERNEL:%COERCE-TO-FUNCTION: the function SLIME-CONNECT is undefined. [Condition of type UNDEFINED-FUNCTION]
Restarts: 0: [ABORT] Return to Top-Level.
Debug (type H for help)
(KERNEL:%COERCE-TO-FUNCTION SLIME-CONNECT) Source: Error finding source: Error in function DEBUG::GET-FILE-TOP-LEVEL-FORM: Source file no longer exists: target:code/fdefinition.lisp. 0]
--Jeff
Jeffrey Cunningham jeffrey@cunningham.net writes:
Yes! That works. But then the next step dies:
- (swank:create-server :port 0)
;; Swank started at port: 43214.
43214 ;
; Warning: This function is undefined: ; SLIME-CONNECT
slime-connect should be called from Emacs :-)
Type `M-x slime-connect RET' and Emacs will ask for the hostname and the port number. Use 127.0.0.1 as hostname and the port number as printed in the shell (43214 in your example, but it can vary).
Also don't forget to execute (setq swank::*log-events* t) before starting the server.
Helmut.
On Fri, 2005-01-21 at 13:37 +0100, Luke Gorrie wrote:
or directory" error. If the bind(2) system call is doing this then the only reason I can think of is if we try to bind to an IP address that does not exist, but that's weird because we're binding to 127.0.0.1. (Somehow this rings a vague bell though..)
A shot in the dark: recent linux distros come with IPv6 enabled by default. This seems to cause problems for some apps. I had to disable mine, for example, because I couldn't get SMTP working correctly over a port-forwarded ssh connection. The server didn't like the EHLO command my mail client was generating:
EHLO [::1]
Note that ::1 is an IPv6 loopback address.
Granted, this has probably nothing to do with the problem you're trying to figure out, but you never know. The only reason I remembered is because you mentioned 127.0.0.1.
On Fri Jan 21, 2005 at 03:12:51PM -0500, Vadim Nasardinov wrote:
A shot in the dark: recent linux distros come with IPv6 enabled by default. This seems to cause problems for some apps. I had to disable mine, for example, because I couldn't get SMTP working correctly over a port-forwarded ssh connection. The server didn't like the EHLO command my mail client was generating:
EHLO [::1]
Note that ::1 is an IPv6 loopback address.
Granted, this has probably nothing to do with the problem you're trying to figure out, but you never know. The only reason I remembered is because you mentioned 127.0.0.1.
I just checked: I don't have IPv6 on this machine, but I do at work. Both exhibit the same behavior.
--Jeff
Jeffrey Cunningham jeffrey@cunningham.net writes:
I just setup SLIME by following the slime.pdf document. I was trying out the various key chords and find that C-M-x, which is supposed to evaluate the top-level form. Instead, it kills emacs - instantly. Any idea why? And what I can do to fix it?
Is your slime.el[c] byte-compiled? Perhaps for a different Emacs version?