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=6934>. 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=6934 SQLTransformer.java - infinite loop in getConnection [EMAIL PROTECTED] changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[EMAIL PROTECTED] Severity|Normal |Blocker Status|CLOSED |REOPENED Component|sitemap components |Dbcp Priority|Other |Medium Product|Cocoon 2 |Commons Resolution|FIXED | Target Milestone|--- |1.0 Final Version|2.0.1 |1.0 Final ------- Additional Comments From [EMAIL PROTECTED] 2003-09-20 08:22 ------- This bug does not appear to be fixed or is of deeper scope than originally believed. I had a typo in my validationQuery and I was going into an infinte loop as well. This means that the validation query would have failed but the failure was not picked up and it was repeatedly attempted. I ran tomcat in dbg and was able to ascertain this much. I am using 4.1.27 and JDK 1.4.1_02 on Win2k sp2 using the new oracle jdbc drivers (v9.2.0.1) in ojdbc14.jar. Here is the stack trace where it appeared to spend most of it's time (I didn't run an hprof) [1] java.net.SocketInputStream.socketRead0 (native method) [2] java.net.SocketInputStream.read (SocketInputStream.java:129) [3] oracle.net.ns.Packet.receive (null) [4] oracle.net.ns.DataPacket.receive (null) [5] oracle.net.ns.NetInputStream.getNextPacket (null) [6] oracle.net.ns.NetInputStream.read (null) [7] oracle.net.ns.NetInputStream.read (null) [8] oracle.net.ns.NetInputStream.read (null) [9] oracle.jdbc.ttc7.MAREngine.unmarshalUB1 (MAREngine.java:931) [10] oracle.jdbc.ttc7.MAREngine.unmarshalSB1 (MAREngine.java:893) [11] oracle.jdbc.ttc7.O3log.receive1st (O3log.java:353) [12] oracle.jdbc.ttc7.TTC7Protocol.logon (TTC7Protocol.java:260) [13] oracle.jdbc.driver.OracleConnection.<init> (OracleConnection.java:360) [14] oracle.jdbc.driver.OracleDriver.getConnectionInstance (OracleDriver.java:521) [15] oracle.jdbc.driver.OracleDriver.connect (OracleDriver.java:325) [16] org.apache.commons.dbcp.DriverConnectionFactory.createConnection (DriverConnectionFactory.java:83) [17] org.apache.commons.dbcp.PoolableConnectionFactory.makeObject (PoolableConnectionFactory.java:184) [18] org.apache.commons.pool.impl.GenericObjectPool.borrowObject (null) [19] org.apache.commons.dbcp.AbandonedObjectPool.borrowObject (AbandonedObjectPool.java:117) [20] org.apache.commons.dbcp.PoolingDataSource.getConnection (PoolingDataSource.java:110) [21] org.apache.commons.dbcp.BasicDataSource.getConnection (BasicDataSource.java:312) [22] org.apache.jsp.TestTomcatConnectionPool_jsp._jspService (TestTomcatConnectionPool_jsp.java:117) [23] org.apache.jasper.runtime.HttpJspBase.service (HttpJspBase.java:137) [24] javax.servlet.http.HttpServlet.service (HttpServlet.java:853) [25] org.apache.jasper.servlet.JspServletWrapper.service (JspServletWrapper.java:210) [26] org.apache.jasper.servlet.JspServlet.serviceJspFile (JspServlet.java:295) [27] org.apache.jasper.servlet.JspServlet.service (JspServlet.java:241) [28] javax.servlet.http.HttpServlet.service (HttpServlet.java:853) [29] org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:247) [30] org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) [31] org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:256) [32] org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext (StandardPipeline.java:643) [33] org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) [34] org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) [35] org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191) [36] org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext (StandardPipeline.java:643) [37] org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) [38] org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) [39] org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2,416) [40] org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:180) [41] org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext (StandardPipeline.java:643) [42] org.apache.catalina.valves.ErrorDispatcherValve.invoke (ErrorDispatcherValve.java:171) [43] org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext (StandardPipeline.java:641) [44] org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:172) [45] org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext (StandardPipeline.java:641) [46] org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) [47] org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) [48] org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:174) [49] org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext (StandardPipeline.java:643) [50] org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) [51] org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) [52] org.apache.coyote.tomcat4.CoyoteAdapter.service (CoyoteAdapter.java:223) [53] org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:601) [54] org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection (Http11Protocol.java:392) [55] org.apache.tomcat.util.net.TcpWorkerThread.runIt (PoolTcpEndpoint.java:565) [56] org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run (ThreadPool.java:619) [57] java.lang.Thread.run (Thread.java:534) To reproduce this bug, you can just create an error in your validation query string and then attempt to getConnection and you will enter the loop. Can we try to get to the root of this exception handling please? This would be a nice place to get an exception or at least a null from getConnection() and the exception logged or sent to standard out. Please? :) I will try to take a look at it also... Probably the exception is being thrown past org.apache.commons.dbcp.DriverConnectionFactory.createConnection and getting caught and improperly handled somewhere in the org.apache.commons.dbcp package is my guess. I moved this bug to the commons product. Daniel
