<Swing Dev> Hang during theme change on gnome 3
Pavel Porvatov
pavel.porvatov at oracle.com
Fri May 4 09:37:30 UTC 2012
Hi Paulo,
File a bug, please
Regards, Pavel
> Hi - i have a swing application that hangs during theme change with
> gnome 3.
> uname -a gives
> Linux AIVAS-I 3.2.0-24-generic #38-Ubuntu SMP Tue May 1 16:18:50 UTC
> 2012 x86_64 x86_64 x86_64 GNU/Linux
> java -version
> java version "1.7.0_03"
> OpenJDK Runtime Environment (IcedTea7 2.1.1pre) (7~u3-2.1.1~pre1-1ubuntu3)
> OpenJDK 64-Bit Server VM (build 22.0-b10, mixed mode)
>
> And the stacktrace (by initiating the app in a console and sending
> sigquit):
>
>
>
> 2012-05-04 10:01:35
> Full thread dump OpenJDK 64-Bit Server VM (22.0-b10 mixed mode):
>
> "SwingWorker-pool-1-thread-2" daemon prio=10 tid=0x00007f70a44fc800
> nid=0x11f5 waiting on condition [0x00007f70a81ec000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000000c29bcd40> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
>
> "SwingWorker-pool-1-thread-1" daemon prio=10 tid=0x00007f70a43e3000
> nid=0x11f1 waiting on condition [0x00007f70a85f0000]
> java.lang.Thread.State: WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000000c29bcd40> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
> at
> java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
> at
> java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1043)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1103)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> at java.lang.Thread.run(Thread.java:722)
>
> "TimerQueue" daemon prio=10 tid=0x00007f70a4355000 nid=0x11f0 waiting
> on condition [0x00007f70a86f1000]
> java.lang.Thread.State: TIMED_WAITING (parking)
> at sun.misc.Unsafe.park(Native Method)
> - parking to wait for <0x00000000c26de2c0> (a
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
> at
> java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:226)
> at
> java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2082)
> at java.util.concurrent.DelayQueue.take(DelayQueue.java:220)
> at javax.swing.TimerQueue.run(TimerQueue.java:171)
> at java.lang.Thread.run(Thread.java:722)
>
> "DestroyJavaVM" prio=10 tid=0x00007f70ec007800 nid=0x11db waiting on
> condition [0x0000000000000000]
> java.lang.Thread.State: RUNNABLE
>
> "AWT-EventQueue-0" prio=10 tid=0x00007f70ec2f6000 nid=0x11ea runnable
> [0x00007f70b8e6b000]
> java.lang.Thread.State: RUNNABLE
> at
> com.sun.java.swing.plaf.gtk.GTKEngine.native_switch_theme(Native Method)
> at
> com.sun.java.swing.plaf.gtk.GTKEngine.themeChanged(GTKEngine.java:614)
> - locked <0x00000000c2a4d378> (a java.lang.Object)
> at
> com.sun.java.swing.plaf.gtk.GTKLookAndFeel$WeakPCL$1.run(GTKLookAndFeel.java:1517)
> at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
> at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:705)
> at java.awt.EventQueue.access$000(EventQueue.java:101)
> at java.awt.EventQueue$3.run(EventQueue.java:666)
> at java.awt.EventQueue$3.run(EventQueue.java:664)
> at java.security.AccessController.doPrivileged(Native Method)
> at
> java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
> at java.awt.EventQueue.dispatchEvent(EventQueue.java:675)
> at
> java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
> at
> java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
> at
> java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
> at
> java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
> at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
>
> "AWT-Shutdown" prio=10 tid=0x00007f70ec2f4000 nid=0x11e9 in
> Object.wait() [0x00007f70b8f6d000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000000c29bdd50> (a java.lang.Object)
> at java.lang.Object.wait(Object.java:503)
> at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:287)
> - locked <0x00000000c29bdd50> (a java.lang.Object)
> at java.lang.Thread.run(Thread.java:722)
>
> "AWT-XAWT" daemon prio=10 tid=0x00007f70ec2f2000 nid=0x11e8 runnable
> [0x00007f70c01ee000]
> java.lang.Thread.State: RUNNABLE
> at sun.awt.X11.XToolkit.waitForEvents(Native Method)
> at sun.awt.X11.XToolkit.run(XToolkit.java:631)
> at sun.awt.X11.XToolkit.run(XToolkit.java:595)
> at java.lang.Thread.run(Thread.java:722)
>
> "Java2D Disposer" daemon prio=10 tid=0x00007f70ec2bb800 nid=0x11e7 in
> Object.wait() [0x00007f70e8173000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000000ef731398> (a
> java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
> - locked <0x00000000ef731398> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
> at sun.java2d.Disposer.run(Disposer.java:145)
> at java.lang.Thread.run(Thread.java:722)
>
> "Service Thread" daemon prio=10 tid=0x00007f70ec12b000 nid=0x11e5
> runnable [0x0000000000000000]
> java.lang.Thread.State: RUNNABLE
>
> "C2 CompilerThread1" daemon prio=10 tid=0x00007f70ec128800 nid=0x11e4
> waiting on condition [0x0000000000000000]
> java.lang.Thread.State: RUNNABLE
>
> "C2 CompilerThread0" daemon prio=10 tid=0x00007f70ec125800 nid=0x11e3
> waiting on condition [0x0000000000000000]
> java.lang.Thread.State: RUNNABLE
>
> "Signal Dispatcher" daemon prio=10 tid=0x00007f70ec123800 nid=0x11e2
> waiting on condition [0x0000000000000000]
> java.lang.Thread.State: RUNNABLE
>
> "Finalizer" daemon prio=10 tid=0x00007f70ec0cc800 nid=0x11e1 in
> Object.wait() [0x00007f70f103b000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000000c29e1620> (a
> java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
> - locked <0x00000000c29e1620> (a java.lang.ref.ReferenceQueue$Lock)
> at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
> at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:177)
>
> "Reference Handler" daemon prio=10 tid=0x00007f70ec0ca000 nid=0x11e0
> in Object.wait() [0x00007f70f113c000]
> java.lang.Thread.State: WAITING (on object monitor)
> at java.lang.Object.wait(Native Method)
> - waiting on <0x00000000c29e11b0> (a java.lang.ref.Reference$Lock)
> at java.lang.Object.wait(Object.java:503)
> at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
> - locked <0x00000000c29e11b0> (a java.lang.ref.Reference$Lock)
>
> "VM Thread" prio=10 tid=0x00007f70ec0c2000 nid=0x11df runnable
>
> "GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f70ec012800
> nid=0x11dc runnable
>
> "GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f70ec014800
> nid=0x11dd runnable
>
> "VM Periodic Task Thread" prio=10 tid=0x00007f70ec135800 nid=0x11e6
> waiting on condition
>
> JNI global references: 348
>
> Heap
> PSYoungGen total 65856K, used 58756K [0x00000000eb6b0000,
> 0x00000000ef990000, 0x0000000100000000)
> eden space 63232K, 88% used
> [0x00000000eb6b0000,0x00000000eed89218,0x00000000ef470000)
> from space 2624K, 98% used
> [0x00000000ef700000,0x00000000ef988030,0x00000000ef990000)
> to space 2624K, 0% used
> [0x00000000ef470000,0x00000000ef470000,0x00000000ef700000)
> PSOldGen total 42176K, used 19721K [0x00000000c2400000,
> 0x00000000c4d30000, 0x00000000eb6b0000)
> object space 42176K, 46% used
> [0x00000000c2400000,0x00000000c3742628,0x00000000c4d30000)
> PSPermGen total 21248K, used 20150K [0x00000000b7e00000,
> 0x00000000b92c0000, 0x00000000c2400000)
> object space 21248K, 94% used
> [0x00000000b7e00000,0x00000000b91ad918,0x00000000b92c0000)
>
>
>
> It seems like something happened at
> com.sun.java.swing.plaf.gtk.GTKEngine.native_switch_theme(Native Method)
More information about the swing-dev
mailing list