You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oro-dev@jakarta.apache.org by "Matthias L. Jugel" <ma...@first.fhg.de> on 2002/11/21 11:17:12 UTC

stackoverflow due to recursion

Hello Daniel,

while working on our project I found the following problem which
might either be my stupidity or there's a bug in oro.

consider the following expression which matches text lists:

^[[:space:]]*([- 
*][[:space:]]+|[iIaA1ghHkKj]\\.[[:space:]]+)(\r?\n[[:space:]]*(?:([- 
*][[:space:]]+)|([iIaA1ghHkKj]\\.[[:space:]]+))|.)*$

We use the Perl5Matcher etc. and if you want to see the source it's  
here:
http://snipsnap.org/. The Idea for the last part with to match over end  
of a line
is something I got from the old Friedl book. Strangely a single change  
by using |.*
instead of |. at the end of the expression works. Maybe you know what  
happens.

Now let's get to the source:
I get a nice recursion appended below when parsing it.

-- SNIP --
[SnipSnap] 0.3

1 Changes since 0.2.7

- Added feature: Sky and Oranges themes
- Added feature: NullCodeFilter, \{code:none}\ will now display the  
content  without colorization, useful for e.g. pre formatted texts like  
shell examples
- Added feature: UserCountMacro displays number of registered users
- Added feature: SnipCountMacro displays number of snips (all)
- Added feature: TypographyFilter will replace "..." with ellepsis  
entity
- Added feature: \{api}\ now reads from conf/apidocs.txt so \{api}\ can  
point to other online api documentation
- Added feature: \{backlinks}\ macro lists backlinks, e.g.  
\{backlinks:10}\
- Added feature: \{sniplinks}\ macro lists sniplinks, e.g.  
\{sniplinks:4}\
- Added feature: Introduced themes for SnipSnap, using a more Weblog  
like theme similiar to MovableType
- Added feature: Interwiki (e.g. [Wiki@MoinMoin]) reads from a standard  
intermap file in conf/intermap.txt
- Added Feature: \{isbn}\ macro now reads books services from  
conf/bookservices.txt
- Added feature: import/export from web interface
- Added Feature: \{image}\ tag allows positioned and floating images
- Added feature: bullet, square, numerated (numbers, alpha, greek,  
japanese)
- Added feature: Introduced portlet snip snipsnap-portlet-<number>
- Added feature: VerticalListFormatter introduced
- Added feature: \{logins}\ macro
- Added feature: \{calendar}\ macro
- Fixed bug: correct context path in cookies
- Fixed bug: escape '\-' and '\*' within code macro
- Fixed bug: first start on a different port than 8668
- Fixed bug: list detection
- Fixed a lot of smaller bugs
- Fixed bug: SnipSnap now uses <dc:title> in RSS and DC.Title in HTML

- Changed to newer versions of McKoi and ORO Regex
- We use RSS/XHTML/CSS buttons from http://www.antipixel.com and icons  
from chris http://www.langreiter.com , thanks.
- Required JAR libararies are now included in snipsnap-template.war

- re-validated XHTML 1.0
- Changed logo/validation images
- Introduced snipsnap-copyright snip for page bottom
- Changed semantics of \{image}\ macro, expect images as image-name-id
- Changed macro interface: User Writer instead of StringBuffer and  
Refactoring
   Introduce Parameter Object
- Added snipsnap-help to default snips (contains text formatting)
- Introduced: \{list-of-macros}\
- Replaced \{snips-by-recent}\ by \{recent-changes}\ macro
- Defaults snips are now loaded from conf/snipsnap.snip
- Changed feature: Post blog prepends to the post
- Changed <s:snip> JSTL tag
- Switched to DIV from TABLE layout
- Worked on Accessibility

__Download__:
- [snipsnap-download]
-- SNIP --

java.lang.StackOverflowError
	at org.apache.oro.text.regex.OpCode._getNext(OpCode.java:203)
	at  
org.apache.oro.text.regex.Perl5Matcher.__match(Perl5Matcher.java:877)
	at  
org.apache.oro.text.regex.Perl5Matcher.__match(Perl5Matcher.java:1212)
	at  
org.apache.oro.text.regex.Perl5Matcher.__match(Perl5Matcher.java:1184)
	at  
org.apache.oro.text.regex.Perl5Matcher.__match(Perl5Matcher.java:1212)
	at  
org.apache.oro.text.regex.Perl5Matcher.__match(Perl5Matcher.java:1184)
	at  
org.apache.oro.text.regex.Perl5Matcher.__match(Perl5Matcher.java:1212)
	at  
org.apache.oro.text.regex.Perl5Matcher.__match(Perl5Matcher.java:1184)
	at  
org.apache.oro.text.regex.Perl5Matcher.__match(Perl5Matcher.java:1212)
	at  
org.apache.oro.text.regex.Perl5Matcher.__match(Perl5Matcher.java:1184)
     ...


Leo.
--
Matthias L. Jugel -- matthias.jugel@first.fhg.de
Telephone +49 30 6392 1822, Fax +49 30 6392 1805
There are two kinds of fool, on says "This is old and there-
fore good", and one says "This is new and therefore better".


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>