Instances are stuck. Exceptions in Engine logs: UNLOCK_NOT_LOCKED and CannotLockInstanceException (Doc ID 1072616.1)

Last updated on JULY 05, 2016

Applies to:

Oracle Business Process Management Suite - Version 10.3.1 to 10.3.3 [Release AS10gR3]
Information in this document applies to any platform.
***Checked for relevance on 01-Jan-2012***
***Checked for relevance on 02-Jul-2016***
This document does not apply to Oracle BPM 11g and newer.

Symptoms

Instances might get stuck and you might see the following message in the engine log:

ET(19) has tried to unlock the not locked object proc=/ou/Process#Default-1.0; instIn=14050; thrIn=0; description=kai60; actName=Interactive[Auditing]; roleIn=50004121; crTime=2009-11-24 12:02:28+01:00; recepTime=2009-11-25 10:33:53+01:00; author=fuego.metadata.Participant$InterfaceImpl@1763bac; priority=3; nThread=0; parentThread=-1; procDue=null; actDue=null; currentException=null; actItems=[part:null, retry:0];


or

UNLOCK_NOT_LOCKED ET(1) ha intentado desbloquear el objeto no bloqueado proc=/ou/Process#Default-1.1; instIn=14956; thrIn=0; description=Initialize Approval; actName=StartExecution[InitializeApproval]; roleIn=0; crTime=2009-10-09 10:09:47+02:00; recepTime=2009-10-15 18:09:47+02:00; author=fuego.metadata.Participant$InterfaceImpl@1285cbd; priority=3; nThread=0; parentThread=-1; procDue=null; actDue=null; currentException=null; actItems=none.


The following exception might arise:

fuego.papi.exception.CannotLockInstanceException: Instance '/ou/Process#Default-1.1/4207/0' could not be locked because participant 'Server' is currently locking it.
at fuego.server.ProcInstOwner.createLockException(ProcInstOwner.java:119)
at fuego.server.AbstractInstanceService.getLocked(AbstractInstanceService.java:149)
at fuego.server.execution.EngineExecutionContext.acquireCurrentInstance(EngineExecutionContext.java:1527)
at fuego.server.execution.EngineExecutionContext.preImmediateExecution(EngineExecutionContext.java:1361)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:295)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
...


You might also see the following Severe message:

An exception occurred while executing a transaction. Details: fuego.lang.Cache$AlreadyLockedException
Runtime exception Shell.

Original stack trace follows ...

fuego.lang.Cache$AlreadyLockedException
at fuego.lang.Cache.getLocked(Cache.java:119)
at fuego.fengine.CachedInstanceService.lockInstanceInCache(CachedInstanceService.java:405)
at fuego.fengine.CachedInstanceService.getLockedROImpl(CachedInstanceService.java:309)
at fuego.server.AbstractInstanceService.getLockedROImpl(AbstractInstanceService.java:879)
at fuego.server.AbstractInstanceService.getLockedImpl(AbstractInstanceService.java:730)
at fuego.server.AbstractInstanceService.getLockedWaiting(AbstractInstanceService.java:219)
at fuego.server.execution.EngineExecutionContext.acquireCurrentInstance(EngineExecutionContext.java:1697)
at fuego.server.execution.EngineExecutionContext.preImmediateExecution(EngineExecutionContext.java:1507)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:295)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:62)
at fuego.server.execution.DefaultEngineExecution.retryLater(DefaultEngineExecution.java:240)
at fuego.server.execution.EngineExecution.retryLater(EngineExecution.java:115)
at fuego.server.execution.ToDoItem.retryLater(ToDoItem.java:818)
at fuego.server.execution.ToDoItem.run(ToDoItem.java:540)
at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:775)
at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:755)
at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
at fuego.fengine.ToDoQueueThread$PrincipalWrapper.processBatch(ToDoQueueThread.java:450)
at fuego.component.ExecutionThread.work(ExecutionThread.java:839)
at fuego.component.ExecutionThread.run(ExecutionThread.java:408)


The following exception is another manifestation of the issue:

An operation exception occurred while running an automatic item.
Details: There are no tasks running in activity '/ou/Process#Default-2.0/Interactive[ActivityName]' for instance '/ou/Process#Default-2.0/171057/0'.

fuego.papi.exception.NoTasksRunningException: There are no tasks running in activity '/ou/Process#Default-2.0/Interactive[ActivityName]' for instance '/ou/Process#Default-2.0/171057/0'.
at fuego.server.ProcInst.getRunningItem(ProcInst.java:1122)
at fuego.server.execution.microactivity.InteractiveMicroActivity.runRollbackToDoItem(InteractiveMicroActivity.java:112)
at fuego.server.execution.ToDoItemItemRecovery.execute(ToDoItemItemRecovery.java:47)
at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
at fuego.server.execution.DefaultEngineExecution.executeAutomaticWork(DefaultEngineExecution.java:63)
at fuego.server.execution.EngineExecution.executeAutomaticWork(EngineExecution.java:42)
at fuego.server.execution.ToDoItem.executeAutomaticWork(ToDoItem.java:264)
at fuego.server.execution.ToDoItem.run(ToDoItem.java:559)
at fuego.component.ExecutionThread.processMessage(ExecutionThread.java:773)
at fuego.component.ExecutionThread.processBatch(ExecutionThread.java:753)
at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:142)
at fuego.component.ExecutionThread.doProcessBatch(ExecutionThread.java:134)
at fuego.fengine.ToDoQueueThread$PrincipalWrapper.processBatch(ToDoQueueThread.java:450)
at fuego.component.ExecutionThread.work(ExecutionThread.java:837)
at fuego.component.ExecutionThread.run(ExecutionThread.java:408)
...

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