Message153353
| 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: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 |
|