Hi,
In one of the workflows we often get PotentialDeadlockException and below is one of he exception message. Looking at the message, it just prints detectionTimestamp
, stacktraceTimestamp
and threadDumpTimestamp
.
But according the sdk code, if I am right, it is suppose to dump other current thread dumps if there are any thread exists. But looks like it is not present. Which means no thread currently exists ? Anything else we could try to point deadlock detection here ?
Caused By: io.temporal.internal.sync.PotentialDeadlockException: Potential deadlock detected. workflow thread "workflow-root" didn't yield control for over a second. {detectionTimestamp=1650913273813stacktraceTimestamp=1650913274221threadDumpTimestamp=1650913274221}
java.base@11.0.14/jdk.internal.misc.Unsafe.park(Native Method)
java.base@11.0.14/java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.base@11.0.14/java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
java.base@11.0.14/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)
java.base@11.0.14/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)
java.base@11.0.14/java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)
io.temporal.internal.sync.WorkflowThreadContext.setStatus(WorkflowThreadContext.java:187)
io.temporal.internal.sync.WorkflowThreadImpl$RunnableWrapper.run(WorkflowThreadImpl.java:129)
java.base@11.0.14/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
java.base@11.0.14/java.util.concurrent.FutureTask.run(Unknown Source)
java.base@11.0.14/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base@11.0.14/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.base@11.0.14/java.lang.Thread.run(Unknown Source)