Mantis Bugtracker
  

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0001979 [Quercus] minor always 08-28-07 03:23 09-11-07 06:20
Reporter bago View Status public  
Assigned To
Priority normal Resolution fixed  
Status closed   Product Version 3.1.3
Summary 0001979: array_search regression in latest resin snapshot
Description Here is the exception I get on a page previously working (quercus 070718)

java.lang.UnsupportedOperationException: unimplementated
    com.caucho.quercus.env.JavaValue.entrySet(JavaValue.java:80)
    com.caucho.quercus.env.ObjectValue.cmpObject(ObjectValue.java:193)
    com.caucho.quercus.env.ObjectValue.eq(ObjectValue.java:176)
    com.caucho.quercus.lib.ArrayModule.array_search(ArrayModule.java:874)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.callCopy(Function.java:279)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.call(Function.java:274)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.call(Function.java:274)
    com.caucho.quercus.program.AbstractFunction.call(AbstractFunction.java:275)
    com.caucho.quercus.env.CallbackFunction.call(CallbackFunction.java:148)
    com.caucho.quercus.env.Env.error(Env.java:4031)
    com.caucho.quercus.env.Env.error(Env.java:3984)
    com.caucho.quercus.env.Env.warning(Env.java:3744)
    com.caucho.quercus.env.Env.warning(Env.java:3768)
    com.caucho.quercus.env.Env.warning(Env.java:3786)
    com.caucho.quercus.lib.regexp.CauchoRegexpModule.preg_replace(CauchoRegexpModule.java:590)
    com.caucho.quercus.lib.regexp.RegexpModule.preg_replace(RegexpModule.java:172)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    com.caucho.quercus.env.JavaInvoker.callCopy(JavaInvoker.java:480)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.call(Function.java:274)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.callCopy(Function.java:279)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.call(Function.java:274)
    com.caucho.quercus.env.CallbackFunction.call(CallbackFunction.java:153)
    com.caucho.quercus.lib.FunctionModule.call_user_func_array(FunctionModule.java:91)
    sun.reflect.GeneratedMethodAccessor62.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.call(Function.java:274)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.env.JavaInvoker.evalArguments(JavaInvoker.java:415)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:170)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:78)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:239)
    com.caucho.quercus.page.InterpretedPage.execute(InterpretedPage.java:61)
    com.caucho.quercus.page.QuercusPage.executeTop(QuercusPage.java:119)
    com.caucho.quercus.servlet.QuercusServletImpl.service(QuercusServletImpl.java:157)
    com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:353)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


I also didn't understand why you published today the quercus beta war from july 17 and instead the latest resin snapshot include different quercus.jar versions in its main lib folder (070827) and in php/quercus-war (070718)
Additional Information
Attached Files

- Relationships

- Notes
(0002241)
nam
08-28-07 11:08

What types are you passing to array_search?

And the php/quercus-war/WEB-INF/lib directory is an intermediate build directory. The jars in it are removed from future releases.
 
(0002243)
bago
08-28-07 15:48

I'm not sure at all because the exception does not tell me anything about the script and what was executing. (I remember that when I checked quercus one year ago I had compiled/interpreted modes and they both showed much better stack traces than what I get now running quercus inside tomcat).

Btw I think this call create that error:
array_search('','',true);

Trying some combination seems that anything with the 3rd parameter throws that exception.
 
(0002279)
bago
09-06-07 17:21
edited on: 09-06-07 17:24

Now that svn compiles again I added some debug and I found that the last parsed regexp is this one:
$string = preg_replace('/&#[Xx]0*((?:[0-9A-Fa-f]{2})+;)/', '&#x\1', $string);

I guess the last "+" is the one that make quercus to raise the exception.

