summaryrefslogtreecommitdiff
path: root/Lib/test/crashers/compiler_recursion.py
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2012-04-13 18:06:42 -0400
committerBenjamin Peterson <benjamin@python.org>2012-04-13 18:06:42 -0400
commitc2c9c905706160bf34aea12f2348210aac3e0da2 (patch)
tree9f7cc31fdab50fc9e80c1c9fd379e0b12414242a /Lib/test/crashers/compiler_recursion.py
parente307451be16e5bf59b38ec5aea76f68c0831fb65 (diff)
parent77795fd1f148a037c9ab583968d85bfc009bc15c (diff)
downloadcpython-c2c9c905706160bf34aea12f2348210aac3e0da2.tar.gz
merge 3.2
Diffstat (limited to 'Lib/test/crashers/compiler_recursion.py')
-rw-r--r--Lib/test/crashers/compiler_recursion.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/Lib/test/crashers/compiler_recursion.py b/Lib/test/crashers/compiler_recursion.py
index 4954bdd8f0..31f28a956f 100644
--- a/Lib/test/crashers/compiler_recursion.py
+++ b/Lib/test/crashers/compiler_recursion.py
@@ -1,5 +1,13 @@
"""
-The compiler (>= 2.5) recurses happily.
+The compiler (>= 2.5) recurses happily until it blows the stack.
+
+Recorded on the tracker as http://bugs.python.org/issue11383
"""
-compile('()'*9**5, '?', 'exec')
+# The variant below blows up in compiler_call, but there are assorted
+# other variations that blow up in other functions
+# e.g. '1*'*10**5+'1' will die in compiler_visit_expr
+
+# The exact limit to destroy the stack will vary by platform
+# but 10M should do the trick even with huge stack allocations
+compile('()'*10**7, '?', 'exec')