JDK-6669602 : Nimbus LAF:ConcurModException thrown while navigating through the demos quickly on swingset2, winxp
  • Type: Bug
  • Component: client-libs
  • Sub-Component: javax.swing
  • Affected Version: 6u10
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_xp
  • CPU: x86
  • Submitted: 2008-02-29
  • Updated: 2011-02-16
  • Resolved: 2008-06-24
Related Reports
Duplicate :  
Description
I am getting a ConcurrentModification Exception when launching SwingSet2 with Nimbus look and feel and navigating through the tabs as they are loading. This is not reproducible on other look and feels. I reproduced it on WinXP with Nvidia GeForce 7600 GS, using 6u10-b12, b13. The exception is more obvious when you have a local jdk instead of a network JDK and hence there seems to be a timing issue. This is reproduced on WinVista as well.
Here is the exception- 
-----------------------
Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException
at java.util.Hashtable$Enumerator.next(Hashtable.java:1031)
at java.util.AbstractCollection.addAll(AbstractCollection.java:305)
at java.util.HashSet.<init>(HashSet.java:100)
at com.sun.java.swing.plaf.nimbus.NimbusStyle.validate(NimbusStyle.java:230)
at com.sun.java.swing.plaf.nimbus.NimbusStyle.getValues(NimbusStyle.java:777)
at com.sun.java.swing.plaf.nimbus.NimbusStyle.getInsets(NimbusStyle.java:453)
at javax.swing.plaf.synth.SynthStyle.installDefaults(SynthStyle.java:896)
at javax.swing.plaf.synth.SynthLookAndFeel.updateStyle(SynthLookAndFeel.java:276)
at javax.swing.plaf.synth.SynthButtonUI.updateStyle(SynthButtonUI.java:53)
at javax.swing.plaf.synth.SynthButtonUI.installDefaults(SynthButtonUI.java:40)
at javax.swing.plaf.basic.BasicButtonUI.installUI(BasicButtonUI.java:63)
at javax.swing.JComponent.setUI(JComponent.java:673)
at javax.swing.AbstractButton.setUI(AbstractButton.java:1782)
at javax.swing.JRadioButton.updateUI(JRadioButton.java:174)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1206)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1221)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1221)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1221)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1221)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1221)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1221)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1221)
at javax.swing.SwingUtilities.updateComponentTreeUI0(SwingUtilities.java:1221)
at javax.swing.SwingUtilities.updateComponentTreeUI(SwingUtilities.java:1197)
at SwingSet2.setDemo(SwingSet2.java:709)
at SwingSet2$SwitchToDemoAction.actionPerformed(SwingSet2.java:1136)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:291)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:272)
at java.awt.Component.processMouseEvent(Component.java:6099)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
at java.awt.Component.processEvent(Component.java:5864)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4296)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
.....
...

To reproduce the bug, run SwingSet2 with Nimbus flag on WinXP/Vista. As the demo is getting loaded, try clicking on each of the tabs. I always get this error when clicking ComboBox demo right after color chooser demo.