Mantis - Quercus
Viewing Issue Advanced Details
1717 crash always 04-27-07 07:40 04-27-07 11:28
salishev  
nam  
normal  
closed 3.1.1  
fixed  
none    
none 3.1.1  
0001717: Unexpected ArrayIndexOutOfBoundsException in preg_split
I've checked with latest available resin-3.1.s070425 snapshot

preg_split throws unexpected ArrayIndexOutOfBoundsException.
The behavior differs from the php 5.1.6 behavior.
The problems makes impossible using dokuwiki-2006-11-06 (dokuwiki.org) over Resin.

500 Servlet Exception
java.lang.ArrayIndexOutOfBoundsException: 1
    at com.caucho.quercus.lib.RegexpModule$GroupNeighborMap.<init>(RegexpModule.java:1803)
    at com.caucho.quercus.lib.RegexpModule.preg_split(RegexpModule.java:955)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:589)
    at com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:614)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:487)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:473)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    at com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:125)
    at com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:239)
    at com.caucho.quercus.page.InterpretedPage.execute(InterpretedPage.java:61)
    at com.caucho.quercus.page.QuercusPage.executeTop(QuercusPage.java:115)
    at com.caucho.quercus.servlet.ResinQuercusServlet.service(ResinQuercusServlet.java:125)
    at com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:341)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:92)
    at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103)
    at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:175)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:240)
    at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:263)
    at com.caucho.server.port.TcpConnection.run(TcpConnection.java:477)
    at com.caucho.util.ThreadPool$Item.runTasks(ThreadPool.java:600)
    at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:522)
    at java.lang.Thread.run(Thread.java:620)

Minimal test case is attached.
 C:\\resin-3.1.s070425\\webapps\\ROOT\\test_preg_split.php [^] (103 bytes) 04-27-07 07:40

Notes
(0001870)
nam   
04-27-07 11:28   
issue was resolved yesterday

php/152w