[Python-Dev] test_re failures, Windows, 2.3 maint

Tim Peters tim.one at comcast.net
Fri Nov 21 11:16:19 EST 2003


I sent test_re output from Windows on 2.3 maint yesterday.  Two tests fail
with "maximum recursion limit exceeded".

Why do we expect them not to fail?

32-bit Windows may be unique in using this check:

#if defined(USE_STACKCHECK)
    if (level % 10 == 0 && PyOS_CheckStack())
        return SRE_ERROR_RECURSION_LIMIT;
#endif

PyOS_CheckStack() there isn't guessing, it's using Windows-specific
facilities to check directly whether the C stack is about to overflow.

In test_bug_418626, that check triggers twice, once at level = 15090 and
again at level 15210.

In test_stack_overflow, it triggers once at level 15210.

The test comments appear to believe that sre shouldn't be recursing at all
in these tests, but 15K+ levels is hard to sell as no recursion <wink>.




More information about the Python-Dev mailing list