
"GvR" == Guido van Rossum <guido@python.org> writes:
GvR> - test_re crashes unless I do ulimit -s 2000 -- haven't tried GvR> other values, but the default of 512 (KB) is insufficient. I GvR> know the README file explains this, but now that I've GvR> experienced this myself, I wonder if we shouldn't hack main() GvR> to increase the stack size to 2 MB, inside an #ifdef darwin GvR> or something like that. +1, but I'll defer to Jack. We discussed this a while back (for Py2.2.2 IIRC), which is when I updated the README bit. FWIW, Pipermail (in Mailman) suffers the same fate and contains the following bit of code. -Barry -------------------- snip snip -------------------- # MacOSX has a default stack size that is too small for deeply recursive # regular expressions. We see this as crashes in the Python test suite when # running test_re.py and test_sre.py. The fix is to set the stack limit to # 2048; the general recommendation is to do in the shell before running the # test suite. But that's inconvenient for a daemon like the qrunner. # # AFAIK, this problem only affects the archiver, so we're adding this work # around to this file (it'll get imported by the bundled pipermail or by the # bin/arch script. We also only do this on darwin, a.k.a. MacOSX. if sys.platform == 'darwin': try: import resource except ImportError: pass else: soft, hard = resource.getrlimit(resource.RLIMIT_STACK) newsoft = min(hard, max(soft, 1024*2048)) resource.setrlimit(resource.RLIMIT_STACK, (newsoft, hard))