JMS Deadlock

Hi,
Recently we experienced a Deadlock which seemed to be related to JMS processing. I did a Thread Dump whilst the server was in this state which showed a number of "Blocked Lock Chains", which boiled down to 2 "Open Lock Chains".
The first was weblogic.socket.Muxer thread that seemed to be waiting in an "epollWait" loop, and held a fat lock on a java/lang/String object (that a number of other threads were waiting on).
The second was an ExecuteThread that had been initiated as a part of Tx completion processing, for which we have a Tx afterCompletion() synchronisation listener registered. The Tx Synchronisation listener sends one or more messages to JMS Topics - or at least in this case it attempts to. It gets stuck with the following message:
-- Waiting for notification on: weblogic/jms/backend/BEProducerSendRequest@0x2ac20bb500[fat lock]
and inlcudes a number of the following messages in the stack trace:
-- Lock released while waiting: weblogic/jms/backend/BEProducerSendRequest@0x2ac20bb500[fat lock]
These problems would seemed to be a consequence of a number of the following errors that had occurred in the hours prior to the deadlock:
<BEA-000503> <Incoming message header or abbreviation processing failed - Bad abbreviation value: '244' <- a number of these occurred, some with different values
<BEA-000503> <Incoming message header or abbreviation processing failed - ClassCastException: weblogic.rjvm.ClassTableEntry
Could the deadlock be the result of erroneous failure recovery from the above message processing failures?
Or could it be related to my other suspicion of some kind of race condition related to fact that we are trying to send a JMS Topic message as a part of the Tx afterCompletion processing potentially from the receipt of a JMS message itself, whilst a number of other JMS messages are also being processed?
We are using Weblogic 9.2 MP2 under JRockit 3.0.3 64 bit on Redhat Linux AS4 Update 4.
We use a number of JMS Queues, some of which are controlled via the UnitOfOrder feature to ensure in order message processing. The JMS Topics mentioned above will have a number of Durable Subscribers attached.
Any thoughts/suggestions would be much appreciated.

Greg, did you get to a solution on this?
I am seeing the same type of messages:
Open lock chains
================
Chain 1:
"ExecuteThread: '33' for queue: 'weblogic.kernel.Default'" id=62 idx=0x80 tid=19223 waiting for java/lang/String@0xbd00b10 held by:
"ExecuteThread: '3' for queue: 'weblogic.kernel.Default'" id=32 idx=0x44 tid=19192 (waiting on notification)
Chain 2:
"ExecuteThread: '45' for queue: 'weblogic.kernel.Default'" id=74 idx=0x98 tid=19235 waiting for java/lang/String@0x1d1083a8 held by:
"ExecuteThread: '11' for queue: 'weblogic.kernel.Default'" id=40 idx=0x54 tid=19200 (waiting on notification)
Chain 3:
"ExecuteThread: '0' for queue: 'weblogic.socket.Muxer'" id=100 idx=0xc8 tid=19297 waiting for java/lang/String@0x9c1fb10 held by:
"ExecuteThread: '2' for queue: 'weblogic.socket.Muxer'" id=102 idx=0xcc tid=19299 (active)
Can you let me know if you have had any success with this issue?
Thanks for all your help.
Regards
RV

Similar Messages

  • Mule, Weblogic and MQ JMS : deadlock problem

    Dear Oracle community,
    We are hosting our Mule ESB (3.1) application on a Weblogic 10.3 (11g) server and are using IBM Websphere MQ's JMS solution (with libraries version 7.0.1.7).
    The problem we are facing is that JMS connections are created by one of Weblogic's worker (thread) and the close() method for those connections are not necessarily called by the same thread.
    This is bad because from what I know this behavior is undefined from JMS specification
    (see http://docs.oracle.com/cd/E15051_01/wls/docs103/jms/design_best_practices.html#wp1061413 ) and it is a blocker issue in our case because this lead to a deadlock.
    Do someone has any idea how to enforce the fact that the same thread do create and close the connection through Weblogic and/or Mule configuration (without re-implementing the connector) ?
    Thanks in advance for your help,
    Best regards,
    Y.
    PS : I've already posted this question on Mule ESB's forum : http://forum.mulesoft.org/mulesoft/topics/mule_weblogic_and_mq_jms_deadlock_problem
    Edited by: user7428803 on May 14, 2012 2:26 PM

    I hope you found a solution by now, but as an FYI:
    * The JMS specification specifically requires that JMS providers support the ability to call connection.close() and session.close() from an arbitrary thread even when another thread is making calls on these objects. It furthermore goes into some detail about the expected behavior of these calls. The best practices link you cited alludes to this: "The JMS Specification states that multi-threading a session, producer, consumer, or message method results in undefined behavior +except when calling close().+"
    * Depending on your use case, you may not need to use Mule to integrate MQ with WebLogic. WebLogic supports a variety of options for integrating MQ directly without the use of third party tooling. See http://download.oracle.com/docs/cd/E17904_01/web.1111/e13727/interop.htm .
    Tom

  • Deadlock in TopLink when using JMS listener on WebLogic

    I am experiencing a deadlock in TopLink 10.1.3 on WebLogic 9 in code that previously worked on TopLink 9.0.4 with WebLogic 8.1. As such, I'm not sure if it's due to the TopLink change, the WebLogic change or both. Anyway, we have a JMS listener (note, NOT a MessageDrivenBean) that is updating an existing TopLink cached domaing object. The JMS listener thread gets stuck when attempting to commit the transaction. The thread-dump shows that there is another thread which is blocked in the ConcurrencyManager waiting to obtain the lock on an object which is being updated by the listener thread. It appears to me that the root cause is that the Synchronization.afterCompletion() listener is running on a different thread than the one which owns the locks which were obtained beforeCompletion.
    See stack traces.
    First, the message listener thread which is waiting for participants in the transaction to commit:
    "[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=9 tid=0x3a4a4728 nid=0xa48 in Object.wait() [0x3a0cf000..0x3a0cfbec]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2665)
         - locked <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2570)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:277)
         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:226)
         at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:539)
         at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72)
         at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:374)
         at com.avinamart.BusinessLogic.Bean.JobService.JobService_u1ylwo_EOImpl.submitJobAndRun(JobService_u1ylwo_EOImpl.java:1388)
         at com.avinamart.Framework.Event.Task.OptimizationTaskListener._submitAsAJob(OptimizationTaskListener.java:253)
         at com.avinamart.Framework.Event.Task.OptimizationTaskListener._submitAsAJob(OptimizationTaskListener.java:217)
         at com.avinamart.Framework.Event.Task.OptimizationTaskListener.processMessage(OptimizationTaskListener.java:344)
         at com.emptoris.base.event.EPASSMessageBaseListener.onMessage(EPASSMessageBaseListener.java:722)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:3824)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:3738)
         at weblogic.jms.client.JMSSession.pushMessage(JMSSession.java:3253)
         at weblogic.jms.client.JMSSession.invoke(JMSSession.java:4195)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:674)
         at weblogic.messaging.dispatcher.DispatcherServerRef.invoke(DispatcherServerRef.java:262)
         at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:134)
         at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:36)
         at weblogic.messaging.dispatcher.DispatcherServerRef$1.run(DispatcherServerRef.java:105)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    Next, the other thread which is participating in the transaction which is stuck:
    "[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=5 tid=0x3adb80a0 nid=0xb30 in Object.wait() [0x3c7af000..0x3c7afd6c]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x0c7a0000> (a oracle.toplink.internal.helper.ConcurrencyManager)
         at java.lang.Object.wait(Object.java:474)
         at oracle.toplink.internal.helper.ConcurrencyManager.acquire(ConcurrencyManager.java:76)
         - locked <0x0c7a0000> (a oracle.toplink.internal.helper.ConcurrencyManager)
         at oracle.toplink.internal.identitymaps.CacheKey.acquire(CacheKey.java:80)
         at oracle.toplink.internal.identitymaps.FullIdentityMap.remove(FullIdentityMap.java:164)
         at oracle.toplink.internal.identitymaps.HardCacheWeakIdentityMap.remove(HardCacheWeakIdentityMap.java:82)
         at oracle.toplink.internal.helper.WriteLockManager.releaseAllAcquiredLocks(WriteLockManager.java:363)
         at oracle.toplink.publicinterface.UnitOfWork.afterTransaction(UnitOfWork.java:2123)
         at oracle.toplink.transaction.AbstractSynchronizationListener.afterCompletion(AbstractSynchronizationListener.java:135)
         at oracle.toplink.transaction.JTASynchronizationListener.afterCompletion(JTASynchronizationListener.java:66)
         at weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo.java:862)
         at weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(ServerTransactionImpl.java:2913)
         at weblogic.transaction.internal.ServerTransactionImpl.afterCommittedStateHousekeeping(ServerTransactionImpl.java:2806)
         at weblogic.transaction.internal.ServerTransactionImpl.setCommittedUnsync(ServerTransactionImpl.java:2857)
         at weblogic.transaction.internal.ServerTransactionImpl.ackCommit(ServerTransactionImpl.java:1097)
         - locked <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
         at weblogic.transaction.internal.CoordinatorImpl.ackCommit(CoordinatorImpl.java:211)
         at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403)
         at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56)
         at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    Is this the same concurrency bug which was fixed in 10.1.3.1??? As I am writing this, I am attempting to build the application with the updated TopLink jar to test for myself. Has anyone else seen this scenario with WebLogic? I should also point out that the problem only occurs when the listener is running on a separate server than the one hosting the JMS queue it reads from. It may be that when the listener runs on the same server, it does not use multiple threads in the transaction.
    Any ideas are greatly appreciated.
    - Bruno

    We've got the same kind of issue with toplink 10.1.3.0.0 and bea weblogic 8.1 SP5.
    I 've not tried with 10.1.3.1.0, did you?
    Do you have a new status for this issue.
    Chris

  • Is JMS designed for deadlock?

    Hi folks,
    Am I on crack or something, or is the JMS receive interface designed for deadlock?
    Here's my scenario I'm testing.
    1. Fire up MQ
    2. Fire up my app, which sets a listener.
    3. A message comes in, onMessage gets called, and we stop at a breakpoint.
    4. Stop mQ by running endmqm TATEST.
    5. I continue on past the breakpoint, and a JMSException gets thrown and caught.
    6. In my handling of the exception, I want to close down my JMS resources cleanly, so I start calling close() on the queue, connection, session, etc.
    7. During the call to close the session, it does not return.
    Now the JMS spec says that close() blocks until onMessage completes. So that sets me up for deadlock...I have no way to cleanly close JMS resources when an error happens! Because I'm using an async listener, there is no point where I can call close() that is outside of that listener's onMessage call.
    So am I on crack...is this designed for deadlock??? Some JMSExceptions are critical enough that calling close() is moot anyway. But not all of them.

    That's what I'm doing. My point is....why doesn't JMS do that for me? The developer has to know to go wrap his calls to close() or stop() in another thread. If that's the case, then why doesn't JMS specify that close() returns immediately, and the close() will happen after ongoing work has completed?
    Why put it on the developer to know to go do that? It could be much cleaner to have it under the covers in JMS.

  • Config changes to avoid JMS thread deadlock

              From various postings and Weblogic documentation I'm trying to understand the specifics
              of
              how to avoid a JMS thread deadlock problem. The Performance and Tuning Guide states
              "...consider a servlet that reads messages from a designated JMS queue. If all
              execute threads in a server are used to process the servlet requests, then no
              threads are available to
              deliver messages from the JMS queue. A deadlock condition exists,...". I believe
              that is
              what I have, and am trying to understand whether the solution is to create a separate
              execute queue for the servlets, or change the settings on the Execute and JMS
              Thread queues,
              or both, or something else, and if so, what are the settings I should use?
              Specifically, I have servlets that use connections to a custom resource adapter,
              and each
              custom adapter connection writes to a single (for all adapter connection instances)
              permanent JMS queue and reads a response from a one-per-adapter-connection temporary
              queue. Messages are read from the permanent JMS queue by a client process (running
              outside of WLS). My servlets use the default execute queue - i.e., the don't use
              a custom execute queue - and my reads on the temporary JMS queues are timing out,
              I believe because
              no threads are available to process the JMS message
              So can I avoid deadlocks by:
              1. creating a custom execute queue that has n threads
              2. allowing a maximum of n custom adapter connection instances
              3. Setting my JMS thread pool to n (assuming I have no other JMS activity)
              i.e., using the same number - n - for all three settings? I'm about to try this
              and see,
              but if it works I'd still like to have a better understanding as to why (and of
              course if it doesn't,
              I need that understanding even more).
              Or, is text somewhere describing the specifics of how all of the Weblogic thread
              queues
              and JMS play together? There seem to be pieces scattered in various Weblogic documents,
              but
              nowhere have I found a single, coherent and complete description of how all of
              these factors
              interact.
              

              Tom Barnes <[email protected]> wrote:
              >Thanks for the info. Allocating the servlets to their own execute queue solved
              my problem.
              >
              >Glen wrote:
              >
              >> From various postings and Weblogic documentation I'm trying to understand
              >the specifics
              >> of
              >> how to avoid a JMS thread deadlock problem. The Performance and Tuning
              >Guide states
              >> "...consider a servlet that reads messages from a designated JMS queue.
              >If all
              >> execute threads in a server are used to process the servlet requests,
              >then no
              >> threads are available to
              >> deliver messages from the JMS queue. A deadlock condition exists,...".
              > I believe
              >> that is
              >> what I have,
              >
              >You can often verify by inspecting a thread dump. Note that there
              >are other possible reasons for dead-lock, including
              >programming errors at the application level - and if that is
              >the case, the thread dump will likely reveal that as well.
              >
              >> and am trying to understand whether the solution is to create a separate
              >> execute queue for the servlets, or change the settings on the Execute
              >and JMS
              >> Thread queues,
              >> or both, or something else, and if so, what are the settings I should
              >use?
              >>
              >> Specifically, I have servlets that use connections to a custom resource
              >adapter,
              >> and each
              >> custom adapter connection writes to a single (for all adapter connection
              >instances)
              >> permanent JMS queue and reads a response from a one-per-adapter-connection
              >temporary
              >> queue. Messages are read from the permanent JMS queue by a client process
              >(running
              >> outside of WLS). My servlets use the default execute queue - i.e.,
              >the don't use
              >> a custom execute queue - and my reads on the temporary JMS queues are
              >timing out,
              >> I believe because
              >> no threads are available to process the JMS message
              >>
              >> So can I avoid deadlocks by:
              >> 1. creating a custom execute queue that has n threads
              >
              >yes, or configuring more threads for the default pool
              >(somewhat more than you have concurrent servlets)
              >
              >> 2. allowing a maximum of n custom adapter connection instances
              >
              >no - i think your servlets would just end up blocking waiting
              >for adapter connections (instead of blocking waiting for
              >response messages)
              >
              >> 3. Setting my JMS thread pool to n (assuming I have no other JMS
              >activity)
              >
              >i'm not sure, but I don't think this will help in your case - JMS
              >uses the JMS thread pool for a limited purpose, and
              >still uses the default thread pool otherwise (as documented in
              >the perf guide). Plus the default thread pool is needed for
              >RMI/timers/etc.
              >
              >If servlets are truly "stealing" all of the default threads,
              >I think the best option is give
              >the servlets their own thread-pool.
              >
              >> i.e., using the same number - n - for all three settings? I'm about
              >to try this
              >> and see,
              >> but if it works I'd still like to have a better understanding as to
              >why (and of
              >> course if it doesn't,
              >> I need that understanding even more).
              >>
              >> Or, is text somewhere describing the specifics of how all of the Weblogic
              >thread
              >> queues
              >> and JMS play together?
              >
              >The JMS performance guide
              >white-paper is probably the best resource at the moment, it seems
              >to be pointing you in the right direction (provided you confirm
              >the problem is thread pool limits)
              >
              >> There seem to be pieces scattered in various Weblogic documents,
              >> but
              >> nowhere have I found a single, coherent and complete description of
              >how all of
              >> these factors
              >> interact.
              >
              >You are welcome to email a suggestion to bea support.
              >Customer suggestions tend to have more weight than internally
              >generated suggestions.
              >
              >
              

  • Deadlock in Oracle.sql.ARRAY type

    Hi,
    We've come across the deadlock situation below when running multiple J2EE MDB instances that are trying to write to the DB:
    [deadlocked thread] [ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)':
    Thread '[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'' is waiting to acquire lock 'oracle.jdbc.driver.T4CConnection@90106ee' that is held by thread '[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)''
    Stack trace:
    oracle.sql.ARRAY.toBytes(ARRAY.java:673)
    oracle.jdbc.driver.OraclePreparedStatement.setArrayCritical(OraclePreparedStatement.java:5985)
    oracle.jdbc.driver.OraclePreparedStatement.setARRAYInternal(OraclePreparedStatement.java:5944)
    oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:8782)
    oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8278)
    oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:8868)
    oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:240)
    weblogic.jdbc.wrapper.PreparedStatement.setObject(PreparedStatement.java:287)
    org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:356)
    org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:216)
    org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:127)
    org.springframework.jdbc.core.PreparedStatementCreatorFactory$PreparedStatementCreatorImpl.setValues(PreparedStatementCreatorFactory.java:298)
    org.springframework.jdbc.object.BatchSqlUpdate$1.setValues(BatchSqlUpdate.java:192)
    org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:892)
    org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:1)
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:586)
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:614)
    org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java:883)
    org.springframework.jdbc.object.BatchSqlUpdate.flush(BatchSqlUpdate.java:184)
    com.csfb.fao.rds.rfi.common.dao.storedprocs.SaveEarlyExceptionBatchStoredProc.execute(SaveEarlyExceptionBatchStoredProc.java:93)
    com.csfb.fao.rds.rfi.common.dao.EarlyExceptionDAOImpl.saveEarlyExceptionBatch(EarlyExceptionDAOImpl.java:34)
    com.csfb.fao.rds.rfi.application.rulesengine.RulesEngine.saveEarlyExceptions(RulesEngine.java:302)
    com.csfb.fao.rds.rfi.application.rulesengine.RulesEngine.executeRules(RulesEngine.java:209)
    com.csfb.fao.rds.rfi.application.rulesengine.RulesEngine.onMessage(RulesEngine.java:97)
    com.csfb.fao.rds.feeds.process.BaseWorkerMDB.onMessage(BaseWorkerMDB.java:518)
    weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
    weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
    weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
    weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
    weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
    weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
    weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
    weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5058)
    weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    [deadlocked thread] [ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)':
    Thread '[ACTIVE] ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'' is waiting to acquire lock 'oracle.jdbc.driver.T4CConnection@b48b568' that is held by thread '[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)''
    Stack trace:
    oracle.sql.ARRAY.toBytes(ARRAY.java:673)
    oracle.jdbc.driver.OraclePreparedStatement.setArrayCritical(OraclePreparedStatement.java:5985)
    oracle.jdbc.driver.OraclePreparedStatement.setARRAYInternal(OraclePreparedStatement.java:5944)
    oracle.jdbc.driver.OraclePreparedStatement.setObjectCritical(OraclePreparedStatement.java:8782)
    oracle.jdbc.driver.OraclePreparedStatement.setObjectInternal(OraclePreparedStatement.java:8278)
    oracle.jdbc.driver.OraclePreparedStatement.setObject(OraclePreparedStatement.java:8868)
    oracle.jdbc.driver.OraclePreparedStatementWrapper.setObject(OraclePreparedStatementWrapper.java:240)
    weblogic.jdbc.wrapper.PreparedStatement.setObject(PreparedStatement.java:287)
    org.springframework.jdbc.core.StatementCreatorUtils.setValue(StatementCreatorUtils.java:356)
    org.springframework.jdbc.core.StatementCreatorUtils.setParameterValueInternal(StatementCreatorUtils.java:216)
    org.springframework.jdbc.core.StatementCreatorUtils.setParameterValue(StatementCreatorUtils.java:127)
    org.springframework.jdbc.core.PreparedStatementCreatorFactory$PreparedStatementCreatorImpl.setValues(PreparedStatementCreatorFactory.java:298)
    org.springframework.jdbc.object.BatchSqlUpdate$1.setValues(BatchSqlUpdate.java:192)
    org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:892)
    org.springframework.jdbc.core.JdbcTemplate$4.doInPreparedStatement(JdbcTemplate.java:1)
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:586)
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:614)
    org.springframework.jdbc.core.JdbcTemplate.batchUpdate(JdbcTemplate.java:883)
    org.springframework.jdbc.object.BatchSqlUpdate.flush(BatchSqlUpdate.java:184)
    com.csfb.fao.rds.rfi.common.dao.storedprocs.SaveEarlyExceptionBatchStoredProc.execute(SaveEarlyExceptionBatchStoredProc.java:93)
    com.csfb.fao.rds.rfi.common.dao.EarlyExceptionDAOImpl.saveEarlyExceptionBatch(EarlyExceptionDAOImpl.java:34)
    com.csfb.fao.rds.rfi.application.rulesengine.RulesEngine.saveEarlyExceptions(RulesEngine.java:302)
    com.csfb.fao.rds.rfi.application.rulesengine.RulesEngine.executeRules(RulesEngine.java:209)
    com.csfb.fao.rds.rfi.application.rulesengine.RulesEngine.onMessage(RulesEngine.java:97)
    com.csfb.fao.rds.feeds.process.BaseWorkerMDB.onMessage(BaseWorkerMDB.java:518)
    weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
    weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
    weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
    weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4547)
    weblogic.jms.client.JMSSession.execute(JMSSession.java:4233)
    weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3709)
    weblogic.jms.client.JMSSession.access$000(JMSSession.java:114)
    weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5058)
    weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:516)
    weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Looking at the ARRAY.toBytes() method:
    public byte[] toBytes()
    throws SQLException
    synchronized (getInternalConnection())
    return this.descriptor.toBytes(this, this.enableBuffering);
    ..., it synchronizes on the following method (getInternalConnection() -> getPhysicalConnection()):
    oracle.jdbc.internal.OracleConnection getPhysicalConnection()
    if (this.physicalConnection == null)
    try
    this.physicalConnection = ((oracle.jdbc.internal.OracleConnection)new OracleDriver().defaultConnection());
    catch (SQLException localSQLException)
    return this.physicalConnection;
    defaultConnection() does the following:
    public Connection defaultConnection()
    throws SQLException
    if ((defaultConn == null) || (defaultConn.isClosed()))
    synchronized (OracleDriver.class)
    if ((defaultConn == null) || (defaultConn.isClosed()))
    defaultConn = connect("jdbc:oracle:kprb:", new Properties());
    return defaultConn;
    So there's synchronizations on the connection instance and OracleDriver.class object... I can't see how this can deadlock. To get to the point of needing the lock on OracleDriver.class, the thread would already have the lock on the connection instance.... clearly I'm missing something.
    Thanks
    Edited by: 928154 on 17-Apr-2012 03:42

    Welcome to the forum. If you want help, at least try to think where to post a question and look for a forum that matches the topic. Lets examine what you have:
    - its Weblogic, so if you would ask a non-programming related question anywhere it would be in the Weblogic forum
    - HOWEVER, if you check the top of the stacktrace, you'll see that the problem stems from the JDBC driver, so a JDBC related forum would be a closer match
    For future reference, Weblogic specific questions should go here: https://forums.oracle.com/forums/category.jspa?categoryID=193
    and JDBC/OJDBC driver related questions should go here: Java Database Connectivity (JDBC)
    Final tip: use \ tags to post code so it is readable.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • Cache deadlock

    We have had a few co-occurrence of a deadlock on one of our caches.
    Thread seems stuck in com.tangosol.net.internal.StorageVersion.waitForPendingUpdates method. Any clues?
    The stack trace for the worker threads on the offending node(two configured) is.
    Thread[WorkflowEntityDistributedSchemeWorker:0,5,WorkflowEntityDistributedScheme]
    INFO | 2012/01/24 08:40:32 | jvm 1 | java.lang.Object.wait(Native Method)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.util.SegmentedConcurrentMap$LockableEntry.waitForNotify(SegmentedConcurrentMap.java:939)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.util.SegmentedConcurrentMap.lock(SegmentedConcurrentMap.java:370)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCa
    che$ResourceCoordinator.lock(PartitionedCache.CDB:4)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCa
    che.lockKey(PartitionedCache.CDB:7)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCa
    che$InvocationContext.lockEntry(PartitionedCache.CDB:19)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.createQueryResult(PartitionedCache.CDB:59)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.query(PartitionedCache.CDB:72)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onInvokeFilterRequest(PartitionedCache.CDB:55)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$InvokeFilterRequest.run(PartitionedCache.CDB:1)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:1)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:32)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.DaemonPool$Daemon.onNotify(DaemonPool.CDB:63)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
    INFO | 2012/01/24 08:40:32 | jvm 1 | java.lang.Thread.run(Thread.java:662)
    INFO | 2012/01/24 08:40:32 | jvm 1 |
    INFO | 2012/01/24 08:40:32 | jvm 1 | Thread[WorkflowEntityDistributedSchemeWorker:1,5,WorkflowEntityDistributedScheme]
    INFO | 2012/01/24 08:40:32 | jvm 1 | sun.misc.Unsafe.park(Native Method)
    INFO | 2012/01/24 08:40:32 | jvm 1 | java.util.concurrent.locks.LockSupport.park(LockSupport.java:283)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.net.internal.StorageVersion.waitForPendingUpdates(StorageVersion.java:200)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.reevaluateQueryResults(PartitionedCache.CDB:39)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.checkIndexConsistency(PartitionedCache.CDB:52)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.createQueryResult(PartitionedCache.CDB:94)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$Storage.query(PartitionedCache.CDB:72)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache.onInvokeFilterRequest(PartitionedCache.CDB:55)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.daemon.queueProcessor.service.grid.partitionedService.PartitionedCache$InvokeFilterRequest.run(PartitionedCache.CDB:1)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:1)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.DaemonPool$WrapperTask.run(DaemonPool.CDB:32)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.DaemonPool$Daemon.onNotify(DaemonPool.CDB:63)
    INFO | 2012/01/24 08:40:32 | jvm 1 | com.tangosol.coherence.component.util.Daemon.run(Daemon.CDB:42)
    INFO | 2012/01/24 08:40:32 | jvm 1 | java.lang.Thread.run(Thread.java:662)
    We have the service guardian disabled at the moment but we have successfully resolved the issue by killing the offending node.

    I am facing a similar deadlock where all threads are at the following state:
    "pool-3-thread-5" - Thread t@97
    java.lang.Thread.State: TIMED_WAITING on com.tangosol.util.SegmentedConcurrentMap$LockableEntry@2b8f4fb4
    at java.lang.Object.wait(Native Method)
    at com.tangosol.util.SegmentedConcurrentMap$LockableEntry.waitForNotify(SegmentedConcurrentMap.java:939)
    at com.tangosol.util.SegmentedConcurrentMap.lock(SegmentedConcurrentMap.java:370)
    at com.tangosol.net.cache.CachingMap.get(CachingMap.java:462)
    at com.nima.app.generic.CacheRepositoryImpl.getSingleByFilter(CacheRepositoryImpl.java:333)
    at com.nima.app.bdm.configurationdata.businessdate.BusinessDateRepositoryImpl.getBusinessDateByCalendarDate(BusinessDateRepositoryImpl.java:108)
    at com.nima.app.bpm.process.parameter.DefaultProcessVariableEnricher.getBusinessDate(DefaultProcessVariableEnricher.java:82)
    at com.nima.app.bpm.process.parameter.DefaultProcessVariableEnricher.isMonthEnd(DefaultProcessVariableEnricher.java:73)
    at com.nima.app.bpm.process.parameter.DefaultProcessVariableEnricher.enrichBusinessDate(DefaultProcessVariableEnricher.java:63)
    at com.nima.app.bpm.process.parameter.DefaultProcessVariableEnricher.enrichProcessVariables(DefaultProcessVariableEnricher.java:53)
    at com.nima.app.bpm.process.JBpmProcessExecutor.executeProcess(JBpmProcessExecutor.java:211)
    at com.nima.app.bpm.message.XmlMessageProcessor.processMessage(XmlMessageProcessor.java:35)
    at com.nima.app.bpm.message.JmsTextMessageListener.onMessage(JmsTextMessageListener.java:39)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:440)
    at org.springframework.jms.listener.SimpleMessageListenerContainer.processMessage(SimpleMessageListenerContainer.java:340)
    at org.springframework.jms.listener.SimpleMessageListenerContainer$1$1.run(SimpleMessageListenerContainer.java:307)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
    Locked ownable synchronizers:
    - locked java.util.concurrent.locks.ReentrantLock$NonfairSync@550d9e8e
    "pool-3-thread-4" - Thread t@96
    java.lang.Thread.State: TIMED_WAITING on com.tangosol.util.SegmentedConcurrentMap$LockableEntry@2b8f4fb4
    at java.lang.Object.wait(Native Method)
    at com.tangosol.util.SegmentedConcurrentMap$LockableEntry.waitForNotify(SegmentedConcurrentMap.java:939)
    at com.tangosol.util.SegmentedConcurrentMap.lock(SegmentedConcurrentMap.java:370)
    at com.tangosol.net.cache.CachingMap.get(CachingMap.java:462)
    at com.nima.app.generic.CacheRepositoryImpl.getSingleByFilter(CacheRepositoryImpl.java:333)
    at com.nima.app.bdm.configurationdata.businessdate.BusinessDateRepositoryImpl.getBusinessDateByCalendarDate(BusinessDateRepositoryImpl.java:108)
    at com.nima.app.bpm.process.parameter.DefaultProcessVariableEnricher.getBusinessDate(DefaultProcessVariableEnricher.java:82)
    at com.nima.app.bpm.process.parameter.DefaultProcessVariableEnricher.isMonthEnd(DefaultProcessVariableEnricher.java:73)
    at com.nima.app.bpm.process.parameter.DefaultProcessVariableEnricher.enrichBusinessDate(DefaultProcessVariableEnricher.java:63)
    at com.nima.app.bpm.process.parameter.DefaultProcessVariableEnricher.enrichProcessVariables(DefaultProcessVariableEnricher.java:53)
    at com.nima.app.bpm.process.JBpmProcessExecutor.executeProcess(JBpmProcessExecutor.java:211)
    at com.nima.app.bpm.message.XmlMessageProcessor.processMessage(XmlMessageProcessor.java:35)
    at com.nima.app.bpm.message.JmsTextMessageListener.onMessage(JmsTextMessageListener.java:39)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)
    at org.springframework.jms.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:440)
    at org.springframework.jms.listener.SimpleMessageListenerContainer.processMessage(SimpleMessageListenerContainer.java:340)
    at org.springframework.jms.listener.SimpleMessageListenerContainer$1$1.run(SimpleMessageListenerContainer.java:307)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)
    Locked ownable synchronizers:
    - locked java.util.concurrent.locks.ReentrantLock$NonfairSync@7124a841
    any idea?

  • JMS Transport, Transactional, asynchronous request-response

    Hi again :)
    I have weblogic web service with jms transport and have chosen session bean implementation.
    I'm testing transactional processing now.
    Required feature is to put getting request from queue and processing it in web service in one transaction.
    During tests I have noticed that:
    When I throw RuntimeException from my web service method the message doesn't come back to the queue.
    When I try to sessionContext.setRollbackOnly(); I get an error
    javax.ejb.EJBException: EJB Exception: : java.lang.IllegalStateException: [EJB:010158]Illegal attempt to call EJBContext.setRollbackOnly() from an EJB that was not participating in a transaction.
    When I deploy web service I get the following warning:
    <Warning> <EJB> <> <AdminServer> <[STANDBY] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1238752023176> <BEA-010212> <The EJB 'EventNotifierServiceEJB(Application: portal, EJBComponent: EventNotifierService-1.0-SNAPSHOT.jar)' contains at least one method without an explicit transaction attribute setting. The default transaction attribute of Supports will be used for the following methods: local[publish(package.PackageType)] >
    And putting @TransactionAttribute(TransactionAttributeType.MANDATORY) doesn't change this.
    So It seems that transactions doesn't work by default.
    I turned on XA in my own jms connection factory used by web service but this didn't help.
    Looking in weblogic documentation I have found the following sentences:
    In (http://e-docs.bea.com/wls/docs103/webserv_adv_rpc/jmstransport.html)
    "If you have specified that the Web Service you invoke using JMS transport also runs within the context of a transaction (in other words, the JWS file includes the @weblogic.jws.Transactional annotation), you must use asynchronous request-response when invoking the service. If you do not, a deadlock will occur and the invocation will fail."
    In (http://e-docs.bea.com/wls/docs103/webserv_adv_rpc/asynch.html)
    "The asynchronous request-response feature works only with HTTP; you cannot use it with the HTTPS or JMS transport."
    For me these two sentences are in conflict.
    Currently I'm trying to use just transactional annotation without asynchronous request-response but the risk of deadlocks doesn't sound good for me.
    BTW I have Oneway annotation in my web service method, I'm not sure if this changes something.
    I'll be grateful for any help in resolving this problem.
    Edited by: user10930859 on Apr 3, 2009 3:49 AM

    Hi Karthik-
    You can link the corelation-id..
    Make you third-party application to receive Message-id from JMSRequestQueue and send this message id as correlation-id to JMSResponseQueue. I guess it would work we have tried this as POC.
    Regards,
    Ramesh

  • JMS Message Rollback

    Hi,
    I would like to know whether the JMS Adpater transaction can be rolled back.
    I have scenario where
    Jmsdequeue->BPEL->InserttoDB
    the insertion operation generates a error and rollbacks the BPEL transaction, but i cant see the dequed message back in Queue in EM
    Is there any property i should configure to rollback the transaction of JMS adapter.
    Any help or Idea would be appreciated.
    Note: Also tried making adapter as synchronous but no result.
    Regards,
    Santosh Hemashekar,

    What would you expect?
    If there is an error on de delivering side of the process, should the message become available in de consuming queue again? If so, then that same message would be dequeued again as it is the first message to be dequeued. In that situation you would come in a kind of deadlock: each time, the message is dequeued it would error, the message would be placed on the queue again but will then be dequeued again, resulting in the same error.
    So for this situation you have to take measurements. Think of error queues and so on. If the expectation is that the problem can be resolved when retrying, then specify more retries.
    Regards
    Jos

  • Deadlocks & Toplink in a cluster

    We need to cluster a very critical 7x24 app for both scalability and failover.
    Given that the performance of synchrous commits to a distributed cache (on a cluster) isn't recommended the only way to run a cluster of weblogic app servers seems to eliminate the use of an identity map. We are pinning most, if not all of the operational data in ram on the oracle db server to improve performance to compensate for the absence of a toplink cache.
    Has anyone run toplink in a cluster ??? If so what toplink configurations were used.
    Is there a possiblity of a deadlock if indirection is used with no identity map. I've read that some deadlock detection algorithms were added with version 9.0.x. Will these work in the absence of an identity map

    TopLink's cache-sync using JMS is documented at:
    http://download-east.oracle.com/docs/cd/A97688_12/toplink.903/b10064/enterpri.htm#1022229
    This shows examples of using sessions.xml and Java API to configure the use of JMS. You will need to configure your JMS to operate in your application server cluster. This will involve you following the instructions of your JMS to create a connection factory and topic that TopLink can make use of.
    One note of caution about using cache-sync in general though. It does not eliminate concurrency issues and it does not prevent stale data. It minimizes the chance of stale data and is typically most efficient in systems with a small percentage of writes compared to read operations.
    You will need to build your application taking concurrency into effect. This will involve setting up locking (typically optimistic locking) on all concurrently accessed types and also ensuring that the commit of UnitOfWork will catch all locking failure exceptions and handle them correctly.
    If you are building a system with a larger (&gt; 15%) percentage of writes you will probably not want to use cache-sync and may be more interested in proper cache configuration (use WeakIdentityMap for volatile data) and using possibly using refresh on queries in critical sections of the application's code. You will still require locking for these configurations as well.
    Doug

  • Implementing synchronous request/response for an asynchronous service (JMS)

    Hi,
              <br>I've to consume soap/jms service from an external application.
              <br>The requirement is to consume it synchronous, meaning, the thread should wait for response.
              <br>
              I.e :
              <p>
              <i>void service(){
              <br> String id = generateCorrelationID();
              <br> Message msg = createRequest(id,...);
              <br> // send the message to the request queue
              <br> sendMesageToRequestQueue(msg);
              <br> Message responseMsg = null;
              <br> // search for the response, if is not found suspend the thread, then search again ...
              <br> do {
              <br> responseMsg = searchMessageInResponseQueue(id);
              <br> if(responseMsg == null) {
              <br> <Thread>.sleep(xxx)
              <br> }
              <br> } while (<messageIsNotFound>)
              <br> }</i>
              <p>
              <br>my application is J2EE 1.3.
              <br>Is it reasonable? am I going to face with deadlocks? locking issues? ...
              <p>
              Thanks,

    Assuming synchronous receipt is absolutely necessary, I would rather use JMS synchronous call with timeout on QueueReceiver to receive message rather than spinning in a loop.
              receive(long timeout)

  • Deadlock while perform JDBC operations?

    Hello,
    We are running Weblogic 7.0SP2 with Oracle 9.2.x as the db.
    We use Oracle for TOPLink as our orm tool for all db access.
    We are encountering strange deadlocks while doing db reads and updates from a
    message-driven EJB (MDB) whose onMessage() method has a "Required" transaction
    attribute.
    I have attached a partial thread-dump below. It seems that multiple threads (3+)
    are waiting to lock the same monitor:
    - waiting to lock <39f68f0> (a oracle.jdbc.driver.OracleConnection)
    This is strange as each thread is running in its own transaction, and so it should
    be using a unique jdbc connection. btw, we use a Weblogic Connection Pool. The
    TOPLink orm tool obtains a connection from the pool by using the DataSource.getConnection()
    method.
    My confusion arises from the fact that some threads are locked while performing
    read operations and for some reason are waiting to lock the same monitor.
    Any help will be greatly appreciated.
    p.s. i also verified that there are more connections available from the pool,
    and idle ExecuteThreads while the deadlock occurs.
    Eventually, the transaction times out and gets rolled-back.
    Partial Thread Dump:
    ================
    "ExecuteThread: '12' for queue: 'default'" daemon prio=5 tid=0x13502c00 nid=0xde8
    waiting for monitor entry [0x145ff000..0x145ffdbc]
         at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:818)
         - waiting to lock <39f68f0> (a oracle.jdbc.driver.OracleConnection)
         at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:191)
         at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:139)
         at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:92)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.prepareStatement(Unknown
    Source)
    <clipped>
    "ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0x13549930 nid=0x874
    waiting for monitor entry [0x1447f000..0x1447fdbc]
         at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:818)
         - waiting to lock <39f68f0> (a oracle.jdbc.driver.OracleConnection)
         at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:191)
         at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:139)
         at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:92)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.prepareStatement(Unknown
    Source)
    <clipped>
    "ExecuteThread: '5' for queue: 'default'" daemon prio=5 tid=0x1324e688 nid=0xa58
    waiting for monitor entry [0x1443f000..0x1443fdbc]
         at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:818)
         - waiting to lock <39f68f0> (a oracle.jdbc.driver.OracleConnection)
         at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:191)
         at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:139)
         at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:92)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.prepareStatement(Unknown
    Source)
    <clipped>
    "ExecuteThread: '3' for queue: 'default'" daemon prio=5 tid=0x1353aa38 nid=0xda8
    waiting for monitor entry [0x143bf000..0x143bfdbc]
         at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:818)
         at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:191)
         at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:139)
         at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:92)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.prepareStatement(Unknown
    Source)
         at oracle.toplink.queryframework.SQLCall.prepareStatement(Unknown Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(Unknown
    Source)
    <clipped>
    "ExecuteThread: '1' for queue: 'default'" daemon prio=5 tid=0x13520e10 nid=0xb3c
    waiting on monitor [0x1433f000..0x1433fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3147cb0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3147cb0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: 'default'" daemon prio=5 tid=0x1350bc10 nid=0x98c
    waiting on monitor [0x142ff000..0x142ffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3147c30> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3147c30> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)

    I've attached the full thread dump.
    Thanks.
    Full thread dump:
    "ListenThread.Default" prio=5 tid=0x13921e80 nid=0x1198 runnable [0x1533f000..0x1533fdbc]
         at java.net.PlainSocketImpl.socketAccept(Native Method)
         at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:463)
         - locked <4d19ed8> (a java.net.PlainSocketImpl)
         at java.net.ServerSocket.implAccept(ServerSocket.java:238)
         at java.net.ServerSocket.accept(ServerSocket.java:217)
         at weblogic.socket.WeblogicServerSocket.accept(WeblogicServerSocket.java:26)
         at weblogic.t3.srvr.ListenThread.run(ListenThread.java:263)
    "Thread-8" prio=5 tid=0x13865788 nid=0xfc4 waiting on monitor [0x152ff000..0x152ffdbc]
         at java.lang.Thread.sleep(Native Method)
         at weblogic.management.deploy.GenericAppPoller.run(GenericAppPoller.java:139)
    "Thread-7" prio=5 tid=0x136747e0 nid=0x1088 waiting on monitor [0x152bf000..0x152bfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <48d0178> (a java.util.TaskQueue)
         at java.lang.Object.wait(Object.java:415)
         at java.util.TimerThread.mainLoop(Timer.java:401)
         - locked <48d0178> (a java.util.TaskQueue)
         at java.util.TimerThread.run(Timer.java:380)
    "ExecuteThread: '1' for queue: 'JMSStore<null>.ioThreadPool'" daemon prio=5 tid=0x135ddd60
    nid=0x1080 waiting on monitor [0x1527f000..0x1527fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3a1ecd8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3a1ecd8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: 'JMSStore<null>.ioThreadPool'" daemon prio=5 tid=0x136e0c20
    nid=0xdc4 waiting on monitor [0x1523f000..0x1523fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3a1ec58> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3a1ec58> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: 'JMS.TimerTreePool'" daemon prio=5 tid=0x135d5c20
    nid=0x1038 waiting on monitor [0x151ff000..0x151ffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3a0c830> (a weblogic.jms.backend.BETimerTree)
         at weblogic.jms.backend.BETimerTree.execute(BETimerTree.java:140)
         - locked <3a0c830> (a weblogic.jms.backend.BETimerTree)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
    "ExecuteThread: '3' for queue: 'JMS.TimerClientPool'" daemon prio=5 tid=0x13524de0
    nid=0xd14 waiting on monitor [0x151bf000..0x151bfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3995660> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3995660> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '2' for queue: 'JMS.TimerClientPool'" daemon prio=5 tid=0x13524ca8
    nid=0x11b0 waiting on monitor [0x1517f000..0x1517fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <39955e0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <39955e0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '1' for queue: 'JMS.TimerClientPool'" daemon prio=5 tid=0x13525230
    nid=0xd5c waiting on monitor [0x1513f000..0x1513fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3995560> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3995560> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: 'JMS.TimerClientPool'" daemon prio=5 tid=0x13525a60
    nid=0xc00 waiting on monitor [0x150ff000..0x150ffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <39954e0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <39954e0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "CoreHealthMonitor" daemon prio=5 tid=0x13558ed0 nid=0xbe0 waiting on monitor
    [0x150bf000..0x150bfdbc]
         at java.lang.Thread.sleep(Native Method)
         at weblogic.t3.srvr.CoreHealthMonitorThread.run(CoreHealthMonitorThread.java:114)
    "ExecuteThread: '14' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1351f3b8
    nid=0xe0c waiting on monitor [0x1507f000..0x1507fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536ca8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536ca8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '13' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1351e7f0
    nid=0xb10 waiting on monitor [0x1503f000..0x1503fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536c28> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536c28> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '12' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1351dc28
    nid=0xc08 waiting on monitor [0x14fff000..0x14fffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536ba8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536ba8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '11' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1351d060
    nid=0x1110 waiting on monitor [0x14fbf000..0x14fbfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536b28> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536b28> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '10' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1351c528
    nid=0x1168 waiting on monitor [0x14f7f000..0x14f7fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536aa8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536aa8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '9' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1351ba90 nid=0x101c
    waiting on monitor [0x14f3f000..0x14f3fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536a28> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536a28> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '8' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1351aff8 nid=0xca8
    waiting on monitor [0x14eff000..0x14effdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <35369a8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <35369a8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '7' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1347e1e8 nid=0xd6c
    waiting on monitor [0x14ebf000..0x14ebfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536928> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536928> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '6' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1347d6c8 nid=0x107c
    waiting on monitor [0x14e7f000..0x14e7fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <35368a8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <35368a8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '5' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1347cc30 nid=0x1120
    waiting on monitor [0x14e3f000..0x14e3fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536828> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536828> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '4' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x1346c680 nid=0xdb8
    waiting on monitor [0x14dff000..0x14dffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <35367a8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <35367a8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '3' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x13516ca8 nid=0x78
    waiting on monitor [0x14dbf000..0x14dbfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536728> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536728> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '2' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x13516ae8 nid=0xc58
    waiting on monitor [0x14d7f000..0x14d7fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <35366a8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <35366a8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '1' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x13475c88 nid=0xe04
    waiting on monitor [0x14d3f000..0x14d3fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3536628> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3536628> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: 'JmsDispatcher'" daemon prio=5 tid=0x13475e38 nid=0xa3c
    waiting on monitor [0x14cff000..0x14cffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <35365a8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <35365a8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '2' for queue: 'weblogic.transaction.AsyncQueue'" daemon prio=5
    tid=0x1355acc0 nid=0x12a8 waiting on monitor [0x14cbf000..0x14cbfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <350df40> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <350df40> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '1' for queue: 'weblogic.transaction.AsyncQueue'" daemon prio=5
    tid=0x13468a68 nid=0x1150 waiting on monitor [0x14c7f000..0x14c7fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <350dec0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <350dec0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: 'weblogic.transaction.AsyncQueue'" daemon prio=5
    tid=0x13468930 nid=0xd20 waiting on monitor [0x14c3f000..0x14c3fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <350de40> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <350de40> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "Thread-5" prio=5 tid=0x135c4d90 nid=0x11cc waiting on monitor [0x14bff000..0x14bffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3508dc0> (a java.util.TaskQueue)
         at java.util.TimerThread.mainLoop(Timer.java:427)
         - locked <3508dc0> (a java.util.TaskQueue)
         at java.util.TimerThread.run(Timer.java:380)
    "ExecuteThread: '1' for queue: 'DRS'" daemon prio=5 tid=0x1345a408 nid=0x218 waiting
    on monitor [0x14bbf000..0x14bbfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <350dd08> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <350dd08> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: 'DRS'" daemon prio=5 tid=0x13468c18 nid=0xc88 waiting
    on monitor [0x14b7f000..0x14b7fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <350dc88> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <350dc88> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "Thread-4" prio=5 tid=0x1363da58 nid=0x968 waiting on monitor [0x14b3f000..0x14b3fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3504838> (a weblogic.xml.util.cache.entitycache.StatisticsMonitor)
         at weblogic.xml.util.cache.entitycache.StatisticsMonitor.run(EntityCache.java:1579)
         - locked <3504838> (a weblogic.xml.util.cache.entitycache.StatisticsMonitor)
    "VDE Transaction Processor Thread" prio=2 tid=0x135b29b0 nid=0xd90 waiting on
    monitor [0x14aff000..0x14affdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3375f90> (a com.octetstring.vde.backend.standard.TransactionProcessor)
         at java.lang.Object.wait(Object.java:415)
         at com.octetstring.vde.backend.standard.TransactionProcessor.waitChange(TransactionProcessor.java:306)
         - locked <3375f90> (a com.octetstring.vde.backend.standard.TransactionProcessor)
         at com.octetstring.vde.backend.standard.TransactionProcessor.run(TransactionProcessor.java:192)
    "ExecuteThread: '9' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x1358aa70
    nid=0x1194 waiting on monitor [0x14abf000..0x14abfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314b120> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314b120> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '8' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x134ece18
    nid=0x11c0 waiting on monitor [0x14a7f000..0x14a7fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314b0a0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314b0a0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '7' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x134ec700
    nid=0x8a8 waiting on monitor [0x14a3f000..0x14a3fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314b020> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314b020> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '6' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x1328ae18
    nid=0x1e0 waiting on monitor [0x149ff000..0x149ffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314afa0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314afa0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '5' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x1328a2f8
    nid=0x10dc waiting on monitor [0x149bf000..0x149bfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314af20> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314af20> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '4' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x13742ab0
    nid=0xd68 waiting on monitor [0x1497f000..0x1497fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314aea0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314aea0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '3' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x13296cc8
    nid=0x7dc waiting on monitor [0x1493f000..0x1493fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314ae20> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314ae20> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '2' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x135a98c0
    nid=0x1084 waiting on monitor [0x148ff000..0x148ffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314ada0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314ada0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '1' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x1328c548
    nid=0xc48 waiting on monitor [0x148bf000..0x148bfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314ad20> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314ad20> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: '__weblogic_admin_rmi_queue'" daemon prio=5 tid=0x136bf818
    nid=0x12a0 waiting on monitor [0x1487f000..0x1487fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <314aca0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <314aca0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '1' for queue: '__weblogic_admin_html_queue'" daemon prio=5 tid=0x134ee818
    nid=0x108c waiting on monitor [0x1483f000..0x1483fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <31486a0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <31486a0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: '__weblogic_admin_html_queue'" daemon prio=5 tid=0x1328c410
    nid=0x1070 waiting on monitor [0x147ff000..0x147ffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3148620> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3148620> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "TimeEventGenerator" daemon prio=5 tid=0x136bfaa0 nid=0xe7c waiting on monitor
    [0x147bf000..0x147bfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3145058> (a weblogic.time.common.internal.TimeTable)
         at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:272)
         - locked <3145058> (a weblogic.time.common.internal.TimeTable)
         at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:139)
         at java.lang.Thread.run(Thread.java:479)
    "ExecuteThread: '1' for queue: '_weblogic_dgc_queue'" daemon prio=5 tid=0x135f5498
    nid=0x1134 waiting on monitor [0x1477f000..0x1477fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <31484e8> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <31484e8> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '0' for queue: '_weblogic_dgc_queue'" daemon prio=5 tid=0x135f2a90
    nid=0x1158 waiting on monitor [0x1473f000..0x1473fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3148468> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3148468> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "HighPriority TimeEventGenerator" daemon prio=9 tid=0x136c2d10 nid=0xfcc waiting
    on monitor [0x146ff000..0x146ffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3147378> (a weblogic.time.common.internal.TimeTable)
         at weblogic.time.common.internal.TimeTable.snooze(TimeTable.java:272)
         - locked <3147378> (a weblogic.time.common.internal.TimeTable)
         at weblogic.time.common.internal.TimeEventGenerator.run(TimeEventGenerator.java:139)
         at java.lang.Thread.run(Thread.java:479)
    "SpinnerRandomSource" daemon prio=5 tid=0x13518d78 nid=0x1074 waiting on monitor
    [0x146bf000..0x146bfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3147a68> (a java.lang.Object)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.security.SpinnerRandomBitsSource.run(SpinnerRandomBitsSource.java:60)
         at java.lang.Thread.run(Thread.java:479)
    "ExecuteThread: '14' for queue: 'default'" daemon prio=5 tid=0x13245968 nid=0x1210
    waiting on monitor [0x1467f000..0x1467fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3148330> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3148330> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '13' for queue: 'default'" daemon prio=5 tid=0x135037c8 nid=0x1128
    waiting on monitor [0x1463f000..0x1463fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <31482b0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <31482b0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '12' for queue: 'default'" daemon prio=5 tid=0x13502c00 nid=0xde8
    waiting for monitor entry [0x145ff000..0x145ffdbc]
         at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:818)
         - waiting to lock <39f68f0> (a oracle.jdbc.driver.OracleConnection)
         at weblogic.jdbc.jts.Connection.prepareStatement(Connection.java:191)
         at weblogic.jdbc.rmi.internal.ConnectionImpl.prepareStatement(ConnectionImpl.java:139)
         at weblogic.jdbc.rmi.SerialConnection.prepareStatement(SerialConnection.java:92)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.prepareStatement(Unknown
    Source)
         at oracle.toplink.queryframework.SQLCall.prepareStatement(Unknown Source)
         at oracle.toplink.internal.databaseaccess.DatabaseAccessor.executeCall(Unknown
    Source)
         at oracle.toplink.threetier.ServerSession.executeCall(Unknown Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.executeCall(Unknown
    Source)
         at oracle.toplink.internal.queryframework.CallQueryMechanism.selectOneRow(Unknown
    Source)
         at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectOneRowFromTable(Unknown
    Source)
         at oracle.toplink.internal.queryframework.ExpressionQueryMechanism.selectOneRow(Unknown
    Source)
         at oracle.toplink.queryframework.ReadObjectQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.DatabaseQuery.execute(Unknown Source)
         at oracle.toplink.queryframework.ReadQuery.execute(Unknown Source)
         at oracle.toplink.publicinterface.Session.internalExecuteQuery(Unknown Source)
         at oracle.toplink.threetier.ServerSession.internalExecuteQuery(Unknown Source)
         at oracle.toplink.threetier.ClientSession.internalExecuteQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at oracle.toplink.publicinterface.Session.executeQuery(Unknown Source)
         at cygent.service.da.impl.DataAccessImpl.read(DataAccessImpl.java:1674)
         at cygent.service.da.impl.DataAccessImpl.read(DataAccessImpl.java:1635)
         at cygent.service.frame.TaskActivationEventDispatcher.registerListenerTask(TaskActivationEventDispatcher.java:255)
         at cygent.domain.taskManager.state.TaskNewState.schedule(TaskNewState.java:303)
         at cygent.domain.taskManager.state.TaskNewState.activate(TaskNewState.java:243)
         at cygent.domain.taskManager.TaskInstance.activate(TaskInstance.java:331)
         at cygent.service.frame.TaskManagementMessageBeanHelper.activateTask(TaskManagementMessageBeanHelper.java:317)
         at cygent.service.frame.TaskManagementMessageBeanImpl.onMessage(TaskManagementMessageBeanImpl.java:299)
         at weblogic.ejb20.internal.MDListener.execute(MDListener.java:364)
         at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:298)
         at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:273)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:2310)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:2233)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
    "ExecuteThread: '11' for queue: 'default'" daemon prio=5 tid=0x1358d630 nid=0x114c
    waiting on monitor [0x145bf000..0x145bfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <31481b0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <31481b0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '10' for queue: 'default'" daemon prio=5 tid=0x1358cab8 nid=0xd30
    waiting on monitor [0x1457f000..0x1457fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3148130> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3148130> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '9' for queue: 'default'" daemon prio=5 tid=0x1324efa8 nid=0xcb4
    waiting on monitor [0x1453f000..0x1453fdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <31480b0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <31480b0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '8' for queue: 'default'" daemon prio=5 tid=0x1324ed20 nid=0x10ec
    waiting on monitor [0x144ff000..0x144ffdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3148030> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3148030> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '7' for queue: 'default'" daemon prio=5 tid=0x13549bb8 nid=0x11e4
    waiting on monitor [0x144bf000..0x144bfdbc]
         at java.lang.Object.wait(Native Method)
         - waiting on <3147fb0> (a weblogic.kernel.ExecuteThread)
         at java.lang.Object.wait(Object.java:415)
         at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:146)
         - locked <3147fb0> (a weblogic.kernel.ExecuteThread)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:172)
    "ExecuteThread: '6' for queue: 'default'" daemon prio=5 tid=0x13549930 nid=0x874
    waiting for monitor entry [0x1447f000..0x1447fdbc]
         at oracle.jdbc.driver.OracleConnection.prepareStatement(OracleConnection.java:818)
         - waiting to lock <39f68f0> (a oracle.jdbc

  • JMS/RMI causes  WLS to hang

    Hello,
    Not sure if this is the right newsgroup-I am trying to
    diagnose a problem where the weblogic server(5.1, SP9) hangs. I have run
    it through JProbe's Threadalyzer and I checked for deadlocks and no
    deadlocks were reported. What was reported were three thread stalls (one
    block stall and two wait stalls) . All the three thread stalls were
    holding JMSServerSession(different instances of it).
    Here is the architecture -
    A third party application makes a HTTP request to a servlet running on
    WLS and that servlet posts a message to JMS and returns. We are using
    ServerSessionPool. The client class implementing the MessageListener
    then calls other RMI objects within the same JVM(its non-clustered
    weblogic).
    Here is the question-under heavy load this seems to hang the system
    eventually. I am unable to determine why at this point. The thread dump
    is different each time.
    The onMessage() method calls one RMI object which delegates to a
    detailed object tree several layers deep(other RMI objects). In one of
    those RMI objects there is a synchronized block.
    Currently there is no notifyAll() being issued when this synchronized
    block exits.
    Is it necessary then to issue a notifyAll() within any synchronized code
    that is within the 'scope' of the onMessage()
    I would like the JMS thread to return immediately. So that the rest of
    the RMI code is handled in other threads.
    Thanks in advance,
    Aswin.

    Here is the thread dump-JProbe did not report any deadlock again( I did not profile the
    weblogic.* classes). However the CPU usage was 100% and the server just hung-
    "Thread-5" daemon prio=5 tid=0x3e1e7470 nid=0xd9 runnable [0x3e2af000..0x3e2afdc
    0]
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:86)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:186)
    at java.io.BufferedInputStream.read1(BufferedInputStream.java:225)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:280)
    - locked <619fd20> (a java.io.BufferedInputStream)
    at COM.activesw.api.client.BrokerConnection.readData(BrokerConnection.ja
    va:1584)
    at COM.activesw.api.client.BrokerConnection.run(BrokerConnection.java:15
    06)
    "SocketListener" daemon prio=5 tid=0x3cef3c30 nid=0xd4 runnable [0x3cf6f000..0x3
    cf6fdc0]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:421)
    - locked <4fb6d10> (a java.net.PlainSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:243)
    at java.net.ServerSocket.accept(ServerSocket.java:222)
    at com.inprise.vbroker.IIOP.Listener.accept(Listener.java:102)
    at com.inprise.vbroker.orb.SocketSCM$ListenerThread.run(SocketSCM.java:3
    2)
    at java.lang.Thread.run(Thread.java:484)
    "AreYouAlive" daemon prio=5 tid=0x3cd1e520 nid=0x17a waiting on monitor [0x3ce2f
    000..0x3ce2fdc0]
    at java.lang.Object.wait(Native Method)
    - waiting on <4da7f58> (a com.inprise.vbroker.ds.DSUser$AreYouAlive)
    at com.inprise.vbroker.ds.DSUser$AreYouAlive.run(DSUser.java:115)
    - locked <4da7f58> (a com.inprise.vbroker.ds.DSUser$AreYouAlive)
    "DatagramThread" daemon prio=5 tid=0x3cd19af0 nid=0x138 runnable [0x3cdef000..0x
    3cdefdc0]
    at java.net.PlainDatagramSocketImpl.peek(Native Method)
    - locked <4da1a10> (a java.net.PlainDatagramSocketImpl)
    at java.net.DatagramSocket.receive(DatagramSocket.java:354)
    - locked <140c7130> (a java.net.DatagramPacket)
    - locked <4da19f8> (a java.net.DatagramSocket)
    at com.inprise.vbroker.ds.DSUser$DatagramThread.run(DSUser.java:157)
    "GarbageCollector" daemon prio=5 tid=0x3cb80100 nid=0x1a5 waiting on monitor [0x
    3ccaf000..0x3ccafdc0]
    at java.lang.Object.wait(Native Method)
    - waiting on <4bca9c0> (a com.inprise.vbroker.orb.GarbageCollector)
    at com.inprise.vbroker.orb.GarbageCollector.run(GarbageCollector.java:62
    - locked <4bca9c0> (a com.inprise.vbroker.orb.GarbageCollector)
    "ListenThread" prio=5 tid=0x3c57c310 nid=0x145 runnable [0x3c5df000..0x3c5dfdc0]
    at java.net.PlainSocketImpl.socketAccept(Native Method)
    at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:421)
    - locked <3533380> (a java.net.PlainSocketImpl)
    at java.net.ServerSocket.implAccept(ServerSocket.java:243)
    at java.net.ServerSocket.accept(ServerSocket.java:222)
    at weblogic.t3.srvr.ListenThread.run(ListenThread.java:286)
    "LDAPConnThread majestix.xyz.com:389" daemon prio=5 tid=0x3a20bc40 nid=0
    x110 runnable [0x3a29f000..0x3a29fdc0]
    at java.net.SocketInputStream.socketRead(Native Method)
    at java.net.SocketInputStream.read(SocketInputStream.java:86)
    at java.io.BufferedInputStream.fill(BufferedInputStream.java:186)
    at java.io.BufferedInputStream.read(BufferedInputStream.java:204)
    - locked <3022d48> (a java.io.BufferedInputStream)
    at netscape.ldap.ber.stream.BERElement.getElement(BERElement.java:101)
    at netscape.ldap.LDAPConnThread.run(LDAPConnThread.java:420)
    "NBExecuteThread-1" daemon prio=5 tid=0x38283ed0 nid=0x1e0 waiting on monitor [0
    x388df000..0x388dfdc0]
    at java.lang.Object.wait(Native Method)
    - waiting on <2f0a498> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:99)
    - locked <2f0a498> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:126)
    "NBExecuteThread-0" daemon prio=5 tid=0x38281180 nid=0x1ca waiting on monitor [0
    x3889f000..0x3889fdc0]
    at java.lang.Object.wait(Native Method)
    - waiting on <2f09ea8> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:99)
    - locked <2f09ea8> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:126)
    "ExecuteThread-19" daemon prio=5 tid=0x3827f660 nid=0x1b1 runnable [0x3885f000..
    0x3885fdc0]
    at java.lang.StringBuffer.toString(StringBuffer.java:1068)
    at com.xyz.king.common.DiplomatBasicParser.parse(DiplomatBasicPa
    rser.java:78)
    at com.xyz.king.go.Tuvking.getExacgoatchFormat(Tuvking.java:56)
    at com.xyz.king.go.IndexerLocal.setExacgoatchKeys(IndexerLocal.j
    ava:72)
    at com.xyz.everest.integration.king.go.IndexerWLRMIImpl.setExact
    MatchKeys(IndexerWLRMIImpl.java:68)
    at com.xyz.everest.page.pageimport.PageImporter.createPageFromGx
    ml(PageImporter.java:464)
    at com.xyz.everest.page.pageimport.PageImporter.importSourcePage
    (PageImporter.java:231)
    at com.xyz.everest.page.pageimport.PageImporter.importPage(PageI
    mporter.java:152)
    at com.xyz.everest.page.PageManagerLocal.importPage(PageManagerL
    ocal.java:340)
    at com.xyz.everest.page.PageManagerWLRMIImpl.importPage(PageMana
    gerWLRMIImpl.java:254)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssLocalizationRequest(RequestProcessor.java:168)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssRequest(RequestProcessor.java:65)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorLocal.addReq
    uestToJob(JobCreatorLocal.java:89)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorWLRMIImpl.ad
    dRequestToJob(JobCreatorWLRMIImpl.java:41)
    at com.xyz.everest.request.RequestHandlerLocal.submitRequest(Req
    uestHandlerLocal.java:423)
    at com.xyz.everest.request.RequestHandlerLocal.onMessage(Request
    HandlerLocal.java:192)
    at weblogic.jms.client.JMSMessageConsumer.run(JMSMessageConsumer.java:27
    6)
    at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
    at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44
    - locked <72e2d18> (a weblogic.jms.server.JMSServerSession)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-18" daemon prio=5 tid=0x3827e850 nid=0x170 waiting on monitor [0x
    3881f000..0x3881fdc0]
    at java.lang.Object.wait(Native Method)
    - waiting on <2f08db0> (a weblogic.kernel.ExecuteThread)
    at java.lang.Object.wait(Object.java:420)
    at weblogic.kernel.ExecuteThread.waitForRequest(ExecuteThread.java:99)
    - locked <2f08db0> (a weblogic.kernel.ExecuteThread)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:126)
    "ExecuteThread-17" daemon prio=5 tid=0x3827da10 nid=0x1e9 runnable [0x387df000..
    0x387dfdc0]
    at java.lang.StringBuffer.expandCapacity(StringBuffer.java:202)
    at java.lang.StringBuffer.append(StringBuffer.java:401)
    - locked <140f83b0> (a java.lang.StringBuffer)
    at com.xyz.king.common.DiplomatBasicParser.parse(DiplomatBasicPa
    rser.java:78)
    at com.xyz.king.go.Tuvking.getExacgoatchFormat(Tuvking.java:56)
    at com.xyz.king.go.IndexerLocal.setExacgoatchKeys(IndexerLocal.j
    ava:72)
    at com.xyz.everest.integration.king.go.IndexerWLRMIImpl.setExact
    MatchKeys(IndexerWLRMIImpl.java:68)
    at com.xyz.everest.page.pageimport.PageImporter.createPageFromGx
    ml(PageImporter.java:464)
    at com.xyz.everest.page.pageimport.PageImporter.importSourcePage
    (PageImporter.java:231)
    at com.xyz.everest.page.pageimport.PageImporter.importPage(PageI
    mporter.java:152)
    at com.xyz.everest.page.PageManagerLocal.importPage(PageManagerL
    ocal.java:340)
    at com.xyz.everest.page.PageManagerWLRMIImpl.importPage(PageMana
    gerWLRMIImpl.java:254)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssLocalizationRequest(RequestProcessor.java:168)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssRequest(RequestProcessor.java:65)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorLocal.addReq
    uestToJob(JobCreatorLocal.java:89)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorWLRMIImpl.ad
    dRequestToJob(JobCreatorWLRMIImpl.java:41)
    at com.xyz.everest.request.RequestHandlerLocal.submitRequest(Req
    uestHandlerLocal.java:423)
    at com.xyz.everest.request.RequestHandlerLocal.onMessage(Request
    HandlerLocal.java:192)
    at weblogic.jms.client.JMSMessageConsumer.run(JMSMessageConsumer.java:27
    6)
    at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
    at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44
    - locked <6e04bf0> (a weblogic.jms.server.JMSServerSession)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-16" daemon prio=5 tid=0x3827cc20 nid=0x1c8 runnable [0x3879f000..
    0x3879fdc0]
    at org.apache.regexp.RECompiler.closure(RECompiler.java:939)
    at org.apache.regexp.RECompiler.branch(RECompiler.java:1151)
    at org.apache.regexp.RECompiler.expr(RECompiler.java:1203)
    at org.apache.regexp.RECompiler.compile(RECompiler.java:1281)
    at org.apache.regexp.RE.<init>(RE.java:495)
    at com.xyz.king.common.Entities.decodeString(Entities.java:128)
    at com.xyz.king.common.XmlEntities.decodeStringBasic(XmlEntities
    .java:130)
    at com.xyz.king.go.Tuvking$ExacgoatchFormatHandler.handleText(Tu
    vking.java:264)
    at com.xyz.king.common.DiplomatBasicParser.processText(DiplomatB
    asicParser.java:196)
    at com.xyz.king.common.DiplomatBasicParser.parse(DiplomatBasicPa
    rser.java:85)
    at com.xyz.king.go.Tuvking.getExacgoatchFormat(Tuvking.java:56)
    at com.xyz.king.go.IndexerLocal.setExacgoatchKeys(IndexerLocal.j
    ava:72)
    at com.xyz.everest.integration.king.go.IndexerWLRMIImpl.setExact
    MatchKeys(IndexerWLRMIImpl.java:68)
    at com.xyz.everest.page.pageimport.PageImporter.createPageFromGx
    ml(PageImporter.java:464)
    at com.xyz.everest.page.pageimport.PageImporter.importSourcePage
    (PageImporter.java:231)
    at com.xyz.everest.page.pageimport.PageImporter.importPage(PageI
    mporter.java:152)
    at com.xyz.everest.page.PageManagerLocal.importPage(PageManagerL
    ocal.java:340)
    at com.xyz.everest.page.PageManagerWLRMIImpl.importPage(PageMana
    gerWLRMIImpl.java:254)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssLocalizationRequest(RequestProcessor.java:168)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssRequest(RequestProcessor.java:65)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorLocal.addReq
    uestToJob(JobCreatorLocal.java:89)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorWLRMIImpl.ad
    dRequestToJob(JobCreatorWLRMIImpl.java:41)
    at com.xyz.everest.request.RequestHandlerLocal.submitRequest(Req
    uestHandlerLocal.java:423)
    at com.xyz.everest.request.RequestHandlerLocal.onMessage(Request
    HandlerLocal.java:192)
    at weblogic.jms.client.JMSMessageConsumer.run(JMSMessageConsumer.java:27
    6)
    at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
    at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44
    - locked <6805850> (a weblogic.jms.server.JMSServerSession)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-15" daemon prio=5 tid=0x3827be10 nid=0x1a0 runnable [0x3875f000..
    0x3875fdc0]
    at java.lang.StringBuffer.<init>(StringBuffer.java:116)
    at java.lang.StringBuffer.<init>(StringBuffer.java:104)
    at com.xyz.king.common.DiplomatBasicParser.parse(DiplomatBasicPa
    rser.java:91)
    at com.xyz.king.go.Tuvking.getExacgoatchFormat(Tuvking.java:56)
    at com.xyz.king.go.IndexerLocal.setExacgoatchKeys(IndexerLocal.j
    ava:72)
    at com.xyz.everest.integration.king.go.IndexerWLRMIImpl.setExact
    MatchKeys(IndexerWLRMIImpl.java:68)
    at com.xyz.everest.page.pageimport.PageImporter.createPageFromGx
    ml(PageImporter.java:464)
    at com.xyz.everest.page.pageimport.PageImporter.importSourcePage
    (PageImporter.java:231)
    at com.xyz.everest.page.pageimport.PageImporter.importPage(PageI
    mporter.java:152)
    at com.xyz.everest.page.PageManagerLocal.importPage(PageManagerL
    ocal.java:340)
    at com.xyz.everest.page.PageManagerWLRMIImpl.importPage(PageMana
    gerWLRMIImpl.java:254)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssLocalizationRequest(RequestProcessor.java:168)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssRequest(RequestProcessor.java:65)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorLocal.addReq
    uestToJob(JobCreatorLocal.java:89)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorWLRMIImpl.ad
    dRequestToJob(JobCreatorWLRMIImpl.java:41)
    at com.xyz.everest.request.RequestHandlerLocal.submitRequest(Req
    uestHandlerLocal.java:423)
    at com.xyz.everest.request.RequestHandlerLocal.onMessage(Request
    HandlerLocal.java:192)
    at weblogic.jms.client.JMSMessageConsumer.run(JMSMessageConsumer.java:27
    6)
    at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
    at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44
    - locked <7e02b88> (a weblogic.jms.server.JMSServerSession)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-14" daemon prio=5 tid=0x38279020 nid=0x139 runnable [0x3871f000..
    0x3871fdc0]
    at oracle.net.ns.NetInputStream.read(Unknown Source)
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB1(MAREngine.java:718)
    at oracle.jdbc.ttc7.TTIoer.unmarshal(TTIoer.java:129)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:533)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteFetch(TTC7Protocol.java:822
    - locked <2f22908> (a oracle.jdbc.ttc7.TTC7Protocol)
    at oracle.jdbc.driver.OracleStatement.executeNonQuery(OracleStatement.ja
    va:1446)
    at oracle.jdbc.driver.OracleStatement.doExecuteOther(OracleStatement.jav
    a:1371)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
    nt.java:1900)
    at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java
    :693)
    - locked <140d4428> (a oracle.jdbc.driver.OracleStatement)
    at weblogic.jdbc.pool.Statement.executeUpdate(Statement.java:59)
    at weblogic.jms.server.JDBCStore.purgeMessages(JDBCStore.java:1147)
    at weblogic.jms.server.JDBCStore.trigger(JDBCStore.java:880)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(Schedul
    edTrigger.java:205)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigg
    er.java:199)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:6
    0)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-13" daemon prio=5 tid=0x38278190 nid=0x1d1 runnable [0x386df000..
    0x386dfdc0]
    at java.lang.StringBuffer.toString(StringBuffer.java:1068)
    at com.xyz.king.common.DiplomatBasicParser.parse(DiplomatBasicPa
    rser.java:91)
    at com.xyz.king.go.Tuvking.getExacgoatchFormat(Tuvking.java:56)
    at com.xyz.king.go.IndexerLocal.setExacgoatchKeys(IndexerLocal.j
    ava:72)
    at com.xyz.everest.integration.king.go.IndexerWLRMIImpl.setExact
    MatchKeys(IndexerWLRMIImpl.java:68)
    at com.xyz.everest.page.pageimport.PageImporter.createPageFromGx
    ml(PageImporter.java:464)
    at com.xyz.everest.page.pageimport.PageImporter.importSourcePage
    (PageImporter.java:231)
    at com.xyz.everest.page.pageimport.PageImporter.importPage(PageI
    mporter.java:152)
    at com.xyz.everest.page.PageManagerLocal.importPage(PageManagerL
    ocal.java:340)
    at com.xyz.everest.page.PageManagerWLRMIImpl.importPage(PageMana
    gerWLRMIImpl.java:254)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssLocalizationRequest(RequestProcessor.java:168)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssRequest(RequestProcessor.java:65)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorLocal.addReq
    uestToJob(JobCreatorLocal.java:89)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorWLRMIImpl.ad
    dRequestToJob(JobCreatorWLRMIImpl.java:41)
    at com.xyz.everest.request.RequestHandlerLocal.submitRequest(Req
    uestHandlerLocal.java:423)
    at com.xyz.everest.request.RequestHandlerLocal.onMessage(Request
    HandlerLocal.java:192)
    at weblogic.jms.client.JMSMessageConsumer.run(JMSMessageConsumer.java:27
    6)
    at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
    at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44
    - locked <64dbad0> (a weblogic.jms.server.JMSServerSession)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-12" daemon prio=5 tid=0x38277660 nid=0x1d9 runnable [0x3869f000..
    0x3869fdc0]
    at weblogic.socket.NTSockegouxer.getNextSocket(Native Method)
    at weblogic.socket.NTSockegouxer.processSockets(NTSockegouxer.java:331)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
    23)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-11" daemon prio=5 tid=0x38276850 nid=0x12e runnable [0x3865f000..
    0x3865fdc0]
    at weblogic.socket.NTSockegouxer.getNextSocket(Native Method)
    at weblogic.socket.NTSockegouxer.processSockets(NTSockegouxer.java:331)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
    23)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-10" daemon prio=5 tid=0x38275a10 nid=0xce runnable [0x3861f000..0
    x3861fdc0]
    at org.apache.regexp.RECompiler$RERange.<init>(RECompiler.java:1305)
    at org.apache.regexp.RECompiler.characterClass(RECompiler.java:572)
    at org.apache.regexp.RECompiler.terminal(RECompiler.java:863)
    at org.apache.regexp.RECompiler.closure(RECompiler.java:942)
    at org.apache.regexp.RECompiler.branch(RECompiler.java:1151)
    at org.apache.regexp.RECompiler.expr(RECompiler.java:1203)
    at org.apache.regexp.RECompiler.compile(RECompiler.java:1281)
    at org.apache.regexp.RE.<init>(RE.java:495)
    at com.xyz.king.common.Entities.decodeString(Entities.java:128)
    at com.xyz.king.common.XmlEntities.decodeStringBasic(XmlEntities
    .java:130)
    at com.xyz.king.go.Tuvking$ExacgoatchFormatHandler.handleText(Tu
    vking.java:264)
    at com.xyz.king.common.DiplomatBasicParser.processText(DiplomatB
    asicParser.java:196)
    at com.xyz.king.common.DiplomatBasicParser.parse(DiplomatBasicPa
    rser.java:85)
    at com.xyz.king.go.Tuvking.getExacgoatchFormat(Tuvking.java:56)
    at com.xyz.king.go.IndexerLocal.setExacgoatchKeys(IndexerLocal.j
    ava:72)
    at com.xyz.everest.integration.king.go.IndexerWLRMIImpl.setExact
    MatchKeys(IndexerWLRMIImpl.java:68)
    at com.xyz.everest.page.pageimport.PageImporter.createPageFromGx
    ml(PageImporter.java:464)
    at com.xyz.everest.page.pageimport.PageImporter.importSourcePage
    (PageImporter.java:231)
    at com.xyz.everest.page.pageimport.PageImporter.importPage(PageI
    mporter.java:152)
    at com.xyz.everest.page.PageManagerLocal.importPage(PageManagerL
    ocal.java:340)
    at com.xyz.everest.page.PageManagerWLRMIImpl.importPage(PageMana
    gerWLRMIImpl.java:254)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssLocalizationRequest(RequestProcessor.java:168)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssRequest(RequestProcessor.java:65)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorLocal.addReq
    uestToJob(JobCreatorLocal.java:89)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorWLRMIImpl.ad
    dRequestToJob(JobCreatorWLRMIImpl.java:41)
    at com.xyz.everest.request.RequestHandlerLocal.submitRequest(Req
    uestHandlerLocal.java:423)
    at com.xyz.everest.request.RequestHandlerLocal.onMessage(Request
    HandlerLocal.java:192)
    at weblogic.jms.client.JMSMessageConsumer.run(JMSMessageConsumer.java:27
    6)
    at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
    at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44
    - locked <7828f40> (a weblogic.jms.server.JMSServerSession)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-9" daemon prio=5 tid=0x38274c20 nid=0x15c runnable [0x385df000..0
    x385dfdc0]
    at java.lang.Object.clone(Native Method)
    at weblogic.utils.collections.NumericHashtable.clone(NumericHashtable.ja
    va:267)
    - locked <353a790> (a weblogic.utils.collections.NumericHashtable)
    at weblogic.socket.NTSockegouxer.trigger(NTSockegouxer.java:107)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(Schedul
    edTrigger.java:205)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigg
    er.java:199)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:6
    0)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-8" daemon prio=5 tid=0x38273e10 nid=0x14b runnable [0x3859f000..0
    x3859fdc0]
    at oracle.jdbc.ttc7.MAREngine.unmarshalUB4(MAREngine.java:845)
    at oracle.jdbc.ttc7.MAREngine.unmarshalSWORD(MAREngine.java:946)
    at oracle.jdbc.ttc7.TTIoer.unmarshal(TTIoer.java:128)
    at oracle.jdbc.ttc7.Oall7.receive(Oall7.java:533)
    at oracle.jdbc.ttc7.TTC7Protocol.doOall7(TTC7Protocol.java:1405)
    at oracle.jdbc.ttc7.TTC7Protocol.parseExecuteDescribe(TTC7Protocol.java:
    643)
    - locked <13bd83a8> (a oracle.jdbc.ttc7.TTC7Protocol)
    at oracle.jdbc.driver.OracleStatement.doExecuteQuery(OracleStatement.jav
    a:1674)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStateme
    nt.java:1870)
    at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:737)
    - locked <140e56f8> (a oracle.jdbc.driver.OracleStatement)
    at weblogic.jdbc.common.internal.ConnectionEnv.test(ConnectionEnv.java:6
    88)
    - locked <13bcc130> (a weblogic.jdbc.common.internal.ConnectionEnv)
    at weblogic.common.internal.ResourceAllocator.trigger(ResourceAllocator.
    java:1484)
    at weblogic.time.common.internal.ScheduledTrigger.executeLocally(Schedul
    edTrigger.java:205)
    at weblogic.time.common.internal.ScheduledTrigger.execute(ScheduledTrigg
    er.java:199)
    at weblogic.time.server.ScheduledTrigger.execute(ScheduledTrigger.java:6
    0)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-7" daemon prio=5 tid=0x38271020 nid=0x164 runnable [0x3855f000..0
    x3855fdc0]
    at java.lang.StringBuffer.expandCapacity(StringBuffer.java:202)
    at java.lang.StringBuffer.append(StringBuffer.java:401)
    - locked <140f8450> (a java.lang.StringBuffer)
    at com.xyz.king.common.DiplomatBasicParser.parse(DiplomatBasicPa
    rser.java:78)
    at com.xyz.king.go.Tuvking.getExacgoatchFormat(Tuvking.java:56)
    at com.xyz.king.go.IndexerLocal.setExacgoatchKeys(IndexerLocal.j
    ava:72)
    at com.xyz.everest.integration.king.go.IndexerWLRMIImpl.setExact
    MatchKeys(IndexerWLRMIImpl.java:68)
    at com.xyz.everest.page.pageimport.PageImporter.createPageFromGx
    ml(PageImporter.java:464)
    at com.xyz.everest.page.pageimport.PageImporter.importSourcePage
    (PageImporter.java:231)
    at com.xyz.everest.page.pageimport.PageImporter.importPage(PageI
    mporter.java:152)
    at com.xyz.everest.page.PageManagerLocal.importPage(PageManagerL
    ocal.java:340)
    at com.xyz.everest.page.PageManagerWLRMIImpl.importPage(PageMana
    gerWLRMIImpl.java:254)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssLocalizationRequest(RequestProcessor.java:168)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssRequest(RequestProcessor.java:65)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorLocal.addReq
    uestToJob(JobCreatorLocal.java:89)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorWLRMIImpl.ad
    dRequestToJob(JobCreatorWLRMIImpl.java:41)
    at com.xyz.everest.request.RequestHandlerLocal.submitRequest(Req
    uestHandlerLocal.java:423)
    at com.xyz.everest.request.RequestHandlerLocal.onMessage(Request
    HandlerLocal.java:192)
    at weblogic.jms.client.JMSMessageConsumer.run(JMSMessageConsumer.java:27
    6)
    at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
    at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44
    - locked <8ebc3e8> (a weblogic.jms.server.JMSServerSession)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-6" daemon prio=5 tid=0x38270190 nid=0x142 runnable [0x3851f000..0
    x3851fdc0]
    at java.lang.StringBuffer.<init>(StringBuffer.java:116)
    at java.lang.StringBuffer.<init>(StringBuffer.java:104)
    at com.xyz.king.common.DiplomatBasicParser.processTag(DiplomatBa
    sicParser.java:154)
    at com.xyz.king.common.DiplomatBasicParser.parse(DiplomatBasicPa
    rser.java:72)
    at com.xyz.king.go.Tuvking.getExacgoatchFormat(Tuvking.java:56)
    at com.xyz.king.go.IndexerLocal.setExacgoatchKeys(IndexerLocal.j
    ava:72)
    at com.xyz.everest.integration.king.go.IndexerWLRMIImpl.setExact
    MatchKeys(IndexerWLRMIImpl.java:68)
    at com.xyz.everest.page.pageimport.PageImporter.createPageFromGx
    ml(PageImporter.java:464)
    at com.xyz.everest.page.pageimport.PageImporter.importSourcePage
    (PageImporter.java:231)
    at com.xyz.everest.page.pageimport.PageImporter.importPage(PageI
    mporter.java:152)
    at com.xyz.everest.page.PageManagerLocal.importPage(PageManagerL
    ocal.java:340)
    at com.xyz.everest.page.PageManagerWLRMIImpl.importPage(PageMana
    gerWLRMIImpl.java:254)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssLocalizationRequest(RequestProcessor.java:168)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssRequest(RequestProcessor.java:65)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorLocal.addReq
    uestToJob(JobCreatorLocal.java:89)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorWLRMIImpl.ad
    dRequestToJob(JobCreatorWLRMIImpl.java:41)
    at com.xyz.everest.request.RequestHandlerLocal.submitRequest(Req
    uestHandlerLocal.java:423)
    at com.xyz.everest.request.RequestHandlerLocal.onMessage(Request
    HandlerLocal.java:192)
    at weblogic.jms.client.JMSMessageConsumer.run(JMSMessageConsumer.java:27
    6)
    at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
    at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44
    - locked <9dab220> (a weblogic.jms.server.JMSServerSession)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-5" daemon prio=5 tid=0x3826f610 nid=0x14a runnable [0x384df000..0
    x384dfdc0]
    at java.lang.StringBuffer.expandCapacity(StringBuffer.java:202)
    at java.lang.StringBuffer.append(StringBuffer.java:401)
    - locked <140f84f8> (a java.lang.StringBuffer)
    at com.xyz.king.common.DiplomatBasicParser.parse(DiplomatBasicPa
    rser.java:91)
    at com.xyz.king.go.Tuvking.getExacgoatchFormat(Tuvking.java:56)
    at com.xyz.king.go.IndexerLocal.setExacgoatchKeys(IndexerLocal.j
    ava:72)
    at com.xyz.everest.integration.king.go.IndexerWLRMIImpl.setExact
    MatchKeys(IndexerWLRMIImpl.java:68)
    at com.xyz.everest.page.pageimport.PageImporter.createPageFromGx
    ml(PageImporter.java:464)
    at com.xyz.everest.page.pageimport.PageImporter.importSourcePage
    (PageImporter.java:231)
    at com.xyz.everest.page.pageimport.PageImporter.importPage(PageI
    mporter.java:152)
    at com.xyz.everest.page.PageManagerLocal.importPage(PageManagerL
    ocal.java:340)
    at com.xyz.everest.page.PageManagerWLRMIImpl.importPage(PageMana
    gerWLRMIImpl.java:254)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssLocalizationRequest(RequestProcessor.java:168)
    at com.xyz.everest.jobhandler.jobcreation.RequestProcessor.proce
    ssRequest(RequestProcessor.java:65)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorLocal.addReq
    uestToJob(JobCreatorLocal.java:89)
    at com.xyz.everest.jobhandler.jobcreation.JobCreatorWLRMIImpl.ad
    dRequestToJob(JobCreatorWLRMIImpl.java:41)
    at com.xyz.everest.request.RequestHandlerLocal.submitRequest(Req
    uestHandlerLocal.java:423)
    at com.xyz.everest.request.RequestHandlerLocal.onMessage(Request
    HandlerLocal.java:192)
    at weblogic.jms.client.JMSMessageConsumer.run(JMSMessageConsumer.java:27
    6)
    at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
    at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44
    - locked <84612a8> (a weblogic.jms.server.JMSServerSession)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
    "ExecuteThread-4" daemon prio=5 tid=0x3826e820 nid=0x1fb waiting on monitor [0x3
    849f000..0x3849fdc0]
    at java.lang.Object.wait(Native Method)
    - waiting on <2f03bc0> (a weblo

  • Generic JMS MDB Processing Questions

    Using MessageDrivenBean
    This bean can only receive a message from the JMS queue server using its onMessage(Message msg) method. If onMessage is called and cannot process the message due to some external resource being down, it seems the only two outcomes are to wait for the external resource to be available, or queue the message to another queue. I've read throwing an exception is not a "good programming" practice. My questions are:
    - Is the above the proper way to code the onMessage() method?
    - Is there a way to shutdown the MessageDrivenBean or JMS queue server when exiting the application?
    Thanks for your help.
    Joe

    Is it also possible to have the consumer close itself
    by queuing a close message to the queue with highest
    priority and the consumer calling its close()
    method?Not if you using onMessage. A consumer is driven by a session, a session is singlethreaded and calls onMessage, a close must wait until all onMessage calls have been finsihed. Hence, if you call close within onMessage, you have a deadlock.
    But you can use the synchronous receive() method of a consumer and call close after you've received it.
    -- Andreas

  • Deadlock in PM?

    Hi,
    The following stack traces are the (shortened) result of a Linux thread dump
    during a program hang I encountered today. The main point of interest is
    that during this hang, there were two Kodo objects which appear to be stuck
    waiting on locks. These are the PersistenceManangerImpl ( line 552 ) and
    the StateManagerImpl ( line 323 ). The other threads you see from my
    application are all waiting for a lock on a single, static object, which
    happens to be a Map of Threads to running, transactional persistence
    managers. Those calls are just a step away from making other commit calls
    to Kodo. The lock they are waiting on is held by the first thread, which
    locks the map while updating the PMs with ids that have just been changed in
    a commit.
    I suspect the lock is caused by commits in two separate PersistenceManagers
    occurring at nearly the same time. The first thread commits successfully,
    and then attempts to update other persistenceManagers ( possibly including
    the pm involved in the second thread, the one that is in the middle of a
    commit ) by calling refreshAll.
    Hope this helps. Let me know if you need more information.
    -Eric Lindauer
    "[HCM] - Creating a new Pricing job" prio=1 tid=0x49192538 nid=0x7401
    waiting for monitor entry [0xbc5ff000..0xbc5ff8a4]
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectByIdFilter(Pers
    istenceManagerImpl.java:552)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.getObjectById(Persistenc
    eManagerImpl.java:529)
    at
    com.solarmetric.kodo.impl.jdbc.ormapping.OneToOneMapping.load(OneToOneMappin
    g.java:121)
    at
    com.solarmetric.kodo.impl.jdbc.runtime.JDBCStoreManager.load(JDBCStoreManage
    r.java:242)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.loadFields(StateManagerImpl.ja
    va:1160)
    at
    com.solarmetric.kodo.runtime.PCleanState.refresh(PCleanState.java:90)
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.refresh(StateManagerImpl.java:
    443)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.refreshFilter(Persistenc
    eManagerImpl.java:911)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.refreshAll(PersistenceMa
    nagerImpl.java:869)
    at
    com.hcm.tools.jdo.HCMPersistenceManager.refreshAll(HCMPersistenceManager.jav
    a:258)
    at
    com.hcm.tools.jdo.JDOFactory.updateTransactionalPms(JDOFactory.java:466)
    <...>
    "[HCM] - Creating a new Pricing job" prio=1 tid=0x49184c38 nid=0x73fe
    waiting for monitor entry [0xbcbff000..0xbcbff8a4]
    at
    com.solarmetric.kodo.runtime.StateManagerImpl.preStore(StateManagerImpl.java
    :323)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.flush(PersistenceManager
    Impl.java:319)
    at
    com.solarmetric.kodo.runtime.PersistenceManagerImpl.commit(PersistenceManage
    rImpl.java:245)
    <...>
    "[HCM] - Creating a new Pricing job" prio=1 tid=0x4890c5f0 nid=0x7400
    waiting for monitor entry [0xbc7ff000..0xbc7ff8a4]
    at
    com.hcm.tools.jdo.JDOFactory.getNewTransactionalPersistenceManager(JDOFactor
    y.java:318)
    <...>
    "[HCM] - Creating a new Pricing job" prio=1 tid=0x4890e738 nid=0x73ff
    waiting for monitor entry [0xbc9ff000..0xbc9ff8a4]
    at com.hcm.tools.jdo.JDOFactory.removeThread(JDOFactory.java:372)
    <...>
    "[HCM] - Creating a new Pricing job" prio=1 tid=0x491a1918 nid=0x73fd
    waiting for monitor entry [0xbcdff000..0xbcdff8a4]
    at com.hcm.tools.jdo.JDOFactory.removeThread(JDOFactory.java:372)
    <...>

    Hi,
    similar errors are in the wls 10.3.4 too (fpr Example MOS Note: WebLogic Server thread deadlocked at JMS utilization (waiting to acquire lock 'weblogic.jms.common.CDS@20a61785') (Doc ID 1382525.1).
    I would consider to upgrade to 10.3.6 or 12 (if possible)
    Borys

Maybe you are looking for