From 9a483e8f85a312bd4d871b722bf9c978188aeed1 Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Mon, 9 Apr 2012 18:28:40 +0400 Subject: [PATCH] analyze stacktrace descriptive tabs --- .../intellij/unscramble/UnscrambleDialog.java | 102 ++- .../UnscrambleFromClipboardAction.java | 55 -- .../testData/unscramble/deadlock.txt | 773 ++++++++++++++++++ .../testData/unscramble/threaddump.txt | 485 +++++++++++ .../unscramble/UnscrambleDialogTest.java | 79 ++ .../src/debugger/threadStates/exception.png | Bin 0 -> 708 bytes .../src/debugger/threadStates/threaddump.png | Bin 0 -> 1541 bytes .../unscramble/AnalyzeStacktraceDialog.java | 5 +- .../AnalyzeStacktraceOnErrorAction.java | 5 +- .../unscramble/AnalyzeStacktraceUtil.java | 16 +- .../src/messages/IdeBundle.properties | 4 +- .../actions/AnalyzeTaskStacktraceAction.java | 5 +- 12 files changed, 1449 insertions(+), 80 deletions(-) delete mode 100644 java/java-impl/src/com/intellij/unscramble/UnscrambleFromClipboardAction.java create mode 100644 java/java-tests/testData/unscramble/deadlock.txt create mode 100644 java/java-tests/testData/unscramble/threaddump.txt create mode 100644 java/java-tests/testSrc/com/intellij/unscramble/UnscrambleDialogTest.java create mode 100644 platform/icons/src/debugger/threadStates/exception.png create mode 100644 platform/icons/src/debugger/threadStates/threaddump.png diff --git a/java/java-impl/src/com/intellij/unscramble/UnscrambleDialog.java b/java/java-impl/src/com/intellij/unscramble/UnscrambleDialog.java index 9a97bdade7c0..bcae03df6b5a 100644 --- a/java/java-impl/src/com/intellij/unscramble/UnscrambleDialog.java +++ b/java/java-impl/src/com/intellij/unscramble/UnscrambleDialog.java @@ -16,6 +16,7 @@ package com.intellij.unscramble; import com.intellij.execution.ui.ConsoleView; +import com.intellij.execution.ui.RunContentDescriptor; import com.intellij.ide.IdeBundle; import com.intellij.ide.ui.ListCellRendererWrapper; import com.intellij.ide.util.PropertiesComponent; @@ -29,8 +30,11 @@ import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.DialogWrapper; import com.intellij.openapi.util.Comparing; +import com.intellij.openapi.util.Condition; +import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.util.registry.Registry; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vcs.ProjectLevelVcsManager; import com.intellij.openapi.vcs.configurable.VcsContentAnnotationConfigurable; import com.intellij.openapi.vfs.VirtualFile; @@ -38,6 +42,7 @@ import com.intellij.ui.GuiUtils; import com.intellij.ui.TextFieldWithHistory; import com.intellij.util.ArrayUtil; import com.intellij.util.Consumer; +import com.intellij.util.containers.ContainerUtil; import com.intellij.util.text.CharArrayUtil; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.Nullable; @@ -46,6 +51,9 @@ import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.io.BufferedReader; +import java.io.IOException; +import java.io.StringReader; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -57,6 +65,15 @@ public class UnscrambleDialog extends DialogWrapper { @NonNls private static final String PROPERTY_LOG_FILE_HISTORY_URLS = "UNSCRAMBLE_LOG_FILE_URL"; @NonNls private static final String PROPERTY_LOG_FILE_LAST_URL = "UNSCRAMBLE_LOG_FILE_LAST_URL"; @NonNls private static final String PROPERTY_UNSCRAMBLER_NAME_USED = "UNSCRAMBLER_NAME_USED"; + private static final Condition DEADLOCK_CONDITION = new Condition() { + @Override + public boolean value(ThreadState state) { + return state.isDeadlocked(); + } + }; + private static final Icon THREAD_DUMP_ICON = IconLoader.getIcon("/debugger/threadStates/threaddump.png"); + private static final Icon DEADLOCK_ICON = IconLoader.getIcon("/debugger/killProcess.png"); + private static final Icon EXCEPTION_ICON = IconLoader.getIcon("/debugger/threadStates/exception.png"); private final Project myProject; private JPanel myEditorPanel; @@ -358,25 +375,43 @@ public class UnscrambleDialog extends DialogWrapper { private boolean performUnscramble() { UnscrambleSupport selectedUnscrambler = getSelectedUnscrambler(); - return showUnscrambledText(selectedUnscrambler, myLogFile.getText(), myProject, myStacktraceEditorPanel.getText()); + return showUnscrambledText(selectedUnscrambler, myLogFile.getText(), myProject, myStacktraceEditorPanel.getText()) != null; } - static boolean showUnscrambledText(UnscrambleSupport unscrambleSupport, String logName, Project project, String textToUnscramble) { + @Nullable + static RunContentDescriptor showUnscrambledText(@Nullable UnscrambleSupport unscrambleSupport, + String logName, + Project project, + String textToUnscramble) { String unscrambledTrace = unscrambleSupport == null ? textToUnscramble : unscrambleSupport.unscramble(project,textToUnscramble, logName); - if (unscrambledTrace == null) return false; + if (unscrambledTrace == null) return null; List threadStates = ThreadDumpParser.parse(unscrambledTrace); - final ConsoleView consoleView = addConsole(project, threadStates); - consoleView.allowHeavyFilters(); - AnalyzeStacktraceUtil.printStacktrace(consoleView, unscrambledTrace); - return true; + return addConsole(project, threadStates, unscrambledTrace); } - public static ConsoleView addConsole(final Project project, final List threadDump) { + private static RunContentDescriptor addConsole(final Project project, final List threadDump, String unscrambledTrace) { + Icon icon = null; + String message = IdeBundle.message("unscramble.unscrambled.stacktrace.tab"); + if (!threadDump.isEmpty()) { + message = IdeBundle.message("unscramble.unscrambled.threaddump.tab"); + icon = THREAD_DUMP_ICON; + } + else { + String name = getExceptionName(unscrambledTrace); + if (name != null) { + message = name; + icon = EXCEPTION_ICON; + } + } + if (ContainerUtil.find(threadDump, DEADLOCK_CONDITION) != null) { + message = IdeBundle.message("unscramble.unscrambled.deadlock.tab"); + icon = DEADLOCK_ICON; + } return AnalyzeStacktraceUtil.addConsole(project, threadDump.size() > 1 ? new AnalyzeStacktraceUtil.ConsoleFactory() { public JComponent createConsoleComponent(ConsoleView consoleView, DefaultActionGroup toolbarActions) { return new ThreadDumpPanel(project, consoleView, toolbarActions, threadDump); } - } : null, IdeBundle.message("unscramble.unscrambled.stacktrace.tab")); + } : null, message, unscrambledTrace, icon); } protected String getDimensionServiceKey(){ @@ -386,4 +421,53 @@ public class UnscrambleDialog extends DialogWrapper { public JComponent getPreferredFocusedComponent() { return myStacktraceEditorPanel.getEditorComponent(); } + + @Nullable + private static String getExceptionName(String unscrambledTrace) { + @SuppressWarnings("IOResourceOpenedButNotSafelyClosed") + BufferedReader reader = new BufferedReader(new StringReader(unscrambledTrace)); + for (int i = 0; i < 3; i++) { + try { + String line = reader.readLine(); + if (line == null) return null; + line = line.trim(); + String name = getExceptionAbbreviation(line); + if (name != null) return name; + } + catch (IOException e) { + return null; + } + } + return null; + } + + @Nullable + private static String getExceptionAbbreviation(String line) { + int lastDelimiter = 0; + for (int j = 0; j < line.length(); j++) { + char c = line.charAt(j); + if (c == '.' || c == '$') { + lastDelimiter = j; + continue; + } + if (!StringUtil.isJavaIdentifierPart(c)) { + return null; + } + } + String clazz = line.substring(lastDelimiter); + String abbreviate = abbreviate(clazz); + return abbreviate.length() > 1 ? abbreviate : clazz; + } + + private static String abbreviate(String s) { + StringBuilder builder = new StringBuilder(); + for (int i = 0; i < s.length(); i++) { + char c = s.charAt(i); + if (Character.isUpperCase(c)) { + builder.append(c); + } + } + return builder.toString(); + } + } \ No newline at end of file diff --git a/java/java-impl/src/com/intellij/unscramble/UnscrambleFromClipboardAction.java b/java/java-impl/src/com/intellij/unscramble/UnscrambleFromClipboardAction.java deleted file mode 100644 index 589c68a0bd15..000000000000 --- a/java/java-impl/src/com/intellij/unscramble/UnscrambleFromClipboardAction.java +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Copyright 2000-2009 JetBrains s.r.o. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.intellij.unscramble; - -import com.intellij.openapi.actionSystem.AnAction; -import com.intellij.openapi.actionSystem.AnActionEvent; -import com.intellij.openapi.actionSystem.PlatformDataKeys; -import com.intellij.openapi.actionSystem.Presentation; -import com.intellij.openapi.project.Project; - -public final class UnscrambleFromClipboardAction extends AnAction { - public void actionPerformed(AnActionEvent e) { - Project project = PlatformDataKeys.PROJECT.getData(e.getDataContext()); - - // If there's a text in clipboard and log is specified or not needed, unscramble w/o extra questions - - String text = AnalyzeStacktraceUtil.getTextInClipboard(); - if (text != null) { - String file = UnscrambleDialog.getLastUsedLogUrl(); - if (file != null && file.trim().length() == 0) { - file = null; - } - UnscrambleSupport savedUnscrambler = UnscrambleDialog.getSavedUnscrambler(); - if (savedUnscrambler == null || file != null) { - boolean success = UnscrambleDialog.showUnscrambledText(savedUnscrambler, file, project, text); - if (success) { - return; - } - } - } - - // Use regular unscramble dialog - UnscrambleDialog dialog = new UnscrambleDialog(project); - dialog.show(); - } - - public void update(AnActionEvent event){ - Presentation presentation = event.getPresentation(); - Project project = PlatformDataKeys.PROJECT.getData(event.getDataContext()); - presentation.setEnabled(project != null); - } -} diff --git a/java/java-tests/testData/unscramble/deadlock.txt b/java/java-tests/testData/unscramble/deadlock.txt new file mode 100644 index 000000000000..80e27e17ab26 --- /dev/null +++ b/java/java-tests/testData/unscramble/deadlock.txt @@ -0,0 +1,773 @@ +2011-11-25 20:12:30 +Full thread dump Java HotSpot(TM) 64-Bit Server VM (17.1-b03-307 mixed mode): + +"Attach Listener" daemon prio=9 tid=103588000 nid=0x113fb6000 waiting on condition [00000000] + java.lang.Thread.State: RUNNABLE + + Locked ownable synchronizers: + - None + +"process reaper" daemon prio=4 tid=11d190800 nid=0x116755000 runnable [116754000] + java.lang.Thread.State: RUNNABLE + at java.lang.UNIXProcess.waitForProcessExit(Native Method) + at java.lang.UNIXProcess.access$900(UNIXProcess.java:17) + at java.lang.UNIXProcess$2$1.run(UNIXProcess.java:86) + + Locked ownable synchronizers: + - None + +"Alarm pool(own)" daemon prio=3 tid=114486000 nid=0x11b102000 waiting on condition [11b101000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7caf15c60> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"JobScheduler pool 0/1" prio=5 tid=115659000 nid=0x11ac6c000 waiting for monitor entry [11ac6a000] + java.lang.Thread.State: BLOCKED (on object monitor) + at com.intellij.util.io.PersistentHashMap.get(PersistentHashMap.java:339) + - waiting to lock <7c9734008> (a com.intellij.util.io.PersistentBTreeEnumerator) + at com.intellij.util.indexing.MapIndexStorage$1$1.compute(MapIndexStorage.java:77) + at com.intellij.util.indexing.MapIndexStorage$1$1.compute(MapIndexStorage.java:67) + at com.intellij.util.indexing.ChangeTrackingValueContainer.getMergedData(ChangeTrackingValueContainer.java:134) + - locked <7c9733fa0> (a com.intellij.util.indexing.ValueContainerMap) + at com.intellij.util.indexing.ChangeTrackingValueContainer.getValueIterator(ChangeTrackingValueContainer.java:98) + at com.intellij.util.indexing.FileBasedIndex.processValuesImpl(FileBasedIndex.java:900) + at com.intellij.util.indexing.FileBasedIndex.getValues(FileBasedIndex.java:822) + at com.intellij.javascript.flex.css.FlexCssElementDescriptorProvider.getPropertyDescriptor(FlexCssElementDescriptorProvider.java:180) + at com.intellij.psi.css.impl.util.table.CssDescriptorsUtil.getPropertyDescriptor(CssDescriptorsUtil.java:50) + at com.intellij.psi.css.impl.util.table.CssDescriptorsUtil.getCannonicalPropertyName(CssDescriptorsUtil.java:98) + at com.intellij.psi.css.impl.util.table.CssDescriptorsUtil.getCannonicalPropertyName(CssDescriptorsUtil.java:104) + at com.intellij.psi.css.browse.CssColorAnnotator.annotate(CssColorAnnotator.java:105) + at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.runAnnotators(DefaultHighlightVisitor.java:157) + at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:100) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$8.run(GeneralHighlightingPass.java:593) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:771) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$3600(GeneralHighlightingPass.java:80) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$10.run(GeneralHighlightingPass.java:777) + at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:84) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:774) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$3600(GeneralHighlightingPass.java:80) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$10.run(GeneralHighlightingPass.java:777) + at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:84) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:774) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:639) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:204) + at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:58) + at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:61) + at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:350) + at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1034) + at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:342) + at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:206) + at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:340) + at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:316) + at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:134) + at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:131) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31) + at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70) + at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:113) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - <7ca6bf518> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + +"RefCountingStorage write content helper" prio=4 tid=11570f000 nid=0x11a434000 waiting on condition [11a433000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c8fdddc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"ApplicationImpl pooled thread 8" prio=4 tid=10367e800 nid=0x118b45000 waiting on condition [118b44000] + java.lang.Thread.State: TIMED_WAITING (sleeping) + at java.lang.Thread.sleep(Native Method) + at com.intellij.util.io.OutputReader.doRun(OutputReader.java:65) + at com.intellij.util.io.OutputReader.access$000(OutputReader.java:27) + at com.intellij.util.io.OutputReader$1.run(OutputReader.java:44) + at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:421) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) + + Locked ownable synchronizers: + - <7c9b5c150> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + +"ApplicationImpl pooled thread 7" prio=4 tid=1145bb800 nid=0x118a42000 waiting on condition [118a41000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c94dc7d0> (a java.util.concurrent.SynchronousQueue$TransferStack) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) + at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) + at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:680) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) + + Locked ownable synchronizers: + - None + +"ApplicationImpl pooled thread 6" prio=4 tid=114112800 nid=0x11893f000 waiting on condition [11893e000] + java.lang.Thread.State: TIMED_WAITING (sleeping) + at java.lang.Thread.sleep(Native Method) + at com.intellij.util.io.OutputReader.doRun(OutputReader.java:65) + at com.intellij.util.io.OutputReader.access$000(OutputReader.java:27) + at com.intellij.util.io.OutputReader$1.run(OutputReader.java:44) + at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:421) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) + + Locked ownable synchronizers: + - <7c9b5bbf8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + +"ApplicationImpl pooled thread 5" prio=4 tid=103346000 nid=0x117689000 waiting on condition [117688000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c94dc7d0> (a java.util.concurrent.SynchronousQueue$TransferStack) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) + at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) + at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:680) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) + + Locked ownable synchronizers: + - None + +"ApplicationImpl pooled thread 4" prio=4 tid=114698800 nid=0x117586000 in Object.wait() [117585000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7ce02f4b0> (a java.lang.UNIXProcess) + at java.lang.Object.wait(Object.java:485) + at java.lang.UNIXProcess.waitFor(UNIXProcess.java:115) + - locked <7ce02f4b0> (a java.lang.UNIXProcess) + at com.intellij.execution.process.BaseOSProcessHandler$ProcessWaitFor$1.run(BaseOSProcessHandler.java:221) + at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:421) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) + + Locked ownable synchronizers: + - <7c9b5b7d8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + +"ApplicationImpl pooled thread 3" prio=4 tid=1032bb000 nid=0x117483000 in Object.wait() [117482000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c94992c0> (a com.intellij.util.concurrency.WriterPreferenceReadWriteLock$ReaderLock) + at java.lang.Object.wait(Object.java:485) + at com.intellij.util.concurrency.WriterPreferenceReadWriteLock$ReaderLock.acquire(WriterPreferenceReadWriteLock.java:162) + - locked <7c94992c0> (a com.intellij.util.concurrency.WriterPreferenceReadWriteLock$ReaderLock) + at com.intellij.openapi.application.impl.ApplicationImpl$ReadAccessToken.(ApplicationImpl.java:1161) + at com.intellij.openapi.application.impl.ApplicationImpl.acquireReadActionLockImpl(ApplicationImpl.java:1087) + at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:870) + at com.intellij.openapi.components.impl.ServiceManagerImpl$MyComponentAdapter.getComponentInstance(ServiceManagerImpl.java:139) + at com.intellij.util.pico.DefaultPicoContainer.getLocalInstance(DefaultPicoContainer.java:242) + at com.intellij.util.pico.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:229) + at com.intellij.util.pico.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:211) + at com.intellij.flex.uiDesigner.DesignerApplicationManager.getService(DesignerApplicationManager.java:56) + at com.intellij.flex.uiDesigner.Client.getInstance(Client.java:40) + at com.intellij.flex.uiDesigner.io.MessageSocketManager.setOut(MessageSocketManager.java:23) + at com.intellij.flex.uiDesigner.io.SocketManager.run(SocketManager.java:32) + at com.intellij.flex.uiDesigner.io.MessageSocketManager.run(MessageSocketManager.java:12) + at com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:421) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) + + Locked ownable synchronizers: + - <7c9b5b5c8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + +"FS Synchronizer" daemon prio=5 tid=1032b4000 nid=0x117380000 waiting on condition [11737f000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c8ff7788> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1987) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:399) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"Animations" daemon prio=5 tid=114626000 nid=0x116aa0000 runnable [116a9f000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c9796698> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025) + at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"TimerQueue" daemon prio=5 tid=1145b3000 nid=0x11699d000 in Object.wait() [11699c000] + java.lang.Thread.State: TIMED_WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c98b8fd0> (a javax.swing.TimerQueue) + at javax.swing.TimerQueue.run(TimerQueue.java:232) + - locked <7c98b8fd0> (a javax.swing.TimerQueue) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"Alarm pool(shared)" daemon prio=3 tid=11426d800 nid=0x11689a000 in Object.wait() [116899000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7b85d56d8> (a java.awt.EventQueue$1AWTInvocationLock) + at java.lang.Object.wait(Object.java:485) + at java.awt.EventQueue.invokeAndWait(EventQueue.java:1029) + - locked <7b85d56d8> (a java.awt.EventQueue$1AWTInvocationLock) + at javax.swing.SwingUtilities.invokeAndWait(SwingUtilities.java:1320) + at com.intellij.util.Alarm$Request$1.run(Alarm.java:222) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - <7c97aaec0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + +"LowMemoryWatcher" daemon prio=4 tid=1037c8800 nid=0x11628b000 in Object.wait() [11628a000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c96c9d28> (a java.lang.ref.ReferenceQueue$Lock) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) + - locked <7c96c9d28> (a java.lang.ref.ReferenceQueue$Lock) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) + at com.intellij.openapi.util.LowMemoryWatcher$1.run(LowMemoryWatcher.java:60) + + Locked ownable synchronizers: + - None + +"FocusManager timer" daemon prio=2 tid=114152800 nid=0x115fe6000 in Object.wait() [115fe5000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c96b4228> (a java.util.TaskQueue) + at java.lang.Object.wait(Object.java:485) + at java.util.TimerThread.mainLoop(Timer.java:483) + - locked <7c96b4228> (a java.util.TaskQueue) + at java.util.TimerThread.run(Timer.java:462) + + Locked ownable synchronizers: + - None + +"Shared SimpleTimer" daemon prio=2 tid=103694800 nid=0x115ee3000 in Object.wait() [115ee2000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c96b3d48> (a java.util.TaskQueue) + at java.lang.Object.wait(Object.java:485) + at java.util.TimerThread.mainLoop(Timer.java:483) + - locked <7c96b3d48> (a java.util.TaskQueue) + at java.util.TimerThread.run(Timer.java:462) + + Locked ownable synchronizers: + - None + +"XML-RPC Weblistener" prio=3 tid=103784800 nid=0x115de0000 runnable [115ddf000] + java.lang.Thread.State: RUNNABLE + at java.net.PlainSocketImpl.socketAccept(Native Method) + at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390) + - locked <7c96a0fa8> (a java.net.SocksSocketImpl) + at java.net.ServerSocket.implAccept(ServerSocket.java:453) + at java.net.ServerSocket.accept(ServerSocket.java:421) + at org.apache.xmlrpc.WebServer.run(WebServer.java:453) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"Performance watcher" prio=1 tid=10370b000 nid=0x115cdd000 waiting on condition [115cdc000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c969e910> (a java.util.concurrent.Semaphore$NonfairSync) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:1011) + at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1303) + at java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:383) + at com.intellij.diagnostic.PerformanceWatcher.checkEDTResponsiveness(PerformanceWatcher.java:156) + at com.intellij.diagnostic.PerformanceWatcher.access$100(PerformanceWatcher.java:40) + at com.intellij.diagnostic.PerformanceWatcher$2.run(PerformanceWatcher.java:111) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"Document commit thread" prio=6 tid=1140a8800 nid=0x115901000 in Object.wait() [115900000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c90bc598> (a com.intellij.util.containers.Queue) + at java.lang.Object.wait(Object.java:485) + at com.intellij.psi.impl.DocumentCommitThread.run(DocumentCommitThread.java:275) + - locked <7c90bc598> (a com.intellij.util.containers.Queue) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"ApplicationImpl pooled thread 0 [ReadAccessToken]" prio=4 tid=103693800 nid=0x114901000 waiting for monitor entry [1148ff000] + java.lang.Thread.State: BLOCKED (on object monitor) + at com.intellij.util.indexing.ChangeTrackingValueContainer.getMergedData(ChangeTrackingValueContainer.java:127) + - waiting to lock <7c9733fa0> (a com.intellij.util.indexing.ValueContainerMap) + at com.intellij.util.indexing.ChangeTrackingValueContainer.getValueIterator(ChangeTrackingValueContainer.java:98) + at com.intellij.util.indexing.FileBasedIndex.processValuesImpl(FileBasedIndex.java:887) + at com.intellij.util.indexing.FileBasedIndex.processValues(FileBasedIndex.java:860) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector$1.process(LibraryStyleInfoCollector.java:42) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector$1.process(LibraryStyleInfoCollector.java:39) + at com.intellij.util.indexing.MemoryIndexStorage$1.process(MemoryIndexStorage.java:118) + at com.intellij.util.io.PersistentEnumeratorBase.iterateData(PersistentEnumeratorBase.java:373) + - locked <7c8fd4558> (a com.intellij.util.io.PagedFileStorage$StorageLock) + at com.intellij.util.io.PersistentHashMap.processKeys(PersistentHashMap.java:318) + - locked <7c9734008> (a com.intellij.util.io.PersistentBTreeEnumerator) + at com.intellij.util.indexing.MapIndexStorage.processKeys(MapIndexStorage.java:173) + at com.intellij.util.indexing.MemoryIndexStorage.processKeys(MemoryIndexStorage.java:126) + at com.intellij.util.indexing.MapReduceIndex.processAllKeys(MapReduceIndex.java:164) + at com.intellij.util.indexing.FileBasedIndex.processAllKeys(FileBasedIndex.java:688) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector.collectInherited(LibraryStyleInfoCollector.java:39) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector.consume(LibraryStyleInfoCollector.java:73) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector.consume(LibraryStyleInfoCollector.java:19) + at com.intellij.flex.uiDesigner.libraries.LibraryManager.createOriginalLibrary(LibraryManager.java:268) + at com.intellij.flex.uiDesigner.libraries.LibraryCollector.addLibrary(LibraryCollector.java:243) + at com.intellij.flex.uiDesigner.libraries.LibraryCollector.collectFromSdkOrderEntry(LibraryCollector.java:223) + at com.intellij.flex.uiDesigner.libraries.LibraryCollector.collect(LibraryCollector.java:138) + at com.intellij.flex.uiDesigner.libraries.LibraryManager.initLibrarySets(LibraryManager.java:95) + at com.intellij.flex.uiDesigner.DesignerApplicationLauncher$7.call(DesignerApplicationLauncher.java:376) + at com.intellij.flex.uiDesigner.DesignerApplicationLauncher$7.call(DesignerApplicationLauncher.java:364) + at com.intellij.openapi.application.impl.ApplicationImpl$7.call(ApplicationImpl.java:441) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) + + Locked ownable synchronizers: + - <7c9054a10> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + - <7c9733f80> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + +"Progress Cancel Checker" prio=9 tid=1035c0800 nid=0x114f46000 waiting on condition [114f45000] + java.lang.Thread.State: TIMED_WAITING (sleeping) + at java.lang.Thread.sleep(Native Method) + at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:60) + + Locked ownable synchronizers: + - None + +"StoreRefreshStatusThread" daemon prio=1 tid=1035b8000 nid=0x114e43000 waiting on condition [114e42000] + java.lang.Thread.State: TIMED_WAITING (sleeping) + at java.lang.Thread.sleep(Native Method) + at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl$StoreRefreshStatusThread.run(LocalFileSystemImpl.java:325) + + Locked ownable synchronizers: + - None + +"WatchForChangesThread" prio=6 tid=1030a5000 nid=0x114d40000 runnable [114d3f000] + java.lang.Thread.State: RUNNABLE + at java.io.FileInputStream.readBytes(Native Method) + at java.io.FileInputStream.read(FileInputStream.java:199) + at java.lang.UNIXProcess$DeferredCloseInputStream.read(UNIXProcess.java:227) + at java.io.BufferedInputStream.read1(BufferedInputStream.java:256) + at java.io.BufferedInputStream.read(BufferedInputStream.java:317) + - locked <7c8fe2010> (a java.io.BufferedInputStream) + at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:264) + at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:306) + at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:158) + - locked <7c8fe4248> (a java.io.InputStreamReader) + at java.io.InputStreamReader.read(InputStreamReader.java:167) + at java.io.BufferedReader.fill(BufferedReader.java:136) + at java.io.BufferedReader.readLine(BufferedReader.java:299) + - locked <7c8fe4248> (a java.io.InputStreamReader) + at java.io.BufferedReader.readLine(BufferedReader.java:362) + at com.intellij.openapi.vfs.impl.local.FileWatcher.readLine(FileWatcher.java:481) + at com.intellij.openapi.vfs.impl.local.FileWatcher.access$300(FileWatcher.java:48) + at com.intellij.openapi.vfs.impl.local.FileWatcher$WatchForChangesThread.run(FileWatcher.java:354) + + Locked ownable synchronizers: + - None + +"process reaper" daemon prio=6 tid=1030a4000 nid=0x114c3d000 runnable [114c3c000] + java.lang.Thread.State: RUNNABLE + at java.lang.UNIXProcess.waitForProcessExit(Native Method) + at java.lang.UNIXProcess.access$900(UNIXProcess.java:17) + at java.lang.UNIXProcess$2$1.run(UNIXProcess.java:86) + + Locked ownable synchronizers: + - None + +"Flushing thread" daemon prio=5 tid=1030a3800 nid=0x114add000 waiting on condition [114adc000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c9733f80> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:811) + at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:842) + at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1178) + at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:186) + at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:262) + at com.intellij.util.indexing.MapIndexStorage.flush(MapIndexStorage.java:108) + at com.intellij.util.indexing.MemoryIndexStorage.flush(MemoryIndexStorage.java:97) + at com.intellij.util.indexing.MapReduceIndex.flush(MapReduceIndex.java:96) + at com.intellij.util.indexing.FileBasedIndex.flushAllIndices(FileBasedIndex.java:652) + at com.intellij.util.indexing.FileBasedIndex.access$1200(FileBasedIndex.java:95) + at com.intellij.util.indexing.FileBasedIndex$7.run(FileBasedIndex.java:332) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) + at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317) + at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:180) + at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:204) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - <7c8fdead0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) + +"Poller SunPKCS11-Darwin" daemon prio=1 tid=1147c0000 nid=0x113cab000 waiting on condition [113caa000] + java.lang.Thread.State: TIMED_WAITING (sleeping) + at java.lang.Thread.sleep(Native Method) + at sun.security.pkcs11.SunPKCS11$TokenPoller.run(SunPKCS11.java:692) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"timed reference disposer" daemon prio=2 tid=115421000 nid=0x113eb3000 waiting on condition [113eb2000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c90cff28> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025) + at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"AWT-EventQueue-1 1.0#112.11, eap:true" prio=6 tid=103291000 nid=0x11224c000 in Object.wait() [11224a000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c94992d0> (a com.intellij.util.concurrency.WriterPreferenceReadWriteLock$WriterLock) + at java.lang.Object.wait(Object.java:485) + at com.intellij.util.concurrency.WriterPreferenceReadWriteLock$WriterLock.acquire(WriterPreferenceReadWriteLock.java:241) + - locked <7c94992d0> (a com.intellij.util.concurrency.WriterPreferenceReadWriteLock$WriterLock) + at com.intellij.openapi.application.impl.ApplicationImpl$WriteAccessToken.(ApplicationImpl.java:1127) + at com.intellij.openapi.application.impl.ApplicationImpl.acquireWriteActionLock(ApplicationImpl.java:1092) + at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:881) + at com.intellij.openapi.components.impl.stores.StorageUtil.save(StorageUtil.java:107) + at com.intellij.openapi.components.impl.stores.FileBasedStorage$FileSaveSession.doSave(FileBasedStorage.java:169) + at com.intellij.openapi.components.impl.stores.XmlElementStorage$MySaveSession.saveLocally(XmlElementStorage.java:426) + at com.intellij.openapi.components.impl.stores.XmlElementStorage$MySaveSession.save(XmlElementStorage.java:418) + at com.intellij.openapi.components.impl.stores.CompoundSaveSession.save(CompoundSaveSession.java:52) + at com.intellij.openapi.components.impl.stores.StateStorageManagerImpl$MySaveSession.save(StateStorageManagerImpl.java:511) + at com.intellij.openapi.components.impl.stores.ComponentStoreImpl$SaveSessionImpl.save(ComponentStoreImpl.java:436) + at com.intellij.openapi.components.impl.stores.ProjectStoreImpl$ProjectSaveSession.save(ProjectStoreImpl.java:508) + at com.intellij.openapi.components.impl.stores.StoreUtil.doSave(StoreUtil.java:31) + at com.intellij.openapi.project.impl.ProjectImpl.save(ProjectImpl.java:323) + at com.intellij.ide.SaveAndSyncHandler.saveProjectsAndDocuments(SaveAndSyncHandler.java:134) + at com.intellij.ide.SaveAndSyncHandler$3.onFrameDeactivated(SaveAndSyncHandler.java:91) + at com.intellij.ide.FrameStateManagerImpl.fireDeactivationEvent(FrameStateManagerImpl.java:100) + at com.intellij.ide.FrameStateManagerImpl.access$500(FrameStateManagerImpl.java:31) + at com.intellij.ide.FrameStateManagerImpl$2$1.run(FrameStateManagerImpl.java:72) + at com.intellij.util.Alarm$Request$1.run(Alarm.java:230) + at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:333) + - locked <7c9051c70> (a java.lang.Object) + at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) + at java.awt.EventQueue.dispatchEvent(EventQueue.java:633) + at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:686) + at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:534) + at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:416) + at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:374) + at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) + at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) + at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) + at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) + at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) + at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) + + Locked ownable synchronizers: + - None + +"Periodic tasks thread" daemon prio=5 tid=10319c800 nid=0x108bb0000 runnable [108baf000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c8d17468> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025) + at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"AWT-Shutdown" prio=5 tid=103378000 nid=0x110f48000 in Object.wait() [110f47000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c8d175a0> (a java.lang.Object) + at java.lang.Object.wait(Object.java:485) + at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:265) + - locked <7c8d175a0> (a java.lang.Object) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"Lock thread" prio=1 tid=10324b800 nid=0x1118ee000 runnable [1118ed000] + java.lang.Thread.State: RUNNABLE + at java.net.PlainSocketImpl.socketAccept(Native Method) + at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390) + - locked <7c8d17658> (a java.net.SocksSocketImpl) + at java.net.ServerSocket.implAccept(ServerSocket.java:453) + at java.net.ServerSocket.accept(ServerSocket.java:421) + at com.intellij.idea.SocketLock$MyRunnable.run(SocketLock.java:216) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"Java2D Disposer" daemon prio=10 tid=103245800 nid=0x1116e8000 in Object.wait() [1116e7000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c8d17840> (a java.lang.ref.ReferenceQueue$Lock) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) + - locked <7c8d17840> (a java.lang.ref.ReferenceQueue$Lock) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) + at sun.java2d.Disposer.run(Disposer.java:127) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"AWT-AppKit" daemon prio=5 tid=103377000 nid=0x7fff70d5fca0 runnable [00000000] + java.lang.Thread.State: RUNNABLE + + Locked ownable synchronizers: + - None + +"DestroyJavaVM" prio=5 tid=103001800 nid=0x10255b000 waiting on condition [00000000] + java.lang.Thread.State: RUNNABLE + + Locked ownable synchronizers: + - None + +"timed reference disposer" daemon prio=2 tid=103157800 nid=0x10850d000 waiting on condition [10850c000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <7c8d17a18> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2025) + at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:609) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:602) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:680) + + Locked ownable synchronizers: + - None + +"Low Memory Detector" daemon prio=5 tid=103060000 nid=0x1081b4000 runnable [00000000] + java.lang.Thread.State: RUNNABLE + + Locked ownable synchronizers: + - None + +"CompilerThread1" daemon prio=9 tid=10305f800 nid=0x1080b1000 waiting on condition [00000000] + java.lang.Thread.State: RUNNABLE + + Locked ownable synchronizers: + - None + +"CompilerThread0" daemon prio=9 tid=10305e800 nid=0x107fae000 waiting on condition [00000000] + java.lang.Thread.State: RUNNABLE + + Locked ownable synchronizers: + - None + +"Signal Dispatcher" daemon prio=9 tid=10305e000 nid=0x107eab000 runnable [00000000] + java.lang.Thread.State: RUNNABLE + + Locked ownable synchronizers: + - None + +"Finalizer" daemon prio=8 tid=103044000 nid=0x107da8000 in Object.wait() [107da7000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c8d17d40> (a java.lang.ref.ReferenceQueue$Lock) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) + - locked <7c8d17d40> (a java.lang.ref.ReferenceQueue$Lock) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) + at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) + + Locked ownable synchronizers: + - None + +"Reference Handler" daemon prio=10 tid=103043800 nid=0x107ca5000 in Object.wait() [107ca4000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <7c8d17170> (a java.lang.ref.Reference$Lock) + at java.lang.Object.wait(Object.java:485) + at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) + - locked <7c8d17170> (a java.lang.ref.Reference$Lock) + + Locked ownable synchronizers: + - None + +"VM Thread" prio=9 tid=103041000 nid=0x107ba2000 runnable + +"VM Periodic Task Thread" prio=10 tid=10306a000 nid=0x1082b7000 waiting on condition + +"Exception Catcher Thread" prio=10 tid=103002000 nid=0x102c98000 runnable +JNI global references: 6703 + + +Found one Java-level deadlock: +============================= +"JobScheduler pool 0/1": + waiting to lock monitor 100d58420 (object 7c9734008, a com.intellij.util.io.PersistentBTreeEnumerator), + which is held by "ApplicationImpl pooled thread 0 [ReadAccessToken]" +"ApplicationImpl pooled thread 0 [ReadAccessToken]": + waiting to lock monitor 1008a8768 (object 7c9733fa0, a com.intellij.util.indexing.ValueContainerMap), + which is held by "JobScheduler pool 0/1" + +Java stack information for the threads listed above: +=================================================== +"JobScheduler pool 0/1": + at com.intellij.util.io.PersistentHashMap.get(PersistentHashMap.java:339) + - waiting to lock <7c9734008> (a com.intellij.util.io.PersistentBTreeEnumerator) + at com.intellij.util.indexing.MapIndexStorage$1$1.compute(MapIndexStorage.java:77) + at com.intellij.util.indexing.MapIndexStorage$1$1.compute(MapIndexStorage.java:67) + at com.intellij.util.indexing.ChangeTrackingValueContainer.getMergedData(ChangeTrackingValueContainer.java:134) + - locked <7c9733fa0> (a com.intellij.util.indexing.ValueContainerMap) + at com.intellij.util.indexing.ChangeTrackingValueContainer.getValueIterator(ChangeTrackingValueContainer.java:98) + at com.intellij.util.indexing.FileBasedIndex.processValuesImpl(FileBasedIndex.java:900) + at com.intellij.util.indexing.FileBasedIndex.getValues(FileBasedIndex.java:822) + at com.intellij.javascript.flex.css.FlexCssElementDescriptorProvider.getPropertyDescriptor(FlexCssElementDescriptorProvider.java:180) + at com.intellij.psi.css.impl.util.table.CssDescriptorsUtil.getPropertyDescriptor(CssDescriptorsUtil.java:50) + at com.intellij.psi.css.impl.util.table.CssDescriptorsUtil.getCannonicalPropertyName(CssDescriptorsUtil.java:98) + at com.intellij.psi.css.impl.util.table.CssDescriptorsUtil.getCannonicalPropertyName(CssDescriptorsUtil.java:104) + at com.intellij.psi.css.browse.CssColorAnnotator.annotate(CssColorAnnotator.java:105) + at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.runAnnotators(DefaultHighlightVisitor.java:157) + at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:100) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$8.run(GeneralHighlightingPass.java:593) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:771) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$3600(GeneralHighlightingPass.java:80) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$10.run(GeneralHighlightingPass.java:777) + at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:84) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:774) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$3600(GeneralHighlightingPass.java:80) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$10.run(GeneralHighlightingPass.java:777) + at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:84) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.analyzeByVisitors(GeneralHighlightingPass.java:774) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectHighlights(GeneralHighlightingPass.java:639) + at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:204) + at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:58) + at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:61) + at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:350) + at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1034) + at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:342) + at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:206) + at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:340) + at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:316) + at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:134) + at com.intellij.concurrency.JobUtil$3.call(JobUtil.java:131) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31) + at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70) + at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:113) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) +"ApplicationImpl pooled thread 0 [ReadAccessToken]": + at com.intellij.util.indexing.ChangeTrackingValueContainer.getMergedData(ChangeTrackingValueContainer.java:127) + - waiting to lock <7c9733fa0> (a com.intellij.util.indexing.ValueContainerMap) + at com.intellij.util.indexing.ChangeTrackingValueContainer.getValueIterator(ChangeTrackingValueContainer.java:98) + at com.intellij.util.indexing.FileBasedIndex.processValuesImpl(FileBasedIndex.java:887) + at com.intellij.util.indexing.FileBasedIndex.processValues(FileBasedIndex.java:860) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector$1.process(LibraryStyleInfoCollector.java:42) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector$1.process(LibraryStyleInfoCollector.java:39) + at com.intellij.util.indexing.MemoryIndexStorage$1.process(MemoryIndexStorage.java:118) + at com.intellij.util.io.PersistentEnumeratorBase.iterateData(PersistentEnumeratorBase.java:373) + - locked <7c8fd4558> (a com.intellij.util.io.PagedFileStorage$StorageLock) + at com.intellij.util.io.PersistentHashMap.processKeys(PersistentHashMap.java:318) + - locked <7c9734008> (a com.intellij.util.io.PersistentBTreeEnumerator) + at com.intellij.util.indexing.MapIndexStorage.processKeys(MapIndexStorage.java:173) + at com.intellij.util.indexing.MemoryIndexStorage.processKeys(MemoryIndexStorage.java:126) + at com.intellij.util.indexing.MapReduceIndex.processAllKeys(MapReduceIndex.java:164) + at com.intellij.util.indexing.FileBasedIndex.processAllKeys(FileBasedIndex.java:688) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector.collectInherited(LibraryStyleInfoCollector.java:39) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector.consume(LibraryStyleInfoCollector.java:73) + at com.intellij.flex.uiDesigner.libraries.LibraryStyleInfoCollector.consume(LibraryStyleInfoCollector.java:19) + at com.intellij.flex.uiDesigner.libraries.LibraryManager.createOriginalLibrary(LibraryManager.java:268) + at com.intellij.flex.uiDesigner.libraries.LibraryCollector.addLibrary(LibraryCollector.java:243) + at com.intellij.flex.uiDesigner.libraries.LibraryCollector.collectFromSdkOrderEntry(LibraryCollector.java:223) + at com.intellij.flex.uiDesigner.libraries.LibraryCollector.collect(LibraryCollector.java:138) + at com.intellij.flex.uiDesigner.libraries.LibraryManager.initLibrarySets(LibraryManager.java:95) + at com.intellij.flex.uiDesigner.DesignerApplicationLauncher$7.call(DesignerApplicationLauncher.java:376) + at com.intellij.flex.uiDesigner.DesignerApplicationLauncher$7.call(DesignerApplicationLauncher.java:364) + at com.intellij.openapi.application.impl.ApplicationImpl$7.call(ApplicationImpl.java:441) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:680) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:137) + +Found 1 deadlock. + diff --git a/java/java-tests/testData/unscramble/threaddump.txt b/java/java-tests/testData/unscramble/threaddump.txt new file mode 100644 index 000000000000..38b2f6cd98d1 --- /dev/null +++ b/java/java-tests/testData/unscramble/threaddump.txt @@ -0,0 +1,485 @@ +2010-08-06 14:12:30 +Full thread dump Java HotSpot(TM) Client VM (14.3-b01 mixed mode): + +"Alarm pool(own)" prio=4 tid=0x366df000 nid=0x118 waiting on condition [0x357ef000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x0f307a88> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"Alarm pool(own)" prio=4 tid=0x36659800 nid=0xd90 waiting on condition [0x3597f000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x0eacca98> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"Alarm pool(own)" prio=4 tid=0x36493400 nid=0x968 waiting on condition [0x36eff000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05a52698> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"Alarm pool(own)" prio=4 tid=0x361b2400 nid=0x5cc waiting on condition [0x35cbf000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05a52ab0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"SimpleTimer" daemon prio=2 tid=0x34bf6400 nid=0x928 in Object.wait() [0x3579f000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + at java.lang.Object.wait(Object.java:485) + at java.util.TimerThread.mainLoop(Timer.java:483) + - locked <0x07c96db0> (a java.util.TaskQueue) + at java.util.TimerThread.run(Timer.java:462) + +"Swing-Shell" daemon prio=6 tid=0x36377400 nid=0xbe8 waiting on condition [0x384cf000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x06fda8c0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Win32ShellFolderManager2.java:458) + at java.lang.Thread.run(Thread.java:619) + +"JobScheduler pool 0/1" prio=6 tid=0x34abe000 nid=0xb2c waiting on condition [0x3847f000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x06f32b38> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) + at java.util.concurrent.PriorityBlockingQueue.take(PriorityBlockingQueue.java:220) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"ApplicationImpl pooled thread" prio=4 tid=0x34b3ac00 nid=0x8a8 waiting on condition [0x3842f000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05337e08> (a java.util.concurrent.SynchronousQueue$TransferStack) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) + at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) + at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:125) + +"ApplicationImpl pooled thread" prio=4 tid=0x36481000 nid=0x8a0 waiting on condition [0x383df000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05337e08> (a java.util.concurrent.SynchronousQueue$TransferStack) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) + at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) + at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:125) + +"Change List Updater" prio=2 tid=0x34447c00 nid=0x900 waiting on condition [0x36fff000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x06381570> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) + at java.util.concurrent.DelayQueue.take(DelayQueue.java:160) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"Timer-0" daemon prio=6 tid=0x34be7400 nid=0x8fc in Object.wait() [0x36faf000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <0x06eb0558> (a java.util.TaskQueue) + at java.lang.Object.wait(Object.java:485) + at java.util.TimerThread.mainLoop(Timer.java:483) + - locked <0x06eb0558> (a java.util.TaskQueue) + at java.util.TimerThread.run(Timer.java:462) + +"ApplicationImpl pooled thread" prio=4 tid=0x361b5c00 nid=0x878 waiting on condition [0x35c6f000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05337e08> (a java.util.concurrent.SynchronousQueue$TransferStack) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) + at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) + at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:125) + +"Alarm pool(own)" prio=4 tid=0x3600cc00 nid=0x89c waiting on condition [0x36eaf000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05a52dd8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"ApplicationImpl pooled thread" prio=4 tid=0x34e45000 nid=0x8ac waiting on condition [0x36e5f000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05337e08> (a java.util.concurrent.SynchronousQueue$TransferStack) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) + at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) + at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:125) + +"Progress Cancel Checker" prio=10 tid=0x34e55400 nid=0xa1c waiting on condition [0x35e2f000] + java.lang.Thread.State: TIMED_WAITING (sleeping) + at java.lang.Thread.sleep(Native Method) + at com.intellij.openapi.progress.impl.ProgressManagerImpl$1.run(ProgressManagerImpl.java:62) + +"ApplicationImpl pooled thread" prio=4 tid=0x34ce1400 nid=0x9dc waiting on condition [0x35ddf000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05337e08> (a java.util.concurrent.SynchronousQueue$TransferStack) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) + at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) + at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:125) + +"Alarm pool(shared)" prio=4 tid=0x34e52800 nid=0x8e8 waiting on condition [0x35d0f000] + java.lang.Thread.State: WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05332d60> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1925) + at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"TimerQueue" daemon prio=6 tid=0x34e3f800 nid=0x948 in Object.wait() [0x3574f000] + java.lang.Thread.State: TIMED_WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + at javax.swing.TimerQueue.run(TimerQueue.java:232) + - locked <0x05e08120> (a javax.swing.TimerQueue) + at java.lang.Thread.run(Thread.java:619) + +"Exe4JStartupThread" daemon prio=6 tid=0x34ab9800 nid=0x4f0 waiting on condition [0x356ef000] + java.lang.Thread.State: TIMED_WAITING (sleeping) + at java.lang.Thread.sleep(Native Method) + at com.exe4j.Controller$StartupThread.run(Unknown Source) + +"FS Synchronizer" prio=6 tid=0x34e48400 nid=0xf64 waiting for monitor entry [0x3569f000] + java.lang.Thread.State: BLOCKED (on object monitor) + at com.intellij.openapi.vfs.impl.local.FileWatcher.getDirtyPaths(FileWatcher.java:114) + - waiting to lock <0x0595ae40> (a java.lang.Object) + at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl.b(LocalFileSystemImpl.java:189) + at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl.markSuspicousFilesDirty(LocalFileSystemImpl.java:230) + at com.intellij.openapi.vfs.newvfs.RefreshSessionImpl.scan(RefreshSessionImpl.java:86) + at com.intellij.openapi.vfs.newvfs.RefreshQueueImpl$1.run(RefreshQueueImpl.java:74) + at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) + at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) + at java.util.concurrent.FutureTask.run(FutureTask.java:138) + at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) + at java.lang.Thread.run(Thread.java:619) + +"XML-RPC Weblistener" prio=4 tid=0x34c0e400 nid=0x8dc runnable [0x35fdf000] + java.lang.Thread.State: RUNNABLE + at java.net.PlainSocketImpl.socketAccept(Native Method) + at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390) + - locked <0x05a73d90> (a java.net.SocksSocketImpl) + at java.net.ServerSocket.implAccept(ServerSocket.java:453) + at java.net.ServerSocket.accept(ServerSocket.java:421) + at org.apache.xmlrpc.WebServer.run(WebServer.java:453) + at java.lang.Thread.run(Thread.java:619) + +"Performance watcher" prio=2 tid=0x34d0c400 nid=0x8cc waiting on condition [0x35f8f000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05a73eb8> (a java.util.concurrent.Semaphore$NonfairSync) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedNanos(AbstractQueuedSynchronizer.java:947) + at java.util.concurrent.locks.AbstractQueuedSynchronizer.tryAcquireSharedNanos(AbstractQueuedSynchronizer.java:1239) + at java.util.concurrent.Semaphore.tryAcquire(Semaphore.java:383) + at com.intellij.diagnostic.PerformanceWatcher.c(PerformanceWatcher.java:158) + at com.intellij.diagnostic.PerformanceWatcher.access$100(PerformanceWatcher.java:42) + at com.intellij.diagnostic.PerformanceWatcher$2.run(PerformanceWatcher.java:116) + at java.lang.Thread.run(Thread.java:619) + +"ApplicationImpl pooled thread" prio=4 tid=0x34434400 nid=0x898 waiting on condition [0x35f3f000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05337e08> (a java.util.concurrent.SynchronousQueue$TransferStack) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:424) + at java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:323) + at java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:874) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:945) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + at com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:125) + +"StoreRefreshStatusThread" daemon prio=2 tid=0x34c1e400 nid=0x1dc waiting for monitor entry [0x353df000] + java.lang.Thread.State: BLOCKED (on object monitor) + at com.intellij.openapi.vfs.impl.local.FileWatcher.getDirtyPaths(FileWatcher.java:114) + - waiting to lock <0x0595ae40> (a java.lang.Object) + at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl.b(LocalFileSystemImpl.java:189) + at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl.access$200(LocalFileSystemImpl.java:43) + at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl$StoreRefreshStatusThread.run(LocalFileSystemImpl.java:297) + +"WatchForChangesThread" prio=6 tid=0x34a84800 nid=0x1c8 waiting for monitor entry [0x352bf000] + java.lang.Thread.State: BLOCKED (on object monitor) + at com.intellij.openapi.vfs.impl.local.FileWatcher.a(FileWatcher.java:185) + - waiting to lock <0x0595ae40> (a java.lang.Object) + at com.intellij.openapi.vfs.impl.local.FileWatcher.access$700(FileWatcher.java:49) + at com.intellij.openapi.vfs.impl.local.FileWatcher$WatchForChangesThread.run(FileWatcher.java:271) + +"AWT-EventQueue-1 9.0.3#IU-95.474, eap:false" prio=6 tid=0x34d52000 nid=0xc1c runnable [0x3547e000] + java.lang.Thread.State: RUNNABLE + at java.io.FileOutputStream.writeBytes(Native Method) + at java.io.FileOutputStream.write(FileOutputStream.java:260) + at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) + at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) + - locked <0x059661a8> (a java.io.BufferedOutputStream) + at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:278) + at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122) + - locked <0x059661d0> (a java.io.OutputStreamWriter) + at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212) + at java.io.BufferedWriter.flush(BufferedWriter.java:236) + - locked <0x059661d0> (a java.io.OutputStreamWriter) + at com.intellij.openapi.vfs.impl.local.FileWatcher.b(FileWatcher.java:344) + at com.intellij.openapi.vfs.impl.local.FileWatcher.setWatchRoots(FileWatcher.java:159) + - locked <0x0595ae40> (a java.lang.Object) + at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl$2.run(LocalFileSystemImpl.java:272) + at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:697) + at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl.c(LocalFileSystemImpl.java:255) + at com.intellij.openapi.vfs.impl.local.LocalFileSystemImpl.removeWatchedRoots(LocalFileSystemImpl.java:402) + at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.d(ProjectRootManagerImpl.java:669) + at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.c(ProjectRootManagerImpl.java:542) + at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.access$100(ProjectRootManagerImpl.java:70) + at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$BatchSession.fireChange(ProjectRootManagerImpl.java:135) + at com.intellij.openapi.roots.impl.ProjectRootManagerImpl$BatchSession.rootsChanged(ProjectRootManagerImpl.java:148) + at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.makeRootsChange(ProjectRootManagerImpl.java:469) + at com.intellij.openapi.module.impl.ModuleManagerImpl.a(ModuleManagerImpl.java:894) + at com.intellij.openapi.module.impl.ModuleManagerImpl.access$2000(ModuleManagerImpl.java:73) + at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.commitWithRunnable(ModuleManagerImpl.java:800) + at com.intellij.openapi.module.impl.ModuleManagerImpl.commitModelWithRunnable(ModuleManagerImpl.java:567) + at com.intellij.openapi.roots.impl.ModuleRootManagerImpl.multiCommit(ModuleRootManagerImpl.java:304) + at com.intellij.openapi.roots.impl.ProjectRootManagerImpl.multiCommit(ProjectRootManagerImpl.java:242) + at com.intellij.openapi.module.impl.ModuleManagerImpl$ModuleModelImpl.commit(ModuleManagerImpl.java:796) + at com.intellij.ide.util.projectWizard.ModuleBuilder.createAndCommitIfNeeded(ModuleBuilder.java:152) + at com.intellij.ide.util.projectWizard.ModuleBuilder$2.compute(ModuleBuilder.java:202) + at com.intellij.ide.util.projectWizard.ModuleBuilder$2.compute(ModuleBuilder.java:199) + at com.intellij.openapi.application.impl.ApplicationImpl$11.run(ApplicationImpl.java:774) + at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:754) + at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:772) + at com.intellij.ide.util.projectWizard.ModuleBuilder.commitModule(ModuleBuilder.java:199) + at com.intellij.ide.util.projectWizard.ModuleBuilder.commit(ModuleBuilder.java:186) + at com.intellij.ide.impl.NewProjectUtil.createNewProject(NewProjectUtil.java:135) + at com.intellij.ide.actions.NewProjectAction.actionPerformed(NewProjectAction.java:29) + at com.intellij.openapi.wm.impl.welcomeScreen.WelcomeScreen$ActionGroupDescriptor$3.onPress(WelcomeScreen.java:215) + at com.intellij.openapi.wm.impl.welcomeScreen.WelcomeScreen$ButtonWithExtension.onPress(WelcomeScreen.java:829) + at com.intellij.openapi.wm.impl.welcomeScreen.WelcomeScreen$ActionGroupDescriptor$2.mouseClicked(WelcomeScreen.java:151) + at java.awt.Component.processMouseEvent(Component.java:6266) + at javax.swing.JComponent.processMouseEvent(JComponent.java:3255) + at java.awt.Component.processEvent(Component.java:6028) + at java.awt.Container.processEvent(Container.java:2041) + at java.awt.Component.dispatchEventImpl(Component.java:4630) + at java.awt.Container.dispatchEventImpl(Container.java:2099) + at java.awt.Component.dispatchEvent(Component.java:4460) + at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574) + at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4247) + at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168) + at java.awt.Container.dispatchEventImpl(Container.java:2085) + at java.awt.Window.dispatchEventImpl(Window.java:2475) + at java.awt.Component.dispatchEvent(Component.java:4460) + at java.awt.EventQueue.dispatchEvent(EventQueue.java:599) + at com.intellij.ide.IdeEventQueue.f(IdeEventQueue.java:627) + at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:504) + at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:405) + at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:369) + at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) + at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) + at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) + at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) + at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) + at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) + +"timed reference disposer" prio=2 tid=0x34447400 nid=0xe18 waiting on condition [0x3538f000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05605ef0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963) + at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"Periodic tasks thread" prio=6 tid=0x34438400 nid=0x95c waiting on condition [0x349cf000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x05327fc0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963) + at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"AWT-Shutdown" prio=6 tid=0x343e0c00 nid=0xce8 in Object.wait() [0x3526f000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + at java.lang.Object.wait(Object.java:485) + at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259) + - locked <0x052c79c0> (a java.lang.Object) + at java.lang.Thread.run(Thread.java:619) + +"SocketListenerThread" prio=2 tid=0x348df400 nid=0xcdc runnable [0x3521f000] + java.lang.Thread.State: RUNNABLE + at java.net.PlainDatagramSocketImpl.receive0(Native Method) + - locked <0x052ca190> (a java.net.PlainDatagramSocketImpl) + at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136) + - locked <0x052ca190> (a java.net.PlainDatagramSocketImpl) + at java.net.DatagramSocket.receive(DatagramSocket.java:712) + - locked <0x052ca1d0> (a java.net.DatagramPacket) + - locked <0x052ca1f0> (a java.net.MulticastSocket) + at com.intellij.a.e.a.e.a(e.java:57) + at com.intellij.a.e.a.f.run(f.java:25) + +"SocketListenerThread" prio=2 tid=0x34783800 nid=0xcd8 runnable [0x351cf000] + java.lang.Thread.State: RUNNABLE + at java.net.PlainDatagramSocketImpl.receive0(Native Method) + - locked <0x052cc9e0> (a java.net.PlainDatagramSocketImpl) + at java.net.PlainDatagramSocketImpl.receive(PlainDatagramSocketImpl.java:136) + - locked <0x052cc9e0> (a java.net.PlainDatagramSocketImpl) + at java.net.DatagramSocket.receive(DatagramSocket.java:712) + - locked <0x052cca20> (a java.net.DatagramPacket) + - locked <0x052cca40> (a java.net.DatagramSocket) + at com.intellij.a.e.a.e.a(e.java:57) + at com.intellij.a.e.a.f.run(f.java:25) + +"MessageDeliveryThread" prio=6 tid=0x34793400 nid=0xcd4 in Object.wait() [0x3517f000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + - waiting on <0x052ccaf0> (a java.lang.Object) + at java.lang.Object.wait(Object.java:485) + at com.intellij.a.e.i.run(i.java:26) + - locked <0x052ccaf0> (a java.lang.Object) + +"AWT-Windows" daemon prio=6 tid=0x34424800 nid=0xb88 runnable [0x34f9f000] + java.lang.Thread.State: RUNNABLE + at sun.awt.windows.WToolkit.eventLoop(Native Method) + at sun.awt.windows.WToolkit.run(WToolkit.java:291) + at java.lang.Thread.run(Thread.java:619) + +"Java2D Disposer" daemon prio=10 tid=0x348e4400 nid=0xb68 in Object.wait() [0x34eff000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) + - locked <0x052ccbc8> (a java.lang.ref.ReferenceQueue$Lock) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) + at sun.java2d.Disposer.run(Disposer.java:125) + at java.lang.Thread.run(Thread.java:619) + +"Lock thread" prio=2 tid=0x34875400 nid=0x780 runnable [0x34a1f000] + java.lang.Thread.State: RUNNABLE + at java.net.PlainSocketImpl.socketAccept(Native Method) + at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390) + - locked <0x0523cc30> (a java.net.SocksSocketImpl) + at java.net.ServerSocket.implAccept(ServerSocket.java:453) + at java.net.ServerSocket.accept(ServerSocket.java:421) + at com.intellij.idea.SocketLock$MyRunnable.run(SocketLock.java:191) + at java.lang.Thread.run(Thread.java:619) + +"timed reference disposer" prio=2 tid=0x3476e400 nid=0xac4 waiting on condition [0x3497f000] + java.lang.Thread.State: TIMED_WAITING (parking) + at sun.misc.Unsafe.park(Native Method) + - parking to wait for <0x051e5ee8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) + at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:198) + at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1963) + at java.util.concurrent.DelayQueue.take(DelayQueue.java:164) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:583) + at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:576) + at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:947) + at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) + at java.lang.Thread.run(Thread.java:619) + +"Exe4JStartupThread" daemon prio=6 tid=0x34420800 nid=0xac0 waiting on condition [0x3472f000] + java.lang.Thread.State: TIMED_WAITING (sleeping) + at java.lang.Thread.sleep(Native Method) + at com.exe4j.Controller$StartupThread.run(Unknown Source) + +"Low Memory Detector" daemon prio=6 tid=0x343f2400 nid=0xa9c runnable [0x00000000] + java.lang.Thread.State: RUNNABLE + +"CompilerThread0" daemon prio=10 tid=0x343ec000 nid=0xa98 waiting on condition [0x00000000] + java.lang.Thread.State: RUNNABLE + +"Attach Listener" daemon prio=10 tid=0x343ea800 nid=0xa94 waiting on condition [0x00000000] + java.lang.Thread.State: RUNNABLE + +"Signal Dispatcher" daemon prio=10 tid=0x343e9400 nid=0xa90 runnable [0x00000000] + java.lang.Thread.State: RUNNABLE + +"Finalizer" daemon prio=8 tid=0x343da000 nid=0xa78 in Object.wait() [0x3454f000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) + - locked <0x051c0478> (a java.lang.ref.ReferenceQueue$Lock) + at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134) + at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159) + +"Reference Handler" daemon prio=10 tid=0x343d5400 nid=0xa74 in Object.wait() [0x344ff000] + java.lang.Thread.State: WAITING (on object monitor) + at java.lang.Object.wait(Native Method) + at java.lang.Object.wait(Object.java:485) + at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116) + - locked <0x051c00a8> (a java.lang.ref.Reference$Lock) + +"main" prio=6 tid=0x003c7c00 nid=0x944 waiting on condition [0x00000000] + java.lang.Thread.State: RUNNABLE + +"VM Thread" prio=10 tid=0x343d1400 nid=0xa70 runnable + +"VM Periodic Task Thread" prio=10 tid=0x3440dc00 nid=0xabc waiting on condition + +JNI global references: 2764 \ No newline at end of file diff --git a/java/java-tests/testSrc/com/intellij/unscramble/UnscrambleDialogTest.java b/java/java-tests/testSrc/com/intellij/unscramble/UnscrambleDialogTest.java new file mode 100644 index 000000000000..e49823ecdd76 --- /dev/null +++ b/java/java-tests/testSrc/com/intellij/unscramble/UnscrambleDialogTest.java @@ -0,0 +1,79 @@ +/* + * Copyright 2000-2012 JetBrains s.r.o. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.intellij.unscramble; + +import com.intellij.JavaTestUtil; +import com.intellij.execution.ui.RunContentDescriptor; +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.testFramework.fixtures.JavaCodeInsightFixtureTestCase; + +import javax.swing.*; +import java.io.File; + +/** + * @author Dmitry Avdeev + * Date: 4/9/12 + */ +public class UnscrambleDialogTest extends JavaCodeInsightFixtureTestCase { + + public void testStacktrace() throws Exception { + RunContentDescriptor content = showText(""); + Icon icon = content.getIcon(); + String name = content.getDisplayName(); + assertEquals(null, icon); + assertEquals("", name); + } + + public void testException() throws Exception { + RunContentDescriptor content = showText("java.lang.NullPointerException\n" + + "\tat com.intellij.psi.css.resolve.impl.XhtmlFileInfo.findOneStyleSheet(XhtmlFileInfo.java:291)\n" + + "\tat com.intellij.psi.css.resolve.impl.XhtmlFileInfo.getStylesheets(XhtmlFileInfo.java:174)\n" + + "\tat com.intellij.psi.css.resolve.impl.XhtmlFileInfo.initStylesheets(XhtmlFileInfo.java:119)"); + assertIcon("exception.png", content.getIcon()); + assertEquals("NPE", content.getDisplayName()); + } + + public void testThreadDump() throws Exception { + File file = new File(getTestDataPath() + "threaddump.txt"); + String s = FileUtil.loadFile(file); + RunContentDescriptor content = showText(s); + assertIcon("threaddump.png", content.getIcon()); + assertEquals("", content.getDisplayName()); + } + + public void testDeadlock() throws Exception { + File file = new File(getTestDataPath() + "deadlock.txt"); + String s = FileUtil.loadFile(file); + RunContentDescriptor content = showText(s); + assertIcon("killProcess.png", content.getIcon()); + assertEquals("", content.getDisplayName()); + } + + private RunContentDescriptor showText(String unscramble) { + RunContentDescriptor descriptor = UnscrambleDialog.showUnscrambledText(null, "foo", getProject(), unscramble); + assertNotNull(descriptor); + return descriptor; + } + + private static void assertIcon(String s, Icon icon) { + assertTrue(icon.toString().contains(s)); + } + + @Override + protected String getBasePath() { + return JavaTestUtil.getRelativeJavaTestDataPath() + "/unscramble/"; + } +} diff --git a/platform/icons/src/debugger/threadStates/exception.png b/platform/icons/src/debugger/threadStates/exception.png new file mode 100644 index 0000000000000000000000000000000000000000..86fb98603273788db0c7f5e0a9b0f21c9e2cd088 GIT binary patch literal 708 zcmV;#0z3VQP)c~Wr0Nm(L;&3@<}MlX%B^9B}JC>IHBml$g=-?7>phQW%y8`QZ&ho zY|{O<>)MBPYuBjfCk|KQu`f`XzXax? z_k3%{nNiOoPQOI*ssq!}5Ec?F!`e3JY%Roph@gI$<~GrNX#j)}RN1X)+g%3!`9*|7 zAqblqP+sSPxvCaZW1lE5t&qW$u2yI{f+8-C_?>3V2VcX`a0bQBJt(TE0jD#7$Rhd4 zv-%h$s|OUFmpy1d-iY#NM-X`*KvD$a-ah*qkZMfB&PhBvCdpf@*6aB10XRo&5q+ zWj*%xJi&$jNAnfB6h@QX1Bq>p!pasFvMIy@_b}>z0c%qS13!ht88I^(5el>`G|^UK zP<4(?VwI7@V9Qa|T^qsriY qHRidMkY)Psby`dR&i_k)1sDLfOBD*dtUSR00000c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxKsVXI%uvD1M9IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr4|esh*)icxGNo zet9uiy|1s8XI^nhVqS8pr;Du;&;-5A%oHmFBV#8cV>2UjH)9h+LsvsbAk)Is(AmPp z+0D@0zzC+-B|o_|H#M&WrZ)wl*BGZ>P*TV(0NU)5T9jFqn&MWJpQ`}&vQ;K-w;13w z52`l>w_6Nx>eUB2MjsThND&Pa0;V1i6P|2=9C*S{%>$I{O1Qg*PValc4GsD5U{>f?6;RVP36Z*w*~-n_hoN#VF)##Jqz{u>AF&#z~j9v7Way+P%|!+nVh zP8QF4J0Vw9xL{7=!jQ}fXN3!F6nrz^nkZPF;Cjj=`f};d$u18z@>jmQvUUEEFRzTs ziWzz0-Y}jQNBNZAuGiePO>q9-{KBt6`Y-A} z*evA#duT)88dk&ht&+*Y{a34PXT);q?Fwl#vz;Gx{N_5pCoVN!2b|BW)ji9~*tH~3 zJ1{M2wbG;2v#JdiTQ8AI-CaHLxYjf}SP1rM_iTCoYKmKdb?&LCL%D~pOgT2?db{pUS^51(we><3@2*x6 zu=(+!^lYl}(=Xf)vn+nieeue&EBIN|#D?YF9!fL3Hq3vpecQe7ALb^xef@i5#oW}w zh*BB*W%XjV3coqt-P<&kJ7)#&xi-c;h2*YBwJP1OeZ<$5Y`)=T-f>(lXu_k;5P=X+ zxh4KbUMJNEEj*_1%-K8P$tEQ`FQryNkD0ov{AJ>j*Vh@Y&+pl`==>q4^~nK?Cr"); - consoleView.allowHeavyFilters(); - AnalyzeStacktraceUtil.printStacktrace(consoleView, myEditorPanel.getText()); + AnalyzeStacktraceUtil.addConsole(myProject, null, "", myEditorPanel.getText()); super.doOKAction(); } diff --git a/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceOnErrorAction.java b/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceOnErrorAction.java index c78d56646833..64531553b5c0 100644 --- a/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceOnErrorAction.java +++ b/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceOnErrorAction.java @@ -17,7 +17,6 @@ package com.intellij.unscramble; import com.intellij.diagnostic.IdeErrorsDialog; -import com.intellij.execution.ui.ConsoleView; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.DataContext; @@ -37,9 +36,7 @@ public class AnalyzeStacktraceOnErrorAction extends AnAction { final String message = IdeErrorsDialog.CURRENT_TRACE_KEY.getData(dataContext); if (message != null) { - final ConsoleView consoleView = AnalyzeStacktraceUtil.addConsole(project, null, ""); - consoleView.allowHeavyFilters(); - AnalyzeStacktraceUtil.printStacktrace(consoleView, message); + AnalyzeStacktraceUtil.addConsole(project, null, "", message); } } } \ No newline at end of file diff --git a/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceUtil.java b/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceUtil.java index 553f9fc524ad..a094599f2c14 100644 --- a/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceUtil.java +++ b/platform/lang-impl/src/com/intellij/unscramble/AnalyzeStacktraceUtil.java @@ -82,7 +82,15 @@ public class AnalyzeStacktraceUtil { JComponent createConsoleComponent(ConsoleView consoleView, DefaultActionGroup toolbarActions); } - public static ConsoleView addConsole(Project project, @Nullable ConsoleFactory consoleFactory, final String tabTitle) { + public static void addConsole(Project project, @Nullable ConsoleFactory consoleFactory, final String tabTitle, String text) { + addConsole(project, consoleFactory, tabTitle, text, null); + } + + public static RunContentDescriptor addConsole(Project project, + @Nullable ConsoleFactory consoleFactory, + final String tabTitle, + String text, + @Nullable Icon icon) { final TextConsoleBuilder builder = TextConsoleBuilderFactory.getInstance().createBuilder(project); for(Filter filter: Extensions.getExtensions(EP_NAME, project)) { builder.addFilter(filter); @@ -94,7 +102,7 @@ public class AnalyzeStacktraceUtil { ? consoleFactory.createConsoleComponent(consoleView, toolbarActions) : new MyConsolePanel(consoleView, toolbarActions); final RunContentDescriptor descriptor = - new RunContentDescriptor(consoleView, null, consoleComponent, tabTitle) { + new RunContentDescriptor(consoleView, null, consoleComponent, tabTitle, icon) { public boolean isContentReuseProhibited() { return true; } @@ -106,7 +114,9 @@ public class AnalyzeStacktraceUtil { toolbarActions.add(action); } ExecutionManager.getInstance(project).getContentManager().showRunContent(executor, descriptor); - return consoleView; + consoleView.allowHeavyFilters(); + printStacktrace(consoleView, text); + return descriptor; } private static final class MyConsolePanel extends JPanel { diff --git a/platform/platform-resources-en/src/messages/IdeBundle.properties b/platform/platform-resources-en/src/messages/IdeBundle.properties index 385e6447be7d..f021f1c46b61 100644 --- a/platform/platform-resources-en/src/messages/IdeBundle.properties +++ b/platform/platform-resources-en/src/messages/IdeBundle.properties @@ -857,7 +857,9 @@ unscramble.stacktrace.caption=Put a stack trace or a complete thread dump here: unscramble.dialog.title=Analyze Stacktrace unscramble.no.unscrambler.item= unscramble.normalize.button=&Normalize -unscramble.unscrambled.stacktrace.tab= +unscramble.unscrambled.stacktrace.tab= +unscramble.unscrambled.threaddump.tab= +unscramble.unscrambled.deadlock.tab= updates.info.dialog.title=Update Info updates.no.updates.message=

You are using the latest version of $FULLNAME$.

diff --git a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/AnalyzeTaskStacktraceAction.java b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/AnalyzeTaskStacktraceAction.java index 0d7953954ee0..b6313593220b 100644 --- a/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/AnalyzeTaskStacktraceAction.java +++ b/plugins/tasks/tasks-core/src/com/intellij/tasks/actions/AnalyzeTaskStacktraceAction.java @@ -16,7 +16,6 @@ package com.intellij.tasks.actions; -import com.intellij.execution.ui.ConsoleView; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.project.Project; import com.intellij.tasks.Comment; @@ -49,9 +48,7 @@ public class AnalyzeTaskStacktraceAction extends BaseTaskAction { if (stacktraceDialog.isOK() && stacktraceDialog.getTraces().length > 0) { Comment[] comments = stacktraceDialog.getTraces(); for (Comment comment : comments) { - ConsoleView consoleView = AnalyzeStacktraceUtil.addConsole(project, null, task.getId()); - consoleView.allowHeavyFilters(); - AnalyzeStacktraceUtil.printStacktrace(consoleView, comment.getText()); + AnalyzeStacktraceUtil.addConsole(project, null, task.getId(), comment.getText()); } } }