You are viewing a plain text version of this content. The canonical link for it is here.
Posted to regexp-dev@jakarta.apache.org by bu...@apache.org on 2003/11/18 10:32:24 UTC

DO NOT REPLY [Bug 24770] New: - StackOverflowError

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24770>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24770

StackOverflowError

           Summary: StackOverflowError
           Product: Regexp
           Version: unspecified
          Platform: PC
        OS/Version: Windows NT/2K
            Status: NEW
          Severity: Major
          Priority: Other
         Component: Other
        AssignedTo: regexp-dev@jakarta.apache.org
        ReportedBy: dirk.moser@osp-dd.de


I wrote following code:

...
    private static final String RE_ENTRY_FORMAT =
            "^"                                                           + 
            "INFO "                                                       + 
            "\\d{1,2} \\w{3} \\d{4} \\d{1,2}:\\d{1,2}:\\d{1,2},\\d{1,3} " + 
            "\\S+ \\S+ "                                                  + 
            "(\\S+) "                                                     + 
            "\\S+ "                                                       + 
            "(\\S+( +\\S+)*) "                                            + 
            "((\\w+\\.)*)"                                                + 
            "(\\w+)"                                                      + 
            "\\."                                                         + 
            "((\\w+)(\\s*\\([^\\(\\)]*\\)\\s*)?)"                         + 
            ": "                                                          + 
            ".*"                                                          + 
            "chain ID = (\\d+)"                                           + 
            ".*"                                                          + 
            "exception class = (((\\w+\\.)*)(\\w+))";
...
    static {
        // initialize log entry regular expression
        try {
            entryRE = new RE(RE_ENTRY_FORMAT);
            entryRE.setMatchFlags(RE.MATCH_SINGLELINE);
        } catch (RESyntaxException resExcp) {
            // ...
        }
    }
...

If I try 

   entryRE.match(nextEntry)

I get a StackOverflowError (at org.apache.regexp.RE.matchNodes) if nextEntry is
for instance follwing multiline:

INFO 17 Okt 2003 09:07:34,821 pool2.local stock1
HostStockBookingsOfflineBA_12417 172.29.1.181|17.10.03_09:07:50|2730814|1
sahfhwgew
de.company.project.standard.database.exception.DataBaseException.wrapException:
Constructed the exception:
>>>>> chain ID = 1118174660280713216
>>>>> exception class =
de.company.project.standard.database.exception.DataBaseException
>>>>> error record = 
     error-key          = AH_ERR_StatementFailed
     error-description  = Error while executing statement {1}.
     log-level          = 2
     trap-flag          = false
     display-flag       = false
     log-text           = Error while executing statement SELECT /*+
WarehouseAccountJDBCDAO */ (WHR.SEQ_WAREHOUSEACCOUNT.NEXTVAL) SequenceValue FROM
WHR.EMSEQUENCEHELPER sh WHERE (ROWNUM <= ?).
     trap-text          = 
     trap-id            = 0
     message            = Error while executing statement SELECT /*+
WarehouseAccountJDBCDAO */ (WHR.SEQ_WAREHOUSEACCOUNT.NEXTVAL) SequenceValue FROM
WHR.EMSEQUENCEHELPER sh WHERE (ROWNUM <= ?).
     tip                = Please check your statement.
     description        = Error while executing statement {1}.
     rollbackFlag       = false
>>>>> stack trace = de.company.project.standard.database.exception.DataBaseException
	at
de.company.project.standard.database.exception.DataBaseException.wrapException(DataBaseException.java:249)
	at
de.company.project.standard.database.backend.BaseJDBCDAO.getNextSequenceValue(BaseJDBCDAO.java:1079)
	at
de.company.project.stockmgmt.entity.warehouseaccount.BaseWarehouseAccountJDBCDAO.prepareNewEO(BaseWarehouseAccountJDBCDAO.java:55)
	at de.company.project.standard.database.EOCache.prepareNewEO(EOCache.java:553)
	at de.company.project.standard.database.BaseEO.addInstanceInternal(BaseEO.java:722)
	at
de.company.project.stockmgmt.entity.warehouseaccount.BaseWarehouseAccountVolatileEO.addInstance(BaseWarehouseAccountVolatileEO.java:452)
	at
de.company.project.stockmgmt.entity.warehouseaccount.BaseWarehouseAccountVolatileEO.create(BaseWarehouseAccountVolatileEO.java:466)
	at
de.company.project.stockmgmt.entity.warehouseaccount.BaseWarehouseAccountFactory.create(BaseWarehouseAccountFactory.java:524)
	at
de.company.project.stockmgmt.bizobjects.WarehouseAccountBO.<init>(WarehouseAccountBO.java:68)
	at java.lang.reflect.Constructor.newInstance(Native Method)
	at
de.company.project.standard.saf.layer.NoaSafBusinessObjectFactory.createNewBO(NoaSafBusinessObjectFactory.java:638)
	at
de.company.project.standard.saf.layer.NoaSafBusinessObjectFactory.createNewBOInstanceInternal(NoaSafBusinessObjectFactory.java:500)
	at
de.company.project.standard.saf.layer.NoaSafBusinessObjectFactory.createNewBOInstance(NoaSafBusinessObjectFactory.java:256)
	at
de.company.project.stockmgmt.bizprocess.AbstractStockManagerBP.createWarehouseAccount(AbstractStockManagerBP.java:444)
	at
de.company.project.stockmgmt.bizprocess.AbstractStockManagerBP.getWarehouseAccount(AbstractStockManagerBP.java:334)
	at
de.company.project.stockmgmt.bizprocess.AbstractStockManagerBP.book(AbstractStockManagerBP.java:181)
	at
de.company.project.stockmgmt.bizprocess.StockManagerBP.bookBatch(StockManagerBP.java:538)
	at
de.company.project.stockmgmt.bizprocess.HostStockBookingsBP.processStockPostingInternal(HostStockBookingsBP.java:317)
	at
de.company.project.stockmgmt.bizprocess.HostStockBookingsBP.processStockPosting(HostStockBookingsBP.java:289)
	at
de.company.project.stockmgmt.bizprocess.HostStockBookingsBP.bookHostStockPosting(HostStockBookingsBP.java:127)
	at
de.company.project.stockmgmt.commands.HostStockBookingsBPBookHostStockPostingCO.executeInternal(HostStockBookingsBPBookHostStockPostingCO.java:199)
	at
de.company.project.standard.service.commandobject.NoaSafCommandObjectBase.executeServer(NoaSafCommandObjectBase.java:171)
	at
de.company.project.standard.saf.batch.parallelizing.NoaBatchCOReceiverBean.executeSingleProcessingItem(NoaBatchCOReceiverBean.java:526)
	at
de.company.project.standard.saf.batch.parallelizing.NoaBatchCOReceiverBean.processList(NoaBatchCOReceiverBean.java:370)
	at
de.company.project.standard.saf.batch.parallelizing.NoaBatchCOReceiverBean.execute(NoaBatchCOReceiverBean.java:220)
	at
de.company.project.standard.saf.batch.parallelizing.NoaBatchCOReceiverBean.onMessage(NoaBatchCOReceiverBean.java:155)
	at weblogic.ejb20.internal.MDListener.execute(MDListener.java:364)
	at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:298)
	at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:273)
	at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2310)
	at weblogic.jms.client.JMSSession.execute(JMSSession.java:2233)
	at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
	at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)

---------------------------------------------------------------------
To unsubscribe, e-mail: regexp-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: regexp-dev-help@jakarta.apache.org