[This message was apparently lost, because HD was full.]
Nico nswart@zoominternet.net writes:
I use CLisp with Slime on Windows NT. If I work in Slime and save an image, the reload of the saved image cause a stack overflow problem. The exact message is : *** - Program stack overflow. RESET
The problem is that we keep some network streams in global variables and they become invalid after reloading. There is also some synonym stream magic, but I don't understand that.
My guess is that the problem is caused by the reloading of Slime that interacts with the Slime that is already in the saved image. The saved image can be loaded without a problem if Slime is not used. What is the workaround ? I have tried to disable the loading of Slime since the Lisp part of Slime should be part of the saved image, but had no success. Any suggestions would be appreciated.
On possible solution is as follows: To save the image
1) M-x slime-disconnect 2) switch to the *inferior-lisp* buffer the remove the network streams like so:
[4]> (swank::revert-global-io-redirection) nil [5]> (ext:saveinitmem "/tmp/swank.mem")
To load the image:
1) Don't use M-x slime directly to avoid loading SWANK twice. Instead use something like:
M-x run-lisp RET clisp -M /tmp/swank.mem
2) Start the swank server manually in the *inferior-lisp* buffer
[1]> (swank:create-server) ;; Swank started at port: 4005.
3) Connect manually to the server:
M-x slime-connect
We should probably improve our shutdown logic a bit and make it easier start a Lisp with a preloaded SWANK.
Helmut.