http://nagoya.apache.org/bugzilla/show_bug.cgi?id=1179
*** shadow/1179 Mon Apr 2 10:26:44 2001
--- shadow/1179.tmp.8433 Mon Apr 2 10:39:26 2001
***************
*** 2,8 ****
| Infinite loop when matching regular expression (Jakarta-ORO v2.0.1) |
+----------------------------------------------------------------------------+
| Bug #: 1179 Product: ORO |
! | Status: RESOLVED Version: 2.0.1 |
| Resolution: FIXED Platform: PC |
| Severity: Critical OS/Version: All |
| Priority: High Component: Main |
--- 2,8 ----
| Infinite loop when matching regular expression (Jakarta-ORO v2.0.1) |
+----------------------------------------------------------------------------+
| Bug #: 1179 Product: ORO |
! | Status: CLOSED Version: 2.0.1 |
| Resolution: FIXED Platform: PC |
| Severity: Critical OS/Version: All |
| Priority: High Component: Main |
***************
*** 99,101 ****
--- 99,128 ----
------- Additional Comments From [EMAIL PROTECTED] 2001-04-02 10:26 -------
This bug cannot be reproduced in the latest development release.
+
+
+ ------- Additional Comments From [EMAIL PROTECTED] 2001-04-02 10:39 -------
+ This bug is not actually an infinite loop bug. It was introduced in the
+ process of fixing the behavior of anchors ^ with respect to PatternMatcherInput
+ and was fixed in December. See following email:
+
+ Well, technically, it's not really an infinite loop bug. Perl5Matcher
+ does not enter an infinite loop. A loop that does
+ while(matcher.contains(input, pattern))
+ where input is an instance of PatternMatcherInput will not exit because
+ the offset in input is not updated properly, not because the contains()
+ method fails to return. So Jon's CVS commit message of "fixed infinite
+ recursion bug ..." is misleading since there was no infinite recursion.
+ Anyway, I'm just trying to disambiguate, not criticize.
+
+ I completely forgot to fix the problem over the weekend of Dec 16
+ (on Dec 13 I promised to do so). Sorry about that. The problem
+ is more general and is a result of the addition of the currentOffset
+ parameter to the __interpret method. beginOffset marks the beginning
+ of the string whereas currentOffset marks where to start the pattern
+ search. When I fixed the PatternMatcherInput anchor bug, I didn't
+ update the rest of the affected code. That's the danger of fixing
+ a specific bug without taking into account the more general problem.
+ In any case, I fixed the more general problem and would appreciate it
+ if people could verify the changes are correct. We really
+ need a battery of regression tests ...