Mantis - Quercus
Viewing Issue Advanced Details
1726 minor always 05-06-07 16:01 05-22-07 10:01
ybakos  
nam  
normal  
closed 3.1.0  
fixed  
none    
none 3.1.1  
0001726: Quercus does not work with Qcodo
When trying a first run of qcodo, Quercus reports a servlet exception:
500 Servlet Exception

com.caucho.quercus.QuercusRuntimeException: QApplicationBase::Unsupported
is an unknown constant
    at com.caucho.quercus.env.QuercusClass.getConstant(QuercusClass.java:719)
    at com.caucho.quercus.expr.ClassConstExpr.eval(ClassConstExpr.java:75)
    at com.caucho.quercus.env.QuercusClass.init(QuercusClass.java:322)
    at com.caucho.quercus.env.Env.createQuercusClass(Env.java:2983)
    at com.caucho.quercus.env.Env.createClassImpl(Env.java:2902)
    at com.caucho.quercus.env.Env.findClass(Env.java:2868)
    at com.caucho.quercus.env.Env.findClass(Env.java:2845)
    at com.caucho.quercus.env.Env.createClassImpl(Env.java:2899)
    at com.caucho.quercus.env.Env.findClass(Env.java:2868)
    at com.caucho.quercus.env.Env.findClass(Env.java:2845)
    at com.caucho.quercus.expr.StaticMethodExpr.eval(StaticMethodExpr.java:117)
    at com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    at com.caucho.quercus.program.Function.callImpl(Function.java:316)
    at com.caucho.quercus.program.Function.call(Function.java:264)
    at com.caucho.quercus.program.AbstractFunction.call(AbstractFunction.java:251)
    at com.caucho.quercus.env.CallbackFunction.call(CallbackFunction.java:116)
    at com.caucho.quercus.env.OutputBuffer.callCallback(OutputBuffer.java:227)
    at com.caucho.quercus.env.OutputBuffer.close(OutputBuffer.java:273)
    at com.caucho.quercus.env.Env.popOutputBuffer(Env.java:819)
    at com.caucho.quercus.env.Env.close(Env.java:4089)
    at com.caucho.quercus.servlet.ResinQuercusServlet.service(ResinQuercusServlet.java:155)
    at com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:298)
    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:167)
    at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:226)
    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:591)
    at com.caucho.util.ThreadPool$Item.run(ThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:613)

Notes
(0001900)
ybakos   
05-08-07 18:58   
Apparently this may have to do with using another class's constants to predefine static class variables in another class.

On line 20 of QApplicationBase.class.php, where I have:
protected static $BrowserType = QBrowserType::Unsupported;

When I switch QBrowserType::Unsupported to 2048, the exception is no longer thrown.

But, now all I get is a blank browser window, no html source.
(0001902)
ybakos   
05-08-07 19:06   
If it's not too much trouble, can you explain why Resin is rendering a blank screen? No errors in the log either.
(0001904)
ybakos   
05-10-07 07:58   
I would like to help debug this further -- but can you suggest a way for me to get better error/debug info?
(0001917)
ybakos   
05-15-07 14:14   
Hi nam, I took your suggestion using *dump() methods to find the cause of the error. I'm getting closer, drilling down to the source of the error. So far, I've narrowed it down to QApplication::InitializeDatabaseConnections(). I will keep you posted here.
(0001918)
nam   
05-15-07 14:32   
Thanks for your help. I have narrowed the problem down to QApplication::$ConnectionStringArray not being set properly inside QApplicationBase::InitializeDatabaseConnections(). It looks like I can get in a fix today.
(0001919)
nam   
05-15-07 14:36   
It also appears that Exceptions are not being properly thrown. I will get a fix for it today.
(0001938)
nam   
05-22-07 10:01   
Most of the issues have been fixed. However, our basic SimpleXML implementation needs to be redone in order for qcodo to work.

http://bugs.caucho.com/view.php?id=1752 [^]