You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by ex...@nokia.com on 2004/06/14 09:12:27 UTC

Thread stuck whenever it does query and update to DB using DBCP 1.2

hi all,

I am getting my tomcat to hung whenever it does a queryand update to the database using DBCP 1.2. Why is that so ? Below is the thread dump captured. 
 

"http80-Processor60" daemon prio=1 tid=0x0899fe60 nid=0x290d waiting for monitor entry [aebff000..aebff8d8]
        at oracle.jdbc.ttc7.v8Odscrarr.fillupDBcols(v8Odscrarr.java:277)
        at oracle.jdbc.ttc7.v8Odscrarr.receive(v8Odscrarr.java:199)
        at oracle.jdbc.ttc7.TTC7Protocol.describe(TTC7Protocol.java:755)
        - locked <0x486829a8> (a oracle.jdbc.ttc7.TTC7Protocol)
        at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:861)
        - locked <0x486829a8> (a oracle.jdbc.ttc7.TTC7Protocol)
        at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2496)
        at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2840)
        at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
        - locked <0x5e3303b0> (a oracle.jdbc.driver.OraclePreparedStatement)
        - locked <0x48682ab8> (a oracle.jdbc.driver.OracleConnection)
        at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:536)
        - locked <0x5e3303b0> (a oracle.jdbc.driver.OraclePreparedStatement)
        - locked <0x48682ab8> (a oracle.jdbc.driver.OracleConnection)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
        at com.elasitas.SmartAgent.Controller.Download.doGet(Download.java:292)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2414)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
        at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)

Thanks and best regards
Innovest Ken

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org


Re: Thread stuck whenever it does query and update to DB using DBCP 1.2

Posted by Dirk Verbeeck <di...@pandora.be>.
This stacktrace has locks inside the oracle driver not in dbcp.

You want to analyse the stacktraces for all threads.
If possible capture multiple traces and compare them to see if 
something is still moving.

-- Dirk

ext-Vincent.Ng@nokia.com wrote:

> hi all,
> 
> I am getting my tomcat to hung whenever it does a queryand update to the database using DBCP 1.2. Why is that so ? Below is the thread dump captured. 
>  
> 
> "http80-Processor60" daemon prio=1 tid=0x0899fe60 nid=0x290d waiting for monitor entry [aebff000..aebff8d8]
>         at oracle.jdbc.ttc7.v8Odscrarr.fillupDBcols(v8Odscrarr.java:277)
>         at oracle.jdbc.ttc7.v8Odscrarr.receive(v8Odscrarr.java:199)
>         at oracle.jdbc.ttc7.TTC7Protocol.describe(TTC7Protocol.java:755)
>         - locked <0x486829a8> (a oracle.jdbc.ttc7.TTC7Protocol)
>         at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:861)
>         - locked <0x486829a8> (a oracle.jdbc.ttc7.TTC7Protocol)
>         at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.java:2496)
>         at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:2840)
>         at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:608)
>         - locked <0x5e3303b0> (a oracle.jdbc.driver.OraclePreparedStatement)
>         - locked <0x48682ab8> (a oracle.jdbc.driver.OracleConnection)
>         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:536)
>         - locked <0x5e3303b0> (a oracle.jdbc.driver.OraclePreparedStatement)
>         - locked <0x48682ab8> (a oracle.jdbc.driver.OracleConnection)
>         at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92)
>         at com.elasitas.SmartAgent.Controller.Download.doGet(Download.java:292)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
>         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577)
>         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2414)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
>         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
>         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:163)
>         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>         at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
>         at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700)
>         at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
>         at java.lang.Thread.run(Thread.java:534)
> 
> Thanks and best regards
> Innovest Ken




---------------------------------------------------------------------
To unsubscribe, e-mail: commons-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-user-help@jakarta.apache.org