IronPython actually enables / disables stack overflow checking through either a 
command line option or by calling sys.setrecursionlimit.  By default we have no 
recursion limit.

Without those command line options we'll end up having the CLR throw an 
unrecoverable stack overflow exception (and the process will be terminated).  
It's a little bit better than a seg fault, but not much.  With stack overflow 
checking enabled we'll actually catch the recursion for this and throw a 
RuntimeError stating maximum recursion depth reached.

-----Original Message-----
From: Josiah Carlson [mailto:[EMAIL PROTECTED]
Sent: Wednesday, August 16, 2006 10:11 AM
To: Dino Viehland; python-dev@python.org
Subject: Re: [Python-Dev] 2.4 & 2.5 beta 3 crash


Dino Viehland <[EMAIL PROTECTED]> wrote:
>
> We've been working on fixing some exception handling bugs in
> IronPython where we differ from CPython.  Along the way we ran into
> this issue which causes CPython to crash when the code below is run.
> It crashes on both 2.4 and 2.5 beta 3.  The code's technically
> illegal, but it probably shouldn't crash either :)

> def test():
>     for abc in range(10):
>         try: pass
>         finally:
>             try:
>                 continue
>             except:
>                 pass
>
>
> test()

It also reliably crashes 2.3, though I don't see anything in there as being 
illegal, but maybe I don't understand the langauge as well as I think I do.

Note that there is another segfaulting bug in CPython with regards to threads 
that was recently closed, but which is still a problem:
http://python.org/sf/780714

Does IronPython survive in that case?


 - Josiah

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to