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

Reply via email to