[Openmcl-devel] non-terminating function calls in windows

Gary Byers gb at clozure.com
Tue Jan 26 22:57:51 UTC 2010


The fact that it takes several seconds to die makes it pretty clear what's
going on.  (It doesn't take particularly long for a modern processor to
overflow its stack ...)  Windows doesn't seem to offer a mechanism to
cause an exception to be handled on a stack other than the one on which
it occurred, but it does have the concept of one-shot "guard pages" that
might actually do the right thing.

In general: it's obviously better to detect and try to handle stack
overflow than to not do so, and CCL on Unix platforms is usually
pretty good about detecting it reliably.  I'd stop short of saying
that all cases of stack overflow are or can be reliably handled, and
I'd rather that it be "usually very good" than "better than that, but
adds pervasive overhead."



On Mon, 25 Jan 2010, Harsh Raju Chamarthi wrote:

> Hello,
>
> (defun f (x) (+ 1 (f x)))
>
> (f 0)
>
> The above on Linux gracefully gives a stack error, but on Windows,  CCL
> dies.
> Is this a known bug/limitation? Will this be fixed in future CCL releases?
>
> regards,
>
> /harsh
> http://acl2s.ccs.neu.edu/acl2s/doc/
> _______________________________________________
> Openmcl-devel mailing list
> Openmcl-devel at clozure.com
> http://clozure.com/mailman/listinfo/openmcl-devel
>
>



More information about the Openmcl-devel mailing list