[Python-Dev] Re: sre vs gcc (was: New re failures on Windows) (original) (raw)
Andrew MacIntyre andymac@bullseye.apana.org.au
Wed, 23 Apr 2003 10:52:19 +1100 (edt)
- Previous message: [Python-Dev] Re: sre vs gcc (was: New re failures on Windows)
- Next message: [Python-Dev] Fwd: summing a bunch of numbers (or "whatevers")
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Tue, 22 Apr 2003, Gary Herron wrote:
On Tuesday 22 April 2003 01:27 am, Andrew MacIntyre wrote:
{...}
> The actual test case from testsre that fails is: > ---8<---8<---_ _> # non-simple '*?' still recurses and hits the recursion limit > test(r"""sre.search('(a|b)?c', 10000'ab'+'cd').end(0)""", None, > RuntimeError) ---8<---8<---
{...}
Ah. Good clue! Here's a very likely fix to that problem. Around line 3102 of sre.c find the line that sets USERECURSIONLIMIT. Depending on you platform it will be set to either 10000 or 7500. As a test, lower that value to 1000 or even 100. If all the tests pass, then we know the culprit.
The magic number for USE_RECURSION_LIMIT is between 9250 & 9500.
Note that this is for gcc 3.2.2 on FreeBSD 4.7. For gcc 3.2.1 on OS/2, 9250 is too high, but 7500 lets test_sre complete.
If the above test case is commented out, the "Test engine limitations" test case section fails at the same USE_RECURSION_LIMIT settings as the above test case.
I'll prepare a patch to supercede 725024 which sets USE_RECURSION_LIMIT to 7500 on FreeBSD & OS/2 with gcc 3.x, but I won't get to it for a day or two. I'll assign it to Gustavo.
-- Andrew I MacIntyre "These thoughts are mine alone..." E-mail: andymac@bullseye.apana.org.au | Snail: PO Box 370 andymac@pcug.org.au | Belconnen ACT 2616 Web: http://www.andymac.org/ | Australia
- Previous message: [Python-Dev] Re: sre vs gcc (was: New re failures on Windows)
- Next message: [Python-Dev] Fwd: summing a bunch of numbers (or "whatevers")
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]