Deadlock detected on startup error in logfile
プラットフォームについて: Data Center - この記事は、Data Center プラットフォームのアトラシアン製品に適用されます。
このナレッジベース記事は製品の Data Center バージョン用に作成されています。Data Center 固有ではない機能の Data Center ナレッジベースは、製品のサーバー バージョンでも動作する可能性はありますが、テストは行われていません。サーバー*製品のサポートは 2024 年 2 月 15 日に終了しました。サーバー製品を利用している場合は、アトラシアンのサーバー製品のサポート終了のお知らせページにて移行オプションをご確認ください。
*Fisheye および Crucible は除く
症状
JIRA fails to start up.
atlassian-jira.log
に次のメッセージが表示される。
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)
診断
This can happen during JIRA's startup, and not consistently.
原因
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.
ソリューション
There are two options to avoid having this problem at the moment:
- 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.