[Python-Dev] Is Lib/test/crashers/recursive_call.py really a crasher? (original) (raw)

Brett Cannon brett at python.org
Tue Jun 27 19:06:32 CEST 2006


On 6/27/06, Thomas Wouters <thomas at python.org> wrote:

On 6/27/06, Brett Cannon <brett at python.org> wrote: > > If you look at that crasher, you will notice that recursion depth is set > to 1 << 30 before any code is run. If you remove that setting high setting_ _> and go with the default then the test doesn't crash and raises the > appropriate RuntimeError. > > Setting the recursion depth to such a high number will crash the > interpreter even when the proper recursion checks are in place. This > doesn't seem like a legit crasher to me if it requires an insane recursion > depth that would crash almost any C program that had recursion in it. > > Anyone have any objections if I call foul on the test and remove it > without any changes to Python? > Well, it's a valid crasher. It crashes Python to recurse too much. The recursion limit was added to CPython to prevent the crash from happening too easily, but that limit is just an implementation detail (and furthermore, the actual limit is just guessed.) It's not like a real solution is impossible, it's just very complex. Much like, say, restricted execution :-)

OK, let me rephrase: I don't feel like fixing this if the proper thing happens when the default recursion depth is in place. There are a ton of other recursion issues if you set the recursion depth to 1,073,741,824. One could try to make the interpreter non-recursive or stackless, but I leave that to people who are smarter than me. =)

And so, with that view, I don't see the test as something that needs special attention that is brought by being in crashers since I suspect that one will sit there forever. =)

-Brett

Hi! I'm a .signature virus! copy me into your .signature file to help me spread! -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.python.org/pipermail/python-dev/attachments/20060627/f866973a/attachment.html



More information about the Python-Dev mailing list