But, removing that line from my php code I get now this:
7-set-2007 2.08.17 org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet Quercus Servlet threw exception
java.lang.RuntimeException: Internal error
    at com.caucho.quercus.lib.regexp.Regexp.match(Regexp.java:1048)
    at com.caucho.quercus.lib.regexp.Regexp.exec(Regexp.java:317)
    at com.caucho.quercus.lib.regexp.Regexp.exec(Regexp.java:396)
    at com.caucho.quercus.lib.regexp.Regexp.exec(Regexp.java:372)
    at com.caucho.quercus.lib.regexp.Regexp.find(Regexp.java:1213)
    at com.caucho.quercus.lib.regexp.CauchoRegexpModule.pregReplaceStringImpl(CauchoRegexpModule.java:841)
    at com.caucho.quercus.lib.regexp.CauchoRegexpModule.pregReplaceString(CauchoRegexpModule.java:740)
    at com.caucho.quercus.lib.regexp.CauchoRegexpModule.pregReplace(CauchoRegexpModule.java:640)
    at com.caucho.quercus.lib.regexp.CauchoRegexpModule.preg_replace(CauchoRegexpModule.java:581)
    at com.caucho.quercus.lib.regexp.RegexpModule.preg_replace(RegexpModule.java:172)
    at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    at com.caucho.quercus.env.JavaInvoker.callCopy(JavaInvoker.java:480)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    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.IfStatement.execute(IfStatement.java:75)
    at com.caucho.quercus.program.IfStatement.execute(IfStatement.java:78)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.ForeachStatement.execute(ForeachStatement.java:139)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.call(Function.java:274)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    at com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    at com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.SwitchStatement.execute(SwitchStatement.java:87)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.SwitchStatement.execute(SwitchStatement.java:87)
    at com.caucho.quercus.program.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.call(Function.java:274)
    at com.caucho.quercus.env.CallbackFunction.call(CallbackFunction.java:153)
    at com.caucho.quercus.lib.FunctionModule.call_user_func_array(FunctionModule.java:91)
    at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    at com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    at com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    at com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.callCopy(Function.java:279)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    at com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    at com.caucho.quercus.program.ForeachStatement.execute(ForeachStatement.java:92)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.callCopy(Function.java:279)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    at com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    at com.caucho.quercus.program.IfStatement.execute(IfStatement.java:78)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.callCopy(Function.java:279)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    at com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    at com.caucho.quercus.program.IfStatement.execute(IfStatement.java:78)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.callCopy(Function.java:279)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    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.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.call(Function.java:274)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    at com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    at com.caucho.quercus.expr.AppendExpr.eval(AppendExpr.java:110)
    at com.caucho.quercus.expr.Expr.evalCopy(Expr.java:399)
    at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    at com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    at com.caucho.quercus.program.WhileStatement.execute(WhileStatement.java:60)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.call(Function.java:274)
    at com.caucho.quercus.env.CallbackFunction.call(CallbackFunction.java:153)
    at com.caucho.quercus.lib.FunctionModule.call_user_func_array(FunctionModule.java:91)
    at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    at com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    at com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.callCopy(Function.java:279)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    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:119)
    at com.caucho.quercus.servlet.QuercusServletImpl.service(QuercusServletImpl.java:163)
    at com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:353)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
    at java.lang.Thread.run(Thread.java:619)
Caused by: com.caucho.quercus.QuercusExecutionException: java.lang.RuntimeException Internal error
    at com.caucho.quercus.lib.regexp.Regexp.match(Regexp.java:1048)
    at com.caucho.quercus.lib.regexp.Regexp.exec(Regexp.java:317)
    at com.caucho.quercus.lib.regexp.Regexp.exec(Regexp.java:396)
    at com.caucho.quercus.lib.regexp.Regexp.exec(Regexp.java:372)
    at com.caucho.quercus.lib.regexp.Regexp.find(Regexp.java:1213)
    at com.caucho.quercus.lib.regexp.CauchoRegexpModule.pregReplaceStringImpl(CauchoRegexpModule.java:841)
    at com.caucho.quercus.lib.regexp.CauchoRegexpModule.pregReplaceString(CauchoRegexpModule.java:740)
    at com.caucho.quercus.lib.regexp.CauchoRegexpModule.pregReplace(CauchoRegexpModule.java:640)
    at com.caucho.quercus.lib.regexp.CauchoRegexpModule.preg_replace(CauchoRegexpModule.java:581)
    at com.caucho.quercus.lib.regexp.RegexpModule.preg_replace(RegexpModule.java:172)
    at sun.reflect.GeneratedMethodAccessor91.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    at com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    at com.caucho.quercus.env.JavaInvoker.callCopy(JavaInvoker.java:480)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    at com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    at com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    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.IfStatement.execute(IfStatement.java:75)
    at com.caucho.quercus.program.IfStatement.execute(IfStatement.java:78)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.ForeachStatement.execute(ForeachStatement.java:139)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.Function.callImpl(Function.java:334)
    at com.caucho.quercus.program.Function.call(Function.java:274)
    at com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    at com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    at com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    at com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    at com.caucho.quercus.program.SwitchStatement.execute(SwitchStatement.java:87)
    at .filter_filter(/C:/Lab/VOID/projects/drupal-5.x/modules/filter/filter.module:1042)
    at .node_page_default(/C:/Lab/VOID/projects/drupal-5.x/modules/node/node.module:2522)

unfortunately line numbers are totally wrong so that filter.module:1042 does not help me finding the right line.

