[Python-bugs-list] [ python-Bugs-405676 ] Quasi hang in RE code

nobody nobody@sourceforge.net
Sat, 03 Mar 2001 10:04:06 -0800


Bugs #405676, was updated on 2001-03-03 09:45
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=405676&group_id=5470

Category: Regular Expressions
Group: None
Status: Open
Priority: 5
Submitted By: Nobody/Anonymous
Assigned to: Fredrik Lundh
Summary: Quasi hang in RE code

Initial Comment:
When running the attached .py file with the attached
input file, python will "hang" (after 10 seconds, it
finally does return on my PII-400, but something is
obviously broken) when returning from chop_chunks. GDB
revealed this stack trace, pointing to re code.

The input

(gdb) bt
#0  0x8074b7f in sre_match (state=0xbfffebc8,
pattern=0x8252538, level=3)
    at Modules/_sre.c:671
#1  0x807523f in sre_match (state=0xbfffebc8,
pattern=0x8252536, level=2)
    at Modules/_sre.c:1043
#2  0x8075074 in sre_match (state=0xbfffebc8,
pattern=0x825251a, level=1)
    at Modules/_sre.c:947
#3  0x80754de in sre_search (state=0xbfffebc8,
pattern=0x8252510)
    at Modules/_sre.c:1200
#4  0x8076bb2 in pattern_search (self=0x82524f0,
args=0x822874c, kw=0x0)
    at ./Modules/_sre.c:1616
#5  0x8058a54 in call_cfunction (func=0x823a690,
arg=0x822874c, kw=0x0)
    at Python/ceval.c:2731
#6  0x805898c in call_object (func=0x823a690,
arg=0x822874c, kw=0x0)
    at Python/ceval.c:2703
#7  0x8059100 in do_call (func=0x823a690,
pp_stack=0xbffff04c, na=1, nk=0)
    at Python/ceval.c:3014

This is with

Python 2.1b1 (#1, Mar  3 2001, 12:47:09)
[GCC 2.96 20000731 (Red Hat Linux 7.0)] on linux2
Type "copyright", "credits" or "license" for more
information.


----------------------------------------------------------------------

Comment By: Tim Peters
Date: 2001-03-03 10:04

Message:
Logged In: YES 
user_id=31435

Assigned to effbot.

Anonymous submitter, you should be aware that the usual 
outcome for one of these is that the regexp turns out to 
have been written in a way that *requires* exponential time 
in some cases.  See Friedl's "Master Regular Expressions" 
(O'Reilly) for details.

Given that that is the usual case, people will be more 
motivated to look at this if you could whittle it down to a 
minimal example (one regexp, one string).

----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=405676&group_id=5470