[Ecls-list] Stack overflow detection

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Tue Sep 30 21:31:42 UTC 2008


I have completed a fix that builds on top of the Boehm-Weiser code for
detecting segmentation faults and on Geo Carncross' code for
processing serious signals on an alternate stack.

For obvious reasons, this code only works on Posix systems and not on
Windows. If somebody knows how to extend it, please do.

There is no guarantee as to what the outcome of a stack overflow will
be. We do our best to provide a minimal stack for the user to run some
code in it. Contrary to what other alarmists say, if this fails, there
is no data corruption: the program will simply abort, which is
probably the best it can do under such circumstances.

As for the Maxima mailing list, Robert, I will not answer messages
from people who place two potential insults in the same sentence. Feel
free to communicate or not this change to your people.

$ ecl
ECL (Embeddable Common-Lisp) 8.9.0 (CVS 2008-07-12 18:54)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.  Top level.
> (compile 'foo '(lambda (x) (foo (1+ x))))
[...]
FOO
NIL
NIL
> (foo 1)
Machine stack overflow. Stack cannot grow any further. Either exit
or return to an outer frame.
Broken at SI:BYTECODES.No restarts available.
Broken at SI:BYTECODES.
>> :q
Top level.
>

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28009 (Spain)
http://juanjose.garciaripoll.googlepages.com


More information about the ecl-devel mailing list