New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deadlock in plugin #4
Comments
Could you give any hints how to reproduce this? I've never encountered this and the stacktrace doesn't tell me much.. |
It happened on startup immediately after installing the plugin. How familiar are you with diagnosing deadlocks? The information in the anders On Jun 10, 2012, at 5:23, Michal Jedynak
|
Happened to me too. On startup while opening a second project. |
I wasn't able to reproduce the issue, but in version 1.0.7 I changed the creation of cell renderer object that was in a blocked state. I hope it solves the issue. |
It is quite rare but it still happens. IJ 135.760, plugin 1.0.9
|
Java-level deadlock has been detected
This means that some threads are blocked waiting to enter a synchronization block or
waiting to reenter a synchronization block after an Object.wait() call, where each thread
owns one monitor while trying to obtain another monitor already held by another thread.
Deadlock:
ApplicationImpl pooled thread 0 is waiting to lock java.awt.Component$AWTTreeLock@1caee107 which is held by AWT-EventQueue-0 11.1.3#IU-117.499, eap:true
AWT-EventQueue-0 11.1.3#IU-117.499, eap:true is waiting to lock java.lang.Object@1d37a147 which is held by ApplicationImpl pooled thread 0
Thread stacks
ApplicationImpl pooled thread 0 [BLOCKED; waiting to lock java.awt.Component$AWTTreeLock@1caee107]
java.awt.Component.setFont(Component.java:1874)
java.awt.Container.setFont(Container.java:1743)
javax.swing.JComponent.setFont(JComponent.java:2751)
javax.swing.LookAndFeel.installColorsAndFont(LookAndFeel.java:208)
javax.swing.plaf.basic.BasicLabelUI.installDefaults(BasicLabelUI.java:339)
javax.swing.plaf.basic.BasicLabelUI.installUI(BasicLabelUI.java:324)
javax.swing.JComponent.setUI(JComponent.java:664)
javax.swing.JLabel.setUI(JLabel.java:260)
javax.swing.JLabel.updateUI(JLabel.java:274)
javax.swing.JLabel.(JLabel.java:163)
javax.swing.JLabel.(JLabel.java:234)
javax.swing.DefaultListCellRenderer.(DefaultListCellRenderer.java:92)
pl.mjedynak.idea.plugins.builder.renderer.ActionCellRenderer.(ActionCellRenderer.java:9)
pl.mjedynak.idea.plugins.builder.factory.impl.PopupListFactoryImpl.(PopupListFactoryImpl.java:13)
sun.reflect.NativeConstructorAccessorImpl.newInstance0(native method)
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
java.lang.reflect.Constructor.newInstance(Constructor.java:525)
org.picocontainer.defaults.InstantiatingComponentAdapter.newInstance(InstantiatingComponentAdapter.java:193)
org.picocontainer.defaults.ConstructorInjectionComponentAdapter$1.run(ConstructorInjectionComponentAdapter.java:220)
org.picocontainer.defaults.ThreadLocalCyclicDependencyGuard.observe(ThreadLocalCyclicDependencyGuard.java:53)
org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getComponentInstance(ConstructorInjectionComponentAdapter.java:248)
org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:60)
org.picocontainer.defaults.CachingComponentAdapter.getComponentInstance(CachingComponentAdapter.java:58)
org.picocontainer.defaults.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:395)
org.picocontainer.defaults.DefaultPicoContainer.getComponentInstance(DefaultPicoContainer.java:375)
org.picocontainer.defaults.BasicComponentParameter.resolveInstance(BasicComponentParameter.java:77)
org.picocontainer.defaults.ComponentParameter.resolveInstance(ComponentParameter.java:114)
org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getConstructorArguments(ConstructorInjectionComponentAdapter.java:257)
org.picocontainer.defaults.ConstructorInjectionComponentAdapter$1.run(ConstructorInjectionComponentAdapter.java:217)
org.picocontainer.defaults.ThreadLocalCyclicDependencyGuard.observe(ThreadLocalCyclicDependencyGuard.java:53)
org.picocontainer.defaults.ConstructorInjectionComponentAdapter.getComponentInstance(ConstructorInjectionComponentAdapter.java:248)
org.picocontainer.defaults.DecoratingComponentAdapter.getComponentInstance(DecoratingComponentAdapter.java:60)
org.picocontainer.defaults.CachingComponentAdapter.getComponentInstance(CachingComponentAdapter.java:58)
org.picocontainer.defaults.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:395)
org.picocontainer.defaults.DefaultPicoContainer.getComponentInstanceOfType(DefaultPicoContainer.java:383)
pl.mjedynak.idea.plugins.builder.action.GoToBuilderAction.(GoToBuilderAction.java:57)
java.lang.Class.forName0(native method)
java.lang.Class.forName(Class.java:264)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:242)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:220)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getAction(ActionManagerImpl.java:213)
com.intellij.openapi.actionSystem.DefaultActionGroup.unstub(DefaultActionGroup.java:261)
com.intellij.openapi.actionSystem.DefaultActionGroup.getChildren(DefaultActionGroup.java:240)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl$5.compute(ActionManagerImpl.java:1143)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl$5.compute(ActionManagerImpl.java:1137)
com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:892)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:1137)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:1151)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:1151)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.preloadActionGroup(ActionManagerImpl.java:1131)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.d(ActionManagerImpl.java:1120)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.access$200(ActionManagerImpl.java:66)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl$4.run(ActionManagerImpl.java:1106)
com.intellij.openapi.application.impl.ApplicationImpl$6.run(ApplicationImpl.java:434)
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
java.util.concurrent.FutureTask.run(FutureTask.java:166)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
java.lang.Thread.run(Thread.java:722)
com.intellij.openapi.application.impl.ApplicationImpl$1$1.run(ApplicationImpl.java:145)
AWT-EventQueue-0 11.1.3#IU-117.499, eap:true [BLOCKED; waiting to lock java.lang.Object@1d37a147]
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.a(ActionManagerImpl.java:218)
com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getAction(ActionManagerImpl.java:213)
com.intellij.ide.navigationToolbar.NavBarRootPaneExtension.runToolbarExists(NavBarRootPaneExtension.java:79)
com.intellij.ide.navigationToolbar.NavBarBorder.getBorderInsets(NavBarBorder.java:50)
javax.swing.JComponent.getInsets(JComponent.java:1824)
javax.swing.JScrollPane.getViewportBorderBounds(JScrollPane.java:610)
javax.swing.plaf.basic.BasicScrollPaneUI.paint(BasicScrollPaneUI.java:105)
javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
javax.swing.JComponent.paintComponent(JComponent.java:778)
javax.swing.JComponent.paint(JComponent.java:1054)
javax.swing.JComponent.paintChildren(JComponent.java:887)
javax.swing.JComponent.paint(JComponent.java:1063)
javax.swing.JComponent.paintChildren(JComponent.java:887)
javax.swing.JComponent.paint(JComponent.java:1063)
javax.swing.JComponent.paintChildren(JComponent.java:887)
javax.swing.JComponent.paint(JComponent.java:1063)
javax.swing.JComponent.paintChildren(JComponent.java:887)
javax.swing.JComponent.paint(JComponent.java:1063)
javax.swing.JComponent.paintChildren(JComponent.java:887)
javax.swing.JComponent.paint(JComponent.java:1063)
javax.swing.JLayeredPane.paint(JLayeredPane.java:585)
javax.swing.JComponent.paintChildren(JComponent.java:887)
javax.swing.JComponent.paintToOffscreen(JComponent.java:5228)
javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1482)
javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1413)
javax.swing.RepaintManager.paint(RepaintManager.java:1206)
javax.swing.JComponent.paint(JComponent.java:1040)
java.awt.GraphicsCallback$PaintCallback.run(GraphicsCallback.java:39)
sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:78)
sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:115)
java.awt.Container.paint(Container.java:1967)
java.awt.Window.paint(Window.java:3877)
com.intellij.openapi.wm.impl.IdeFrameImpl.paint(IdeFrameImpl.java:427)
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:781)
javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:728)
javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:677)
javax.swing.RepaintManager.access$700(RepaintManager.java:59)
javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1621)
java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
java.awt.EventQueue.dispatchEventImpl(EventQueue.java:701)
java.awt.EventQueue.access$000(EventQueue.java:102)
java.awt.EventQueue$3.run(EventQueue.java:662)
java.awt.EventQueue$3.run(EventQueue.java:660)
java.security.AccessController.doPrivileged(native method)
java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
java.awt.EventQueue.dispatchEvent(EventQueue.java:671)
com.intellij.ide.IdeEventQueue.e(IdeEventQueue.java:699)
com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:538)
com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:420)
com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:378)
java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:244)
java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:163)
java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:147)
java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:139)
java.awt.EventDispatchThread.run(EventDispatchThread.java:97)
The text was updated successfully, but these errors were encountered: