Due Transitions Expire Immediately and Might Cause DB Deadlocks (Doc ID 1070675.1)

Last updated on MAY 02, 2017

Applies to:

Oracle Business Process Management Suite - Version 5.7.3 to 10.3.1
Information in this document applies to any platform.
***Checked for relevance on 30-Aug-2011***


Symptoms

Some instances in several processes are failing with a DB deadlock condition. You will also notice that due transitions are expiring instantly after the instance reaches the activity.

The exception detected in the Engine logs is the following:

<S>, "Feb 9, 2010 9:00:46 PM", Default, Main, <13...patcher (115444562), "An exception occurred while executing a transaction. Details:
An error occurred while accesing the database.
Technical detail:SQL statement: ' SELECT INSTANCEDATA, PROCESSID, INSTID, THREADID, NAME, PARENTTHREAD, PRIORITY, CREATIONTIME, AUTHOR, PARTICIPANT, NEXTPARTICIPANT, PROCESSDEADLINE, ACTIVITYDEADLINE, RECEIVETIME, ACTIVITYNAME, NTHREADS, CTHREADS, TOTALTHREADS, STATE, SOURCEACTIVITYNAME, ROLEIN, PENDINGITEMID, LASTRESULT, ITEMDEADLINE, NCHANGES , NREMARKS, NATTACHMENTS, HASPARTFORROLE FROM PPROCINSTANCE WHERE PROCESSID = 214 AND INSTID = 19255666 AND THREADID = 0 FOR UPDATE'

Caused by: ORA-00060: deadlock detected while waiting for resource

fuego.transaction.DatabaseException: An error occurred while accesing the database.
Technical detail:SQL statement: ' SELECT INSTANCEDATA, PROCESSID, INSTID, THREADID, NAME, PARENTTHREAD, PRIORITY, CREATIONTIME, AUTHOR, PARTICIPANT, NEXTPARTICIPANT, PROCESSDEADLINE, ACTIVITYDEADLINE, RECEIVETIME, ACTIVITYNAME, NTHREADS, CTHREADS, TOTALTHREADS, STATE, SOURCEACTIVITYNAME, ROLEIN, PENDINGITEMID, LASTRESULT, ITEMDEADLINE, NCHANGES , NREMARKS, NATTACHMENTS, HASPARTFORROLE FROM PPROCINSTANCE WHERE PROCESSID = 214 AND INSTID = 19255666 AND THREADID = 0 FOR UPDATE'

at fuego.server.persistence.jdbc.JdbcProcessInstancePersMgr.load(JdbcProcessInstancePersMgr.java:1620)
at fuego.server.persistence.Persistence.loadInstance(Persistence.java:749)
at fuego.server.AbstractInstanceService.readInstance(AbstractInstanceService.java:701)
at fuego.ejbengine.EJBInstanceService.getLockedROImpl(EJBInstanceService.java:216)
at fuego.server.AbstractInstanceService.getLockedROImpl(AbstractInstanceService.java:796)
at fuego.server.AbstractInstanceService.getLockedImpl(AbstractInstanceService.java:660)
at fuego.server.AbstractInstanceService.getLockedWaiting(AbstractInstanceService.java:215)
at fuego.server.execution.EngineExecutionContext.acquireCurrentInstance(EngineExecutionContext.java:1463)
at fuego.server.execution.EngineExecutionContext.preImmediateExecution(EngineExecutionContext.java:1286)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:297)
at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:580)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:601)
at fuego.transaction.TransactionAction.start(TransactionAction.java:220)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:118)
at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:58)
at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42)
at fuego.server.execution.ToDoItem.executeAutomaticWork(ToDoItem.java:264)
at fuego.ejbengine.ItemExecutionBean$1.execute(ItemExecutionBean.java:242)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:522)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:604)
at fuego.transaction.TransactionAction.start(TransactionAction.java:220)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:118)
at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
at fuego.ejbengine.ItemExecutionBean.processMessage(ItemExecutionBean.java:228)
at fuego.ejbengine.ItemExecutionBean.onMessage(ItemExecutionBean.java:131)
at weblogic.ejb20.internal.MDListener.execute(MDListener.java:400)
at weblogic.ejb20.internal.MDListener.transactionalOnMessage(MDListener.java:333)
at weblogic.ejb20.internal.MDListener.onMessage(MDListener.java:298)
at com.tibco.tibjms.TibjmsxSessionImp._submit(TibjmsxSessionImp.java:3817)
at com.tibco.tibjms.TibjmsxSessionImp._dispatchAsyncMessage(TibjmsxSessionImp.java:2088)
at com.tibco.tibjms.TibjmsxSessionImp$Dispatcher.run(TibjmsxSessionImp.java:3343)
Caused by: java.sql.SQLException: ORA-00060: deadlock detected while waiting for resource

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:743)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:216)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:955)
at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1060)
at oracle.jdbc.driver.T4CPreparedStatement.executeMaybeDescribe(T4CPreparedStatement.java:839)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1132)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3316)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3361)
at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:124)
at fuego.jdbc.FaultTolerantPreparedStatement.executeQuery(FaultTolerantPreparedStatement.java:584)
at fuego.server.persistence.jdbc.JdbcProcessInstancePersMgr.load(JdbcProcessInstancePersMgr.java:1598)
... 31 more"

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms