I've encounteered this pretty rare threadlock. I'm putting it here for the record. I'm not sure what part of bdv-core vs my own stuff is responsible for it. I'll add more info if this happens again and if I know more.
Thread dump:
Java stack information for the threads listed above:
===================================================
"SciJava-3171e854-Thread-1":
at bdv.BehaviourTransformEventHandler3D.setTransform(BehaviourTransformEventHandler3D.java:180)
- waiting to lock <0x0000000781fcba58> (a net.imglib2.realtransform.AffineTransform3D)
at bdv.BehaviourTransformEventHandler3D.setTransform(BehaviourTransformEventHandler3D.java:52)
at bdv.viewer.ViewerPanel.setCurrentViewerTransform(ViewerPanel.java:759)
- locked <0x0000000781fc6538> (a bdv.viewer.ViewerPanel)
at bdv.tools.InitializeViewerState.initTransform(InitializeViewerState.java:81)
at bdv.util.BdvHandle.tryInitTransform(BdvHandle.java:195)
- locked <0x0000000781fc35b8> (a bdv.util.BdvHandleFrame)
at bdv.util.BdvHandle.add(BdvHandle.java:179)
- locked <0x0000000781fc35b8> (a bdv.util.BdvHandleFrame)
at bdv.util.BdvFunctions.addRandomAccessibleInterval(BdvFunctions.java:449)
at bdv.util.BdvFunctions.show(BdvFunctions.java:86)
at sc.fiji.bdvpg.bdv.BdvCreator.get(BdvCreator.java:115)
at sc.fiji.bdvpg.scijava.command.bdv.BdvWindowCreatorCommand.run(BdvWindowCreatorCommand.java:67)
at org.scijava.command.CommandModule.run(CommandModule.java:199)
at org.scijava.module.ModuleRunner.run(ModuleRunner.java:168)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:127)
at org.scijava.module.ModuleRunner.call(ModuleRunner.java:66)
at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:228)
at org.scijava.thread.DefaultThreadService$$Lambda$114/1691007305.call(Unknown Source)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
"AWT-EventQueue-0":
at bdv.viewer.ViewerPanel.transformChanged(ViewerPanel.java:560)
- waiting to lock <0x0000000781fc6538> (a bdv.viewer.ViewerPanel)
at bdv.viewer.ViewerPanel.transformChanged(ViewerPanel.java:104)
at net.imglib2.ui.InteractiveDisplayCanvasComponent.transformChanged(InteractiveDisplayCanvasComponent.java:285)
at bdv.BehaviourTransformEventHandler3D.notifyListener(BehaviourTransformEventHandler3D.java:229)
at bdv.BehaviourTransformEventHandler3D.setCanvasSize(BehaviourTransformEventHandler3D.java:202)
- locked <0x0000000781fcba58> (a net.imglib2.realtransform.AffineTransform3D)
at net.imglib2.ui.InteractiveDisplayCanvasComponent$1.componentResized(InteractiveDisplayCanvasComponent.java:112)
at java.awt.Component.processComponentEvent(Component.java:6365)
at java.awt.Component.processEvent(Component.java:6319)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Found 1 deadlock.
Hi,
I've encounteered this pretty rare threadlock. I'm putting it here for the record. I'm not sure what part of bdv-core vs my own stuff is responsible for it. I'll add more info if this happens again and if I know more.
Thread dump: