Message153353
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 :-( |
|
Date |
User |
Action |
Args |
2012-02-14 17:11:21 | arigo | set | recipients:
+ arigo, benjamin.peterson, ezio.melotti, alex |
2012-02-14 17:11:20 | arigo | set | messageid: <1329239480.82.0.493743358347.issue14010@psf.upfronthosting.co.za> |
2012-02-14 17:11:20 | arigo | link | issue14010 messages |
2012-02-14 17:11:19 | arigo | create | |
|