JDK-6756220 : JFileChooser blocks AWT-EventQueue-0 when user clicks 'Up One Level' button
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 6u10
  • Priority: P2
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_vista
  • CPU: x86
  • Submitted: 2008-10-06
  • Updated: 2011-01-24
  • Resolved: 2009-07-07
Related Reports
Duplicate :  
Description
2008-10-06 13:03:46
Full thread dump Java HotSpot(TM) Client VM (11.0-b15 mixed mode, sharing):

"Basic L&F File Loading Thread" prio=6 tid=0x0437e400 nid=0x17ec waiting on condition [0x04a0f000..0x04a0fc80]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x23a7b248> (a java.util.concurrent.FutureTask$Sync)
	at java.util.concurrent.locks.LockSupport.park(Unknown Source)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(Unknown Source)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(Unknown Source)
	at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
	at java.util.concurrent.FutureTask.get(Unknown Source)
	at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown Source)
	at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run0(Unknown Source)
	at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread.run(Unknown Source)

"Swing-Shell" daemon prio=6 tid=0x0437b800 nid=0x3fc waiting for monitor entry [0x04f0f000..0x04f0fd80]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at com.sun.javatest.util.FileInfoCache.get(FileInfoCache.java:96)
	- waiting to lock <0x2434ac30> (a com.sun.javatest.util.FileInfoCache)
	at com.sun.javatest.tool.SelectedWorkDirApprover.isWorkDirectory(SelectedWorkDirApprover.java:253)
	at com.sun.javatest.tool.WDC_FileView.isTraversable(WDC_FileView.java:62)
	at javax.swing.JFileChooser.isTraversable(Unknown Source)
	at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread$1.call(Unknown Source)
	at javax.swing.plaf.basic.BasicDirectoryModel$LoadFilesThread$1.call(Unknown Source)
	at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
	at java.util.concurrent.FutureTask.run(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

"Test Tree Cache Worker" prio=2 tid=0x03dee400 nid=0xcec in Object.wait() [0x049bf000..0x049bfb00]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:485)
	at com.sun.javatest.exec.TestTreeModel$CacheWorker.run(TestTreeModel.java:823)
	- locked <0x24249cb8> (a com.sun.javatest.exec.TestTreeModel$CacheWorker)

"DestroyJavaVM" prio=6 tid=0x014e9c00 nid=0x1100 waiting on condition [0x00000000..0x003efd38]
   java.lang.Thread.State: RUNNABLE

"D3D Screen Updater" daemon prio=8 tid=0x044b7000 nid=0x1080 in Object.wait() [0x0695f000..0x0695fb80]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at sun.java2d.d3d.D3DScreenUpdateManager.run(Unknown Source)
	- locked <0x24021f98> (a java.lang.Object)
	at java.lang.Thread.run(Unknown Source)

"TimerQueue" daemon prio=6 tid=0x0442c400 nid=0x156c in Object.wait() [0x04bcf000..0x04bcfc00]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at javax.swing.TimerQueue.run(Unknown Source)
	- locked <0x2407d2f0> (a javax.swing.TimerQueue)
	at java.lang.Thread.run(Unknown Source)

"Test Tree Cache Worker" prio=2 tid=0x04431000 nid=0x16ec in Object.wait() [0x04b1f000..0x04b1fc80]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	- waiting on <0x24059220> (a com.sun.javatest.exec.TestTreeModel$CacheWorker)
	at java.lang.Object.wait(Object.java:485)
	at com.sun.javatest.exec.TestTreeModel$CacheWorker.run(TestTreeModel.java:852)
	- locked <0x24059220> (a com.sun.javatest.exec.TestTreeModel$CacheWorker)

