Home » Developer & Programmer » JDeveloper, Java & XML » Java-level Deadlock (Oracle 10G / Oracle-JDBC-10.2.0.1.0)
Java-level Deadlock [message #325901] Mon, 09 June 2008 07:57 Go to next message
fryder
Messages: 1
Registered: June 2008
Location: MA
Junior Member
Hi,

We have an eCommerce Java application (running WebSphere .0.2.25) which uses JDBC to communicate with an Oracle database. We are seeing cases where the JVM memory starts to increase significantly and eventually has to be restarted. When we perform a threaddump we get the following java-level deadlock


Thread 1

"JDBCNonBlockingConnectionHelper":
at oracle.jdbc.ttc7.TTC7Protocol.close(TTC7Protocol.java:667)
- waiting to lock <0x8554cd40> (a oracle.jdbc.ttc7.TTC7Protocol)
at oracle.jdbc.driver.OracleStatement.close(OracleStatement.java:700)
- locked <0x86c182b8> (a oracle.jdbc.driver.OraclePreparedStatement)
- locked <0x85527620> (a oracle.jdbc.driver.OracleConnection)
at oracle.jdbc.driver.OraclePreparedStatement.privateClose(OraclePreparedStatement.java:489)
at oracle.jdbc.driver.OraclePreparedStatement.close(OraclePreparedStatement.java:396)
- locked <0x86c182b8> (a oracle.jdbc.driver.OraclePreparedStatement)
- locked <0x85527620> (a oracle.jdbc.driver.OracleConnection)
at oracle.jdbc.driver.OracleConnection.close_statements(OracleConnection.java:2369)
- locked <0x85527620> (a oracle.jdbc.driver.OracleConnection)
at oracle.jdbc.driver.OracleConnection.close(OracleConnection.java:1448)
- locked <0x85527620> (a oracle.jdbc.driver.OracleConnection)
at com.sita.ats.dbbroker.jdbc.JDBCNonBlockingConnectionHelper.run(JDBCNonBlockingConnectionHelper.java:167)

Thread 2

"WebContainer : 6":
at oracle.jdbc.driver.OracleConnection.needLine(OracleConnection.java:2389)
- waiting to lock <0x85527620> (a oracle.jdbc.driver.OracleConnection)
at oracle.jdbc.ttc7.TTC7Protocol.lobRead(TTC7Protocol.java:2547)
- locked <0x8554cd40> (a oracle.jdbc.ttc7.TTC7Protocol)
at oracle.sql.LobDBAccessImpl.getChars(LobDBAccessImpl.java:607)
- locked <0x86348d80> (a oracle.sql.LobDBAccessImpl)
at oracle.sql.CLOB.getChars(CLOB.java:456)
at oracle.jdbc.driver.OracleClobReader.needChars(OracleClobReader.java:208)
at oracle.jdbc.driver.OracleClobReader.read(OracleClobReader.java:163)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
- locked <0x9b841200> (a oracle.jdbc.driver.OracleClobReader)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at com.sita.ats.dbbroker.jdbc.JDBCDatabaseRecordHelper.getDatabaseElement(JDBCDatabaseRecordHelper.java:94)
at com.sita.ats.dbbroker.jdbc.oracle.OracleJDBCDatabaseRecordHelper.getDatabaseElement(OracleJDBCDatabaseRecordHelper.java:72)
at com.sita.ats.amtrak.utils.dbbroker.jdbc.oracle.AmtrakOracleJDBCDatabaseRecordHelper.getDatabaseElement(AmtrakOracleJDBCDatabaseRecord Helper.java:113)


I believe the deadlock itself is being caused by a bug in our database libraries, my question is can a deadlock like this cause these kind of memory issues?

Thanks

Fergus
Re: Java-level Deadlock [message #407421 is a reply to message #325901] Wed, 10 June 2009 02:47 Go to previous message
legolaus
Messages: 2
Registered: June 2009
Junior Member
hi,
we are getting similar exception.. did u get any solution to this? please help.
Previous Topic: beginner to jdeveloper need to help
Next Topic: Oracle hangs at OraclePreparedStatement.executeBatch() call
Goto Forum:
  


Current Time: Thu Mar 28 18:44:48 CDT 2024