Btw the parameter passed to the last preg_replace seems to be: |(?<!#LESSTHAN#br /#GREATERTHAN#)\s*\n|

#LESSTHAN# and #GREATERTHAN are '<' and '>', but if I put them above mantis doesn't show them

 
(0002282)
bago
09-07-07 01:22
edited on: 09-07-07 01:25

I see you committed new fixes on the regex module today, but the build is broken again so I can't test it they fixes this issue, too. (The problem is a missing GroupState class, you probably forgot to commit it)

 
(0002285)
bago
09-08-07 19:30

I just updated from svn and tried again.
Here is the new exception (the regexp is the one with the "br" from the last comment)

java.lang.RuntimeException: Internal error: 78
    com.caucho.quercus.lib.regexp.Regexp.match(Regexp.java:1100)
    com.caucho.quercus.lib.regexp.Regexp.exec(Regexp.java:313)
    com.caucho.quercus.lib.regexp.Regexp.exec(Regexp.java:394)
    com.caucho.quercus.lib.regexp.Regexp.exec(Regexp.java:370)
    com.caucho.quercus.lib.regexp.Regexp.find(Regexp.java:1265)
    com.caucho.quercus.lib.regexp.CauchoRegexpModule.pregReplaceStringImpl(CauchoRegexpModule.java:857)
    com.caucho.quercus.lib.regexp.CauchoRegexpModule.pregReplaceString(CauchoRegexpModule.java:756)
    com.caucho.quercus.lib.regexp.CauchoRegexpModule.pregReplace(CauchoRegexpModule.java:656)
    com.caucho.quercus.lib.regexp.CauchoRegexpModule.preg_replace(CauchoRegexpModule.java:597)
    com.caucho.quercus.lib.regexp.RegexpModule.preg_replace(RegexpModule.java:172)
    sun.reflect.GeneratedMethodAccessor80.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    com.caucho.quercus.env.JavaInvoker.callCopy(JavaInvoker.java:480)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:78)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.ForeachStatement.execute(ForeachStatement.java:139)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.call(Function.java:274)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.SwitchStatement.execute(SwitchStatement.java:87)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.SwitchStatement.execute(SwitchStatement.java:87)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.call(Function.java:274)
    com.caucho.quercus.env.CallbackFunction.call(CallbackFunction.java:153)
    com.caucho.quercus.lib.FunctionModule.call_user_func_array(FunctionModule.java:91)
    sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.callCopy(Function.java:279)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.ForeachStatement.execute(ForeachStatement.java:92)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.callCopy(Function.java:279)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:78)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.callCopy(Function.java:279)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:78)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.callCopy(Function.java:279)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.call(Function.java:274)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.expr.AppendExpr.eval(AppendExpr.java:110)
    com.caucho.quercus.expr.Expr.evalCopy(Expr.java:399)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.WhileStatement.execute(WhileStatement.java:60)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.call(Function.java:274)
    com.caucho.quercus.env.CallbackFunction.call(CallbackFunction.java:153)
    com.caucho.quercus.lib.FunctionModule.call_user_func_array(FunctionModule.java:91)
    sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:105)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:612)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:485)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:471)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:334)
    com.caucho.quercus.program.Function.callCopy(Function.java:279)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:239)
    com.caucho.quercus.page.InterpretedPage.execute(InterpretedPage.java:61)
    com.caucho.quercus.page.QuercusPage.executeTop(QuercusPage.java:119)
    com.caucho.quercus.servlet.QuercusServletImpl.service(QuercusServletImpl.java:163)
    com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:353)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 

- Issue History
Date Modified Username Field Change
08-28-07 03:23 bago New Issue
08-28-07 10:27 nam Status new => assigned
08-28-07 10:27 nam Assigned To  => nam
08-28-07 11:08 nam Note Added: 0002241
08-28-07 15:48 bago Note Added: 0002243
08-30-07 20:12 nam Assigned To nam =>
08-30-07 20:12 nam Status assigned => new
09-06-07 17:21 bago Note Added: 0002279
09-06-07 17:22 bago Note Edited: 0002279
09-06-07 17:24 bago Note Edited: 0002279
09-07-07 01:22 bago Note Added: 0002282
09-07-07 01:25 bago Note Edited: 0002282
09-08-07 19:30 bago Note Added: 0002285
09-11-07 06:20 sam Status new => closed
09-11-07 06:20 sam Resolution open => fixed
09-11-07 06:20 sam Fixed in Version  => 3.1.3


Mantis 1.0.0rc3[^]
Copyright © 2000 - 2005 Mantis Group
41 total queries executed.
31 unique queries executed.
Powered by Mantis Bugtracker