"AWT-EventQueue-0" prio=6 tid=0x03dd1400 nid=0x12ec waiting on condition [0x04ebe000..0x04ebfa00]
   java.lang.Thread.State: WAITING (parking)
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for  <0x23a7a2f0> (a java.util.concurrent.FutureTask$Sync)
	at java.util.concurrent.locks.LockSupport.park(Unknown Source)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unknown Source)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(Unknown Source)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(Unknown Source)
	at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
	at java.util.concurrent.FutureTask.get(Unknown Source)
	at sun.awt.shell.Win32ShellFolderManager2$ComInvoker.invoke(Unknown Source)
	at sun.awt.shell.Win32ShellFolder2.pidlsEqual(Unknown Source)
	at sun.awt.shell.Win32ShellFolder2.equals(Unknown Source)
	at sun.awt.shell.Win32ShellFolder2.equals(Unknown Source)
	at sun.awt.shell.Win32ShellFolder2.equals(Unknown Source)
	at sun.awt.shell.Win32ShellFolder2.equals(Unknown Source)
	at sun.awt.shell.Win32ShellFolder2.equals(Unknown Source)
	at sun.awt.shell.Win32ShellFolder2.equals(Unknown Source)
	at java.util.HashMap.get(Unknown Source)
	at com.sun.javatest.util.FileInfoCache.get(FileInfoCache.java:96)
	- locked <0x2434ac30> (a com.sun.javatest.util.FileInfoCache)
	at com.sun.javatest.tool.SelectedWorkDirApprover.isWorkDirectory(SelectedWorkDirApprover.java:253)
	at com.sun.javatest.tool.WDC_FileView.getIcon(WDC_FileView.java:48)
	at javax.swing.JFileChooser.getIcon(Unknown Source)
	at sun.swing.FilePane$FileRenderer.getListCellRendererComponent(Unknown Source)
	at javax.swing.plaf.basic.BasicListUI.paintCell(Unknown Source)
	at javax.swing.plaf.basic.BasicListUI.paintImpl(Unknown Source)
	at javax.swing.plaf.basic.BasicListUI.paint(Unknown Source)
	at javax.swing.plaf.ComponentUI.update(Unknown Source)
	at javax.swing.JComponent.paintComponent(Unknown Source)
	at javax.swing.JComponent.paint(Unknown Source)
	at javax.swing.JComponent.paintToOffscreen(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(Unknown Source)
	at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)
	at javax.swing.RepaintManager.paint(Unknown Source)
	at javax.swing.JComponent._paintImmediately(Unknown Source)
	at javax.swing.JComponent.paintImmediately(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
	at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)
	at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.Dialog$1.run(Unknown Source)
	at java.awt.Dialog$3.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.Dialog.show(Unknown Source)
	at javax.swing.JFileChooser.showDialog(Unknown Source)
	at com.sun.javatest.exec.QuickStartWizard$FilePanel$1.actionPerformed(QuickStartWizard.java:406)
	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
	at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
	at java.awt.Component.processMouseEvent(Unknown Source)
	at javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.awt.Component.processEvent(Unknown Source)
	at java.awt.Container.processEvent(Unknown Source)
	at java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.awt.Component.dispatchEvent(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)

"AWT-Windows" daemon prio=6 tid=0x03dd0800 nid=0x1690 runnable [0x048ff000..0x048ffa80]
   java.lang.Thread.State: RUNNABLE
	at sun.awt.windows.WToolkit.eventLoop(Native Method)
	at sun.awt.windows.WToolkit.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

"AWT-Shutdown" prio=6 tid=0x03dd0400 nid=0x16e0 in Object.wait() [0x048af000..0x048afb00]
   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(Unknown Source)
	- locked <0x23f65128> (a java.lang.Object)
	at java.lang.Thread.run(Unknown Source)

"Java2D Disposer" daemon prio=10 tid=0x03da9400 nid=0x1140 in Object.wait() [0x0475f000..0x0475fb80]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x23f9d1c8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at sun.java2d.Disposer.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)

"Low Memory Detector" daemon prio=6 tid=0x01a88c00 nid=0x172c runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x01a84800 nid=0xfac waiting on condition [0x00000000..0x03c4f9a8]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x01a83800 nid=0x16ac waiting on condition [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x01a79000 nid=0x15a8 runnable [0x00000000..0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x01a39000 nid=0x2f0 in Object.wait() [0x01b4f000..0x01b4fa80]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	- locked <0x23f076f8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(Unknown Source)
	at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

"Reference Handler" daemon prio=10 tid=0x01a34800 nid=0x14f8 in Object.wait() [0x015bf000..0x015bfb00]
   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(Unknown Source)
	- locked <0x23f07780> (a java.lang.ref.Reference$Lock)

"VM Thread" prio=10 tid=0x01a32400 nid=0x1224 runnable 

"VM Periodic Task Thread" prio=10 tid=0x01a93c00 nid=0xb70 waiting on condition 

JNI global references: 1763

Comments
EVALUATION Steps to reproduce can be found in the comments section assigned to the JFileChooser owner
06-10-2008