hdijkema / seaglass

Automatically exported from code.google.com/p/seaglass
0 stars 0 forks source link

Crash loading JFileChooser just after setting seaglass #80

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Load seaglass
2. Load JFileChooser on background thread.
3.

What is the expected output? What do you see instead?

What version of the product are you using? On what operating system? 
0.1.7.3 on Windows 7. 
What JRE version?
Java 6 update 25

Please provide any additional information below.
Exception in thread "Thread-2" java.util.ConcurrentModificationException
    at java.util.Hashtable$Enumerator.next(Unknown Source)
    at com.seaglasslookandfeel.SeaGlassStyle.compileDefaults(SeaGlassStyle.java:488)
    at com.seaglasslookandfeel.SeaGlassStyle.validate(SeaGlassStyle.java:402)
    at com.seaglasslookandfeel.SeaGlassStyle.installDefaults(SeaGlassStyle.java:303)
    at com.seaglasslookandfeel.SeaGlassStyle.installDefaults(SeaGlassStyle.java:289)
    at com.seaglasslookandfeel.SeaGlassLookAndFeel.updateStyle(SeaGlassLookAndFeel.java:2286)
    at com.seaglasslookandfeel.ui.SeaGlassTextFieldUI.updateStyle(SeaGlassTextFieldUI.java:149)
    at com.seaglasslookandfeel.ui.SeaGlassTextFieldUI.installDefaults(SeaGlassTextFieldUI.java:614)
    at javax.swing.plaf.basic.BasicTextUI.installUI(Unknown Source)
    at com.seaglasslookandfeel.ui.SeaGlassTextFieldUI.installUI(SeaGlassTextFieldUI.java:691)
    at javax.swing.JComponent.setUI(Unknown Source)
    at javax.swing.text.JTextComponent.setUI(Unknown Source)
    at javax.swing.text.JTextComponent.updateUI(Unknown Source)
    at javax.swing.text.JTextComponent.<init>(Unknown Source)
    at javax.swing.JTextField.<init>(Unknown Source)
    at javax.swing.JTextField.<init>(Unknown Source)
    at com.seaglasslookandfeel.ui.SeaGlassComboBoxUI$SynthComboBoxEditor.<init>(SeaGlassComboBoxUI.java:489)
    at com.seaglasslookandfeel.ui.SeaGlassComboBoxUI.createEditor(SeaGlassComboBoxUI.java:279)
    at javax.swing.plaf.basic.BasicComboBoxUI.installUI(Unknown Source)
    at com.seaglasslookandfeel.ui.SeaGlassComboBoxUI.installUI(SeaGlassComboBoxUI.java:140)
    at javax.swing.JComponent.setUI(Unknown Source)
    at javax.swing.JComboBox.setUI(Unknown Source)
    at javax.swing.JComboBox.updateUI(Unknown Source)
    at javax.swing.JComboBox.init(Unknown Source)
    at javax.swing.JComboBox.<init>(Unknown Source)
    at sun.swing.plaf.synth.SynthFileChooserUIImpl.installComponents(Unknown Source)
    at javax.swing.plaf.basic.BasicFileChooserUI.installUI(Unknown Source)
    at sun.swing.plaf.synth.SynthFileChooserUI.installUI(Unknown Source)
    at javax.swing.JComponent.setUI(Unknown Source)
    at javax.swing.JFileChooser.updateUI(Unknown Source)
    at javax.swing.JFileChooser.setup(Unknown Source)
    at javax.swing.JFileChooser.<init>(Unknown Source)
    at javax.swing.JFileChooser.<init>(Unknown Source)
    at gui.MainWindow$1.run(MainWindow.java:88)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Original issue reported on code.google.com by zam...@gmail.com on 18 Aug 2011 at 1:38

GoogleCodeExporter commented 9 years ago
On the latest SVN code I get a crash like this on but its now on my JTable.

java.util.ConcurrentModificationException
    at java.util.Hashtable$Enumerator.next(Unknown Source)
    at com.seaglasslookandfeel.SeaGlassStyle.compileDefaults(SeaGlassStyle.java:503)
    at com.seaglasslookandfeel.SeaGlassStyle.validate(SeaGlassStyle.java:414)
    at com.seaglasslookandfeel.SeaGlassStyle.getValues(SeaGlassStyle.java:1182)
    at com.seaglasslookandfeel.SeaGlassStyle.getInsets(SeaGlassStyle.java:782)
    at com.seaglasslookandfeel.SeaGlassStyle.installDefaults(SeaGlassStyle.java:297)
    at com.seaglasslookandfeel.SeaGlassLookAndFeel.updateStyle(SeaGlassLookAndFeel.java:2717)
    at com.seaglasslookandfeel.ui.SeaGlassLabelUI.updateStyle(SeaGlassLabelUI.java:67)
    at com.seaglasslookandfeel.ui.SeaGlassLabelUI.installDefaults(SeaGlassLabelUI.java:62)
    at javax.swing.plaf.basic.BasicLabelUI.installUI(Unknown Source)
    at javax.swing.JComponent.setUI(Unknown Source)
    at javax.swing.JLabel.setUI(Unknown Source)
    at javax.swing.JLabel.updateUI(Unknown Source)
    at javax.swing.table.DefaultTableCellRenderer.updateUI(Unknown Source)
    at javax.swing.SwingUtilities.updateComponentTreeUI0(Unknown Source)
    at javax.swing.SwingUtilities.updateComponentTreeUI(Unknown Source)
    at javax.swing.table.JTableHeader.updateUI(Unknown Source)
    at javax.swing.table.JTableHeader.<init>(Unknown Source)
    at javax.swing.JTable.createDefaultTableHeader(Unknown Source)
    at javax.swing.JTable.initializeLocalVars(Unknown Source)
    at javax.swing.JTable.<init>(Unknown Source)
    at javax.swing.JTable.<init>(Unknown Source)
    at gui.MainWindow.<init>(MainWindow.java:164)
    at main.RenameMain$2.run(RenameMain.java:94)
    at java.awt.event.InvocationEvent.dispatch(Unknown Source)
    at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
    at java.awt.EventQueue.access$000(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.awt.EventQueue$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.security.AccessControlContext$1.doIntersectionPrivilege(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)

Original comment by zam...@gmail.com on 18 Aug 2011 at 2:27

GoogleCodeExporter commented 9 years ago
Hello,
It seems that you violate the Single-Thread rule.
Please read http://java.sun.com/products/jfc/tsc/articles/threads/threads1.html
carefully. I think all your problems are related to this and not to seaglass.

Have fun,
- Rossi

Original comment by rosstaus...@googlemail.com on 25 Jun 2012 at 8:53