Greetings!
I'm trying to run SLIME on a Raspberry pi (a USD 35 computer), but it seems CLisp crashes when I try to start SLIME:
===CUT=== (progn (load "/usr/share/common-lisp/source/slime/swank-loader.lisp" :verbose t\ ) (funcall (read-from-string "swank-loader:init")) (funcall (read-from-string "\ swank:start-server") "/tmp/slime.9481"))
i i i i i i i ooooo o ooooooo ooooo ooooo I I I I I I I 8 8 8 8 8 o 8 8 I \ `+' / I 8 8 8 8 8 8 \ `-+-' / 8 8 8 ooooo 8oooo `-__|__-' 8 8 8 8 8 | 8 o 8 8 o 8 8 ------+------ ooooo 8oooooo ooo8ooo ooooo 8
Welcome to GNU CLISP 2.49 (2010-07-07) http://clisp.cons.org/
Copyright (c) Bruno Haible, Michael Stoll 1992, 1993 Copyright (c) Bruno Haible, Marcus Daniels 1994-1997 Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998 Copyright (c) Bruno Haible, Sam Steingold 1999-2000 Copyright (c) Sam Steingold, Bruno Haible 2001-2010
Type :h and hit Enter for context help.
[1]> ;; Loading file /usr/share/common-lisp/source/slime/swank-loader.lisp ... ;; Loading file /usr/share/common-lisp/source/cl-asdf/asdf.lisp ... *** - handle_fault error2 ! address = 0x369564a4 not in [0x1ab8c000,0x1acda7c0)\ ! SIGSEGV cannot be cured. Fault address = 0x369564a4. GC count: 0 Space collected by GC: 0 0 Run time: 0 500000 Real time: 1 281123 GC time: 0 0 Permanently allocated: 90368 bytes. Currently in use: 2422148 bytes. Free space: 4 bytes.
Process inferior-lisp segmentation fault ===CUT===
Seems to me like it's running out of memory, which is surprising considering the Raspberry pi has 512 MB RAM, oodles of which is free:
===CUT=== enfors@raspberrypi /etc $ free total used free shared buffers cached Mem: 448736 357180 91556 0 26416 291876 -/+ buffers/cache: 38888 409848 Swap: 102396 0 102396 enfors@raspberrypi /etc $ ===CUT===
(In case the formatting looks off on your display, it has 91 MB free RAM, 409 MB if you don't count buffers).
Other information: Operating system: Latest version of Raspberian (based on Debian, I believe) CLisp implementation: GNU CLISP version 2.49 Emacs version: 23.4.1
I'm not sure how to extract SLIME's version number, but it's the one that came with Emacs.
Any help is greatly appreciated.
On Wed, Dec 18, 2013 at 8:28 AM, Christer Enfors christer.enfors@gmail.com wrote:
SIGSEGV cannot be cured. Fault address = 0x369564a4. GC count: 0 Space collected by GC: 0 0 Run time: 0 500000 Real time: 1 281123 GC time: 0 0 Permanently allocated: 90368 bytes. Currently in use: 2422148 bytes. Free space: 4 bytes.
[...]
Seems to me like it's running out of memory, which is surprising considering the Raspberry pi has 512 MB RAM, oodles of which is free:
"Running out of memory" is normal. That's how garbage collectors usually work: they restrict the amount of available memory somehow and when the user program fills it up, the GC kicks in and frees things up. I think CLISP uses memory protection at some point or another which means a SIGSEGV will be signalled. For some reason, that mechanism is not working properly. I believe CLISP uses libsigsegv, so it could be a problem there. It may also be possible to compile CLISP without libsigsegv, I'm not sure.
This is all very speculative and hand-wavy but I hope it points you in the right direction.
Cheers,
Christer Enfors christer.enfors@gmail.com writes:
Greetings!
I'm trying to run SLIME on a Raspberry pi (a USD 35 computer), but it seems CLisp crashes when I try to start SLIME:
This problem has noting to do with slime, consult clisp mailing lists, although you probably won't get any help there, since clisp doesn't seem to be actively maintained by anyone.
Hmm, seems we post replies below the quoted text on this mailing list - good, that's the way I prefer it. Haven't used that kind of posting in 10 years though, let's see if I do it correctly with gmail...
On Wed, Dec 18, 2013 at 11:29 AM, Stas Boukarev stassats@gmail.com wrote:
Christer Enfors christer.enfors@gmail.com writes:
I'm trying to run SLIME on a Raspberry pi (a USD 35 computer), but it
seems
CLisp crashes when I try to start SLIME:
This problem has noting to do with slime, consult clisp mailing lists, although you probably won't get any help there, since clisp doesn't seem to be actively maintained by anyone.
That's not *entirely* correct, clisp starts fine if I use it manually outside of slime. But I've heard others say similar things about clisp too, so I probably should look for another lisp implementation. Seeing as how I'm a total lisp newbie, I have no idea which one to choose though. I just want something I can use effectively with slime.
Christer Enfors christer.enfors@gmail.com writes:
Hmm, seems we post replies below the quoted text on this mailing list - good, that's the way I prefer it. Haven't used that kind of posting in 10 years though, let's see if I do it correctly with gmail...
On Wed, Dec 18, 2013 at 11:29 AM, Stas Boukarev stassats@gmail.com wrote:
Christer Enfors christer.enfors@gmail.com writes:
I'm trying to run SLIME on a Raspberry pi (a USD 35 computer), but it
seems
CLisp crashes when I try to start SLIME:
This problem has noting to do with slime, consult clisp mailing lists, although you probably won't get any help there, since clisp doesn't seem to be actively maintained by anyone.
That's not *entirely* correct, clisp starts fine if I use it manually outside of slime.
Lisp is not like C, no portable program should be able to crash the implementation in such a way. If there's a crash, and no dirty tricks are performed, then the implementation is to blame
But I've heard others say similar things about clisp too, so I probably should look for another lisp implementation. Seeing as how I'm a total lisp newbie, I have no idea which one to choose though. I just want something I can use effectively with slime.
Try clozure cl, it also has better slime support.
This problem has noting to do with slime, consult clisp mailing lists, although you probably won't get any help there, since clisp doesn't seem to be actively maintained by anyone.
That's not *entirely* correct, clisp starts fine if I use it manually outside of slime.
Lisp is not like C, no portable program should be able to crash the implementation in such a way. If there's a crash, and no dirty tricks are performed, then the implementation is to blame
Right, I understand that clisp is at fault, I'm just saying that it's slightly misleading to say slime has "nothing to do with it" when it only happens when I use it with slime.
Try clozure cl, it also has better slime support.
I will take a look, thanks!