This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
Hy, My 7.0beta 2 IDE locked the other day while I was trying to view the contents of a 20MB signed JAR inside the 'Files' window. It seems to me that the JAR file is read / verified inside the AWT thread hence the lockup. Reporting this to Explorer API since perhaps that long loading should happen in another thread. See the thread dump bellow: 2011-02-23 15:51:36 Full thread dump Java HotSpot(TM) 64-Bit Server VM (17.1-b03-307 mixed mode): "RMI TCP Connection(2)-192.168.3.177" daemon prio=9 tid=101c0a800 nid=0x156f96000 runnable [156f95000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) - locked <114fde908> (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(FilterInputStream.java:66) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:517) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) 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: - <115070628> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) "JMX server connection timeout 114" daemon prio=9 tid=102d01800 nid=0x156997000 in Object.wait() [156996000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <113902d00> (a [I) at com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150) - locked <113902d00> (a [I) at java.lang.Thread.run(Thread.java:680) Locked ownable synchronizers: - None "RMI Scheduler(0)" daemon prio=9 tid=1029b5000 nid=0x1565dc000 waiting on condition [1565db000] java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <114f12920> (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 "RMI TCP Connection(1)-192.168.3.177" daemon prio=9 tid=101964800 nid=0x1563d9000 runnable [1563d8000] java.lang.Thread.State: RUNNABLE at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read(BufferedInputStream.java:237) - locked <114f0c8d0> (a java.io.BufferedInputStream) at java.io.FilterInputStream.read(FilterInputStream.java:66) at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:517) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:790) at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:649) 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: - <114f10420> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) "RMI TCP Accept-0" daemon prio=9 tid=102d11000 nid=0x155cf6000 runnable [155cf5000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390) - locked <11218cd00> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:453) at java.net.ServerSocket.accept(ServerSocket.java:421) at sun.management.jmxremote.LocalRMIServerSocketFactory$1.accept(LocalRMIServerSocketFactory.java:34) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.executeAcceptLoop(TCPTransport.java:369) at sun.rmi.transport.tcp.TCPTransport$AcceptLoop.run(TCPTransport.java:341) at java.lang.Thread.run(Thread.java:680) Locked ownable synchronizers: - None "Attach Listener" daemon prio=9 tid=172840000 nid=0x155a34000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "logger-awt" daemon prio=1 tid=10190e000 nid=0x1561d6000 runnable [1561d5000] java.lang.Thread.State: RUNNABLE at sun.management.ThreadImpl.dumpThreads0(Native Method) at sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:374) at org.netbeans.core.ui.sampler.Sampler$1.run(Sampler.java:153) - locked <1120d5d70> (a org.netbeans.core.ui.sampler.SelfSamplerAction$InternalSampler) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Locked ownable synchronizers: - None "Parsing & Indexing Loop (201011152355)" daemon prio=1 tid=101a19000 nid=0x154d9a000 waiting on condition [154d99000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <10d1fa7f0> (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.PriorityBlockingQueue.take(PriorityBlockingQueue.java:220) at org.netbeans.modules.parsing.impl.TaskProcessor$CompilationJob.run(TaskProcessor.java:581) 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: - <10d21de30> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) "DestroyJavaVM" prio=5 tid=102803000 nid=0x100601000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "AWT-EventQueue-1" prio=6 tid=102b75800 nid=0x171c04000 runnable [171c01000] java.lang.Thread.State: RUNNABLE at java.util.jar.JarFile.initializeVerifier(JarFile.java:322) at java.util.jar.JarFile.getInputStream(JarFile.java:388) - locked <1120f3258> (a java.util.jar.JarFile) at org.openide.filesystems.JarFileSystem.getInputStream4336753(JarFileSystem.java:628) at org.openide.filesystems.JarFileSystem.getMemInputStream(JarFileSystem.java:513) at org.openide.filesystems.JarFileSystem.inputStream(JarFileSystem.java:593) - locked <1120c1260> (a java.lang.Object) at org.openide.filesystems.JarFileSystem$Impl.inputStream(JarFileSystem.java:1151) at org.openide.filesystems.StreamPool.createInputStream(StreamPool.java:105) at org.openide.filesystems.AbstractFileObject.getInputStream(AbstractFileObject.java:215) at org.openide.filesystems.MIMESupport$CachedFileObject.getInputStream(MIMESupport.java:406) at org.netbeans.modules.openide.filesystems.declmime.MIMEResolverImpl$Type.accept(MIMEResolverImpl.java:1061) at org.netbeans.modules.openide.filesystems.declmime.MIMEResolverImpl$Type.access$2900(MIMEResolverImpl.java:727) at org.netbeans.modules.openide.filesystems.declmime.MIMEResolverImpl$FileElement.resolve(MIMEResolverImpl.java:687) at org.netbeans.modules.openide.filesystems.declmime.MIMEResolverImpl$FileElement.access$800(MIMEResolverImpl.java:658) at org.netbeans.modules.openide.filesystems.declmime.MIMEResolverImpl$Impl.findMIMEType(MIMEResolverImpl.java:317) at org.openide.filesystems.MIMESupport$CachedFileObject.resolveMIME(MIMESupport.java:375) at org.openide.filesystems.MIMESupport$CachedFileObject.getMIMEType(MIMESupport.java:316) at org.openide.filesystems.MIMESupport.findMIMEType(MIMESupport.java:137) at org.openide.filesystems.FileUtil.getMIMEType(FileUtil.java:1442) at org.openide.filesystems.FileObject.getMIMEType(FileObject.java:555) at org.openide.filesystems.AbstractFileObject.getMIMEType(AbstractFileObject.java:195) at org.openide.loaders.DataLoaderPool.allLoaders(DataLoaderPool.java:332) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:530) at org.openide.loaders.DataLoaderPool.findDataObject(DataLoaderPool.java:493) at org.openide.loaders.DataObject.find(DataObject.java:510) at org.openide.loaders.FolderChildren.createNodes(FolderChildren.java:208) at org.openide.loaders.FolderChildren.createNodes(FolderChildren.java:68) at org.openide.nodes.Children$Keys$KE.nodes(Children.java:1648) at org.openide.nodes.EntrySupport$Lazy$EntryInfo.getNode(EntrySupport.java:1591) at org.openide.nodes.EntrySupport$Lazy$EntryInfo.getNode(EntrySupport.java:1557) at org.openide.nodes.EntrySupport$Lazy$LazySnapshot.get(EntrySupport.java:1819) at org.openide.nodes.EntrySupport$Lazy$LazySnapshot.get(EntrySupport.java:1814) at org.openide.nodes.EntrySupport$Lazy$LazySnapshot.get(EntrySupport.java:1802) at org.openide.explorer.view.VisualizerChildren.getChildAt(VisualizerChildren.java:119) at org.openide.explorer.view.VisualizerNode.getChildAt(VisualizerNode.java:321) at javax.swing.tree.DefaultTreeModel.getChild(DefaultTreeModel.java:156) at javax.swing.tree.FixedHeightLayoutCache$VisibleFHTreeStateNodeEnumeration.nextElement(FixedHeightLayoutCache.java:1506) at javax.swing.tree.FixedHeightLayoutCache$VisibleFHTreeStateNodeEnumeration.nextElement(FixedHeightLayoutCache.java:1461) at javax.swing.tree.AbstractLayoutCache.getPreferredWidth(AbstractLayoutCache.java:228) at javax.swing.plaf.basic.BasicTreeUI.updateCachedPreferredSize(BasicTreeUI.java:1820) at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1921) at javax.swing.plaf.basic.BasicTreeUI.getPreferredSize(BasicTreeUI.java:1909) at javax.swing.JComponent.getPreferredSize(JComponent.java:1634) at javax.swing.ScrollPaneLayout.layoutContainer(ScrollPaneLayout.java:769) at org.openide.explorer.view.TreeView$ExplorerScrollPaneLayout.layoutContainer(TreeView.java:1761) at java.awt.Container.layout(Container.java:1421) at java.awt.Container.doLayout(Container.java:1410) at java.awt.Container.validateTree(Container.java:1507) at java.awt.Container.validate(Container.java:1480) - locked <1090fb898> (a java.awt.Component$AWTTreeLock) at org.openide.explorer.view.TreeView.access$101(TreeView.java:151) at org.openide.explorer.view.TreeView$3.run(TreeView.java:645) at org.openide.util.Mutex.readAccess(Mutex.java:365) at org.openide.util.Mutex$1R.run(Mutex.java:1307) at org.openide.nodes.Children$ProjectManagerDeadlockDetector.execute(Children.java:1907) at org.openide.util.Mutex.doWrapperAccess(Mutex.java:1326) at org.openide.util.Mutex.readAccess(Mutex.java:354) at org.openide.explorer.view.TreeView.validate(TreeView.java:643) at javax.swing.RepaintManager.validateInvalidComponents(RepaintManager.java:669) at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:124) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:633) at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:138) 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 "TimerQueue" daemon prio=5 tid=101f8f800 nid=0x16d67c000 in Object.wait() [16d67b000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <1099a45f8> (a javax.swing.TimerQueue) at javax.swing.TimerQueue.run(TimerQueue.java:232) - locked <1099a45f8> (a javax.swing.TimerQueue) at java.lang.Thread.run(Thread.java:680) Locked ownable synchronizers: - None "Thread-5" daemon prio=5 tid=101e61800 nid=0x171a01000 in Object.wait() [171a00000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <1098207c0> (a java.util.LinkedList) at java.lang.Object.wait(Object.java:485) at java.util.prefs.AbstractPreferences$EventDispatchThread.run(AbstractPreferences.java:1461) - locked <1098207c0> (a java.util.LinkedList) Locked ownable synchronizers: - None "Thread-4" prio=5 tid=102e6a800 nid=0x170e39000 waiting on condition [170e38000] java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <109964d68> (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 org.netbeans.modules.masterfs.watcher.OSXNotifier.nextEvent(OSXNotifier.java:103) at org.netbeans.modules.masterfs.watcher.Watcher$Ext.run(Watcher.java:151) at java.lang.Thread.run(Thread.java:680) Locked ownable synchronizers: - None "Thread-3" daemon prio=5 tid=101bb0800 nid=0x16df0b000 runnable [16df0a000] java.lang.Thread.State: RUNNABLE at com.sun.jna.Function.invokeVoid(Native Method) at com.sun.jna.Function.invoke(Function.java:282) at com.sun.jna.Function.invoke(Function.java:223) at com.sun.jna.Library$Handler.invoke(Library.java:204) at $Proxy6.CFRunLoopRun(Unknown Source) at org.netbeans.modules.masterfs.watcher.OSXNotifier$1.run(OSXNotifier.java:132) 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: - <10999efe0> (a java.util.concurrent.locks.ReentrantLock$NonfairSync) "Java2D Disposer" daemon prio=10 tid=1029fc800 nid=0x16d144000 in Object.wait() [16d143000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <108fadcf0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <108fadcf0> (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-Shutdown" prio=5 tid=1019a8800 nid=0x168827000 in Object.wait() [168826000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <108c4b590> (a java.lang.Object) at java.lang.Object.wait(Object.java:485) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:265) - locked <108c4b590> (a java.lang.Object) at java.lang.Thread.run(Thread.java:680) Locked ownable synchronizers: - None "AWT-AppKit" daemon prio=5 tid=1019a8000 nid=0x7fff70436ca0 runnable [7fff5fbf9000] java.lang.Thread.State: RUNNABLE at apple.awt.CToolkit.doAWTRunLoop(Native Method) at apple.awt.CToolkit.invokeAndWait(CToolkit.java:1135) at apple.awt.CToolkit.invokeAndWait(CToolkit.java:1087) at com.apple.laf.ScreenMenu.invokeOpenLater(ScreenMenu.java:115) Locked ownable synchronizers: - None "Poller SunPKCS11-Darwin" daemon prio=1 tid=102b3d000 nid=0x157199000 waiting on condition [157198000] 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 "CLI Requests Server" daemon prio=5 tid=102b0a000 nid=0x156d93000 runnable [156d92000] java.lang.Thread.State: RUNNABLE at java.net.PlainSocketImpl.socketAccept(Native Method) at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:390) - locked <108d0a2a0> (a java.net.SocksSocketImpl) at java.net.ServerSocket.implAccept(ServerSocket.java:453) at java.net.ServerSocket.accept(ServerSocket.java:421) at org.netbeans.CLIHandler$Server.run(CLIHandler.java:1031) Locked ownable synchronizers: - None "Active Reference Queue Daemon" daemon prio=1 tid=101a93000 nid=0x154616000 in Object.wait() [154615000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <108c410e0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <108c410e0> (a java.lang.ref.ReferenceQueue$Lock) at org.openide.util.lookup.implspi.ActiveQueue$Impl.run(ActiveQueue.java:101) at java.lang.Thread.run(Thread.java:680) Locked ownable synchronizers: - None "Timer-0" daemon prio=5 tid=102b0d000 nid=0x154413000 in Object.wait() [154412000] java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <108cb5fe0> (a java.util.TaskQueue) at java.util.TimerThread.mainLoop(Timer.java:509) - locked <108cb5fe0> (a java.util.TaskQueue) at java.util.TimerThread.run(Timer.java:462) Locked ownable synchronizers: - None "Low Memory Detector" daemon prio=5 tid=10281f800 nid=0x15400d000 runnable [00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "CompilerThread1" daemon prio=9 tid=10281e800 nid=0x153e0a000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "CompilerThread0" daemon prio=9 tid=10281e000 nid=0x153c07000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Signal Dispatcher" daemon prio=9 tid=10281d000 nid=0x153a04000 runnable [00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Surrogate Locker Thread (CMS)" daemon prio=5 tid=10281c800 nid=0x153801000 waiting on condition [00000000] java.lang.Thread.State: RUNNABLE Locked ownable synchronizers: - None "Finalizer" daemon prio=8 tid=10280e800 nid=0x153404000 in Object.wait() [153403000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <108d13f40> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118) - locked <108d13f40> (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=10280e000 nid=0x153201000 in Object.wait() [153200000] java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <108c410c8> (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 <108c410c8> (a java.lang.ref.Reference$Lock) Locked ownable synchronizers: - None "VM Thread" prio=9 tid=10280b000 nid=0x15260b000 runnable "Gang worker#0 (Parallel GC Threads)" prio=9 tid=101800800 nid=0x102504000 runnable "Gang worker#1 (Parallel GC Threads)" prio=9 tid=101801000 nid=0x102707000 runnable "Concurrent Mark-Sweep GC Thread" prio=9 tid=10184c000 nid=0x152318000 runnable "VM Periodic Task Thread" prio=10 tid=102831000 nid=0x154210000 waiting on condition "Exception Catcher Thread" prio=10 tid=102801800 nid=0x102301000 runnable JNI global references: 10175
I don't see a deadlock. AWT thread is in at java.util.jar.JarFile.initializeVerifier(JarFile.java:322) but there is no lock! I guess it can safely proceed.
And yet the IDE became unusable for me and I remained that way for enough time to have me go open VisualVM, look at what the IDE is doing, do a thread dump, save it to a file and then decide to kill the IDE. I never said it's a deadlock, but I wasn't able to use the IDE for a considerable amount of time and I don't think it's kosher to do IO in the Event Queue.
OK, blocking AWT dispatch thread is a bug. But rather than thread dump, I'd like to get a nps or npss snapshot. One should have been generated automatically by the IDE. If one, you can install JVisualVM plugin to do perform sampling from outside.
Glad we agree it looks like a bug. On that JAR the MANIFEST.MF was over 1MB so if the verifier really reads all those signatures (since the JAR is signed) it might do a bit of IO.