Skip to content

Instantly share code, notes, and snippets.

@stacktracer
Last active January 2, 2016 00:49
Show Gist options
  • Save stacktracer/8226030 to your computer and use it in GitHub Desktop.
Save stacktracer/8226030 to your computer and use it in GitHub Desktop.
Glimpse 2 (JOGL 2) deadlock between event thread (which has the AWT lock) and render thread (which has the GlimpseLayout lock)
"main-Display-.x11_:0-1-EDT-1" daemon prio=10 tid=0x00007f740c084000 nid=0x5616 waiting on condition [0x00007f7405b12000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000006898883a8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
at com.metsci.glimpse.layout.GlimpseLayout.getTargetBounds(GlimpseLayout.java:464)
at com.metsci.glimpse.event.mouse.MouseWrapper.getContainingTargets(MouseWrapper.java:93)
at com.metsci.glimpse.event.mouse.MouseWrapper.getContainingTargets(MouseWrapper.java:70)
at com.metsci.glimpse.event.mouse.MouseWrapperImpl.mouseWheelMoved0(MouseWrapperImpl.java:216)
at com.metsci.glimpse.event.mouse.newt.MouseWrapperNewt.mouseWheelMoved(MouseWrapperNewt.java:197)
at jogamp.newt.WindowImpl.dispatchMouseEvent(WindowImpl.java:3117)
at jogamp.newt.WindowImpl.consumePointerEvent(WindowImpl.java:2966)
at jogamp.newt.WindowImpl.consumeEvent(WindowImpl.java:2340)
at jogamp.newt.WindowImpl.doEvent(WindowImpl.java:2282)
at jogamp.newt.WindowImpl.doPointerEvent(WindowImpl.java:2751)
at jogamp.newt.WindowImpl.doMouseEvent(WindowImpl.java:2412)
at jogamp.newt.driver.x11.WindowDriver.doMouseEvent(WindowDriver.java:335)
at jogamp.newt.WindowImpl.sendMouseEvent(WindowImpl.java:2380)
at jogamp.newt.driver.x11.DisplayDriver.DispatchMessages0(Native Method)
at jogamp.newt.driver.x11.DisplayDriver.dispatchMessagesNative(DisplayDriver.java:107)
at jogamp.newt.WindowImpl.waitForVisible(WindowImpl.java:3416)
at jogamp.newt.WindowImpl.waitForVisible(WindowImpl.java:3410)
at jogamp.newt.WindowImpl.createNative(WindowImpl.java:456)
at jogamp.newt.WindowImpl.setVisibleActionImpl(WindowImpl.java:923)
at jogamp.newt.WindowImpl$VisibleAction.run(WindowImpl.java:974)
at com.jogamp.common.util.RunnableTask.run(RunnableTask.java:112)
- locked <0x00000006c70a7bb8> (a java.lang.Object)
at jogamp.newt.DefaultEDTUtil$NEDT.run(DefaultEDTUtil.java:349)
Locked ownable synchronizers:
- <0x00000006917a2cb0> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
- <0x0000000691ebde80> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
- <0x00000006921ffee0> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
- <0x00000006c708c0d8> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
- <0x00000006c709d5c8> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
"main-FPSAWTAnimator-Timer0" prio=10 tid=0x00007f74888a2800 nid=0x5614 waiting on condition [0x00007f7427560000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x0000000691ebde80> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:834)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(AbstractQueuedSynchronizer.java:867)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:1197)
at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(ReentrantLock.java:214)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:290)
at sun.awt.SunToolkit.awtLock(SunToolkit.java:244)
at sun.awt.X11.XToolkit.getScreenResolution(XToolkit.java:1267)
at com.kitfox.svg.xml.XMLParseUtil.findDouble(XMLParseUtil.java:156)
- locked <0x0000000692271708> (a java.lang.Class for com.kitfox.svg.xml.XMLParseUtil)
at com.kitfox.svg.xml.StyleAttribute.getDoubleValue(StyleAttribute.java:98)
at com.kitfox.svg.ShapeElement.includeStrokeInBounds(ShapeElement.java:307)
at com.kitfox.svg.Line.getBoundingBox(Line.java:105)
at com.kitfox.svg.Group.calcBoundingBox(Group.java:261)
at com.kitfox.svg.Group.getBoundingBox(Group.java:240)
at com.kitfox.svg.Group.calcBoundingBox(Group.java:261)
at com.kitfox.svg.Group.getBoundingBox(Group.java:240)
at com.kitfox.svg.SVGRoot.getBoundingBox(SVGRoot.java:303)
at com.kitfox.svg.SVGRoot.prepareViewport(SVGRoot.java:196)
at com.kitfox.svg.SVGRoot.build(SVGRoot.java:181)
at com.kitfox.svg.SVGElement.loaderEndElement(SVGElement.java:380)
at com.kitfox.svg.SVGLoader.endElement(SVGLoader.java:224)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:606)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLNSDTDValidator.endNamespaceScope(XMLNSDTDValidator.java:266)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleEndElement(XMLDTDValidator.java:2005)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.endElement(XMLDTDValidator.java:879)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1786)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2951)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:116)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:511)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:846)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:775)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:123)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1210)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:569)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:459)
at com.kitfox.svg.SVGUniverse.loadSVG(SVGUniverse.java:450)
at com.metsci.util.charts.dnc.atlas.GeosymIcon.addToTextureAtlas(GeosymIcon.java:222)
at com.metsci.util.charts.dnc.DncPainter.prepareCoverageIcons(DncPainter.java:681)
at com.metsci.util.charts.dnc.DncPainter.paintTo(DncPainter.java:488)
at com.metsci.glimpse.painter.base.GlimpsePainter2D.paintTo(GlimpsePainter2D.java:63)
at com.metsci.glimpse.painter.base.GlimpsePainterImpl.paintTo(GlimpsePainterImpl.java:104)
at com.metsci.glimpse.layout.GlimpseLayoutDelegate.paintTo(GlimpseLayoutDelegate.java:170)
at com.metsci.glimpse.layout.GlimpseLayout.paintTo(GlimpseLayout.java:449)
at com.metsci.glimpse.layout.GlimpseLayoutDelegate.paintTo(GlimpseLayoutDelegate.java:170)
at com.metsci.glimpse.layout.GlimpseLayout.paintTo(GlimpseLayout.java:449)
at com.metsci.glimpse.canvas.NewtSwingGlimpseCanvas$1.display(NewtSwingGlimpseCanvas.java:155)
at jogamp.opengl.GLDrawableHelper.displayImpl(GLDrawableHelper.java:649)
- locked <0x00000006917c2d78> (a java.lang.Object)
at jogamp.opengl.GLDrawableHelper.display(GLDrawableHelper.java:633)
at jogamp.opengl.GLAutoDrawableBase$2.run(GLAutoDrawableBase.java:399)
at jogamp.opengl.GLDrawableHelper.invokeGLImpl(GLDrawableHelper.java:1103)
at jogamp.opengl.GLDrawableHelper.invokeGL(GLDrawableHelper.java:978)
at com.jogamp.newt.opengl.GLWindow.display(GLWindow.java:605)
at com.jogamp.opengl.util.AWTAnimatorImpl.display(AWTAnimatorImpl.java:75)
at com.jogamp.opengl.util.AnimatorBase.display(AnimatorBase.java:416)
at com.jogamp.opengl.util.FPSAnimator$MainTask.run(FPSAnimator.java:170)
at java.util.TimerThread.mainLoop(Timer.java:555)
at java.util.TimerThread.run(Timer.java:505)
Locked ownable synchronizers:
- <0x00000006898883a8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
- <0x0000000689888d28> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
- <0x00000006917a2ee8> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
- <0x00000006917a3228> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
- <0x00000006917c9c08> (a jogamp.common.util.locks.RecursiveLockImpl01Unfairish$SingleThreadSync)
- <0x00000006917d4548> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment