[Python-Dev] Re: Another test_compiler mystery

Tim Peters tim.peters at gmail.com
Tue Aug 10 21:58:22 CEST 2004


FYI, "the stack" under an MS compiler defaults to 1MB.  It's easy to
experiment with different stack allocations from the cmdline, like
this example:

editbin /stack:2000000 python.exe

The ~2MB there is enough that test_compiler runs to completion
normally under a release-build Python, and under a debug-build Python.

In a debug-build Windows Python, each MB allocated to the stack allows
about 400 recursion levels (according to Misc/find_recursionlimit.py),
and running compiler.compile() directly on test_parser.py requires
more than 800 levels, so a 2MB stack must be near the insanity limit
for the debug build on this test.

So the easiest way to get the -uall test suite running on Windows
again is to fiddle linker flags to boost the stack size.  I'm not sure
real apps need it.  If they do and we don't "fix it", what happens is
that the process mysteriously just vanishes (no error msg, nothing in
the system or application event logs either) with a 128 exit code. 
That's a disaster.  Alas, I don't have a theory for how we could be
managing to screw up the OS so badly -- but then I guess you really
can't spell Windows XP without Windows <0.9 wink>.


More information about the Python-Dev mailing list