Deadlock detected on startup error in logfile

Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Summary

Symptoms

JIRA fails to start up.

The following appears in the atlassian-jira.log:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 2014-06-24 14:57:59,907 DeadLockDetection:thread-1 ERROR [atlassian.jira.startup.LauncherContextListener] A deadlock has been detected on JIRA startup for the following threads: ["pool-1-thread-1" Id=94 WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@79faee0c owned by "localhost-startStop-1" Id=13, "localhost-startStop-1" Id=13 WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@49229464 owned by "pool-1-thread-1" Id=94] 2014-06-24 14:57:59,907 DeadLockDetection:thread-1 ERROR [atlassian.jira.startup.LauncherContextListener] "pool-1-thread-1" Id=94 WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@79faee0c owned by "localhost-startStop-1" Id=13 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@79faee0c at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214) at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) at com.atlassian.jira.startup.ActiveServicesLauncher$1.run(ActiveServicesLauncher.java:58) ...: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214) java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) com.atlassian.jira.startup.ActiveServicesLauncher$1.run(ActiveServicesLauncher.java:58) java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) java.util.concurrent.FutureTask.run(FutureTask.java:262) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:744) 2014-06-24 14:57:59,908 DeadLockDetection:thread-1 ERROR [atlassian.jira.startup.LauncherContextListener] "localhost-startStop-1" Id=13 WAITING on java.util.concurrent.locks.ReentrantLock$NonfairSync@49229464 owned by "pool-1-thread-1" Id=94 at sun.misc.Unsafe.park(Native Method) - waiting on java.util.concurrent.locks.ReentrantLock$NonfairSync@49229464 at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214) at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) at com.atlassian.jira.startup.ActiveServicesLauncher.start(ActiveServicesLauncher.java:76) ...: sun.misc.Unsafe.park(Native Method) java.util.concurrent.locks.LockSupport.park(LockSupport.java:186) java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867) java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197) java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214) java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290) com.atlassian.jira.startup.ActiveServicesLauncher.start(ActiveServicesLauncher.java:76) com.atlassian.jira.startup.DefaultJiraLauncher$3.run(DefaultJiraLauncher.java:133) com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrEnqueue(DatabaseConfigurationManagerImpl.java:324) com.atlassian.jira.config.database.DatabaseConfigurationManagerImpl.doNowOrWhenDatabaseActivated(DatabaseConfigurationManagerImpl.java:214) com.atlassian.jira.startup.DefaultJiraLauncher.postDbLaunch(DefaultJiraLauncher.java:115) com.atlassian.jira.startup.DefaultJiraLauncher.access$100(DefaultJiraLauncher.java:31) com.atlassian.jira.startup.DefaultJiraLauncher$1.run(DefaultJiraLauncher.java:78) com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:34) com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:73) com.atlassian.jira.startup.LauncherContextListener.contextInitialized(LauncherContextListener.java:68) org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939) org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434) org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) java.util.concurrent.FutureTask.run(FutureTask.java:262) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) java.lang.Thread.run(Thread.java:744)

Diagnosis

This can happen during JIRA's startup, and not consistently.

Cause

The message is logged anytime a deadlock is detected during JIRA's startup.

There are different factors that might cause a deadlock when JIRA is starting up:

  • There is a bug existing on the Java JDK 7 that is the root cause of some deadlocks, see http://bugs.java.com/view_bug.do?bug_id=8044572 for more details.

  • One of the plugins that your JIRA instance has installed is badly written, and has a bug causing a deadlock.

Solution

Resolution

There are two options to avoid having this problem at the moment:

  • Restart JIRA

  • If you are using JIRA 6.3 or higher, upgrade your Java JDK to JDK8, since that version does not contain the bug that causes this issue. 6.3 is the first version of JIRA that supports Java 8 so DO NOT upgrade your JDK if you are using an older version of JIRA.

Updated on April 8, 2025

Still need help?

The Atlassian Community is here for you.