This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author arigo
Recipients alex, arigo, benjamin.peterson, ezio.melotti
Date 2012-02-14.17:11:19
SpamBayes Score 0.00010645871
Marked as misclassified No
Message-id <1329239480.82.0.493743358347.issue14010@psf.upfronthosting.co.za>
In-reply-to
Content
The issue is a stack exhaustion.  Examples can be trivially made for any iterator that takes another iterator as argument: itertools.takewhile(), zip() in Python3, etc. etc.

It's just one of many places where CPython does a recursion without checking the recursion depth.  CPython still works, based on the resonable assumption that doing such a recursion here is obscure.

Someone seriously bored could start with some C-based callgraph builder; or alternatively use PyPy, which finds such recursions automatically in its own source, and compare all places where a recursion check is inserted with the corresponding place in CPython.  There are a large number of them (761, not counting the JIT), so be patient :-(
History
Date User Action Args
2012-02-14 17:11:21arigosetrecipients: + arigo, benjamin.peterson, ezio.melotti, alex
2012-02-14 17:11:20arigosetmessageid: <1329239480.82.0.493743358347.issue14010@psf.upfronthosting.co.za>
2012-02-14 17:11:20arigolinkissue14010 messages
2012-02-14 17:11:19arigocreate