[Ecls-list] [Maxima] segmentation fault with Maxima/ECL
Juan Jose Garcia-Ripoll
juanjose.garciaripoll at googlemail.com
Sun Sep 28 22:34:26 UTC 2008
On Fri, Sep 26, 2008 at 3:05 PM, Stavros Macrakis <macrakis at alum.mit.edu> wrote:
> On Wed, Sep 24, 2008 at 4:29 PM, Juan Jose Garcia-Ripoll
> <juanjose.garciaripoll at googlemail.com> wrote:
>>
>> The problem is that there is no portable way of detecting a stack overflow
>> ...
>
> Infinite recursions are a common bug in Lisp programs, and Lisp is usually
> used interactively, so Lisp implementations that can't detect stack overflow
> and recover gracefully are pretty much useless. I would recommend that you
> find a way to detect stack overflow, even if there is no portable solution,
> and you have to write different code on different platforms.
Ok, let me state it this way. The interpreter right now detects stacks
overflows. Right now, and with all the changes from this weekend, the
only case in which stack overflows are not going to be detected is
when you compile code to C and this code does not make use of CATCH,
BLOCK, UNWIND-PROTECT, TAGBODY and does not define and bind special
variables. The rest of cases are not covered but that is a pretty
small set and those who compile code should already know what they do.
And as for the "portable" solution... "portable" means that there is a
simple solution which is covered by standard C or whatever programming
language I use, so that I do not have to go through the manuals of
each of the supported platforms and chipsets, which currently are
Windows, NetBSD, FreeBSD, OpenBSD, Linux, Mac OS X and Solaris.
Now, for the record and for the future, please refuse to use so
lightly the sentence "even if there is no portable solution, and you
have to write different code on different platforms".
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