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)