[Python-Dev] 2.4 & 2.5 beta 3 crash
Dino Viehland
dinov at exchange.microsoft.com
Wed Aug 16 19:49:22 CEST 2006
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:jcarlson at uci.edu]
Sent: Wednesday, August 16, 2006 10:11 AM
To: Dino Viehland; python-dev at python.org
Subject: Re: [Python-Dev] 2.4 & 2.5 beta 3 crash
Dino Viehland <dinov at exchange.microsoft.com> 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
More information about the Python-Dev
mailing list