Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Substance] Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException #299

Closed
chirstwy opened this issue Jul 21, 2020 · 2 comments
Assignees
Labels
3.5 - Emerald Release 3.5 - 2020.H2

Comments

@chirstwy
Copy link

When operating the interface, this exception will suddenly be thrown, and the frequency of occurrence is uncertain。

Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException at java.base/java.util.HashMap$HashIterator.nextNode(HashMap.java:1494) at java.base/java.util.HashMap$EntryIterator.next(HashMap.java:1527) at java.base/java.util.HashMap$EntryIterator.next(HashMap.java:1525) at java.base/java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1.next(Collections.java:1662) at java.base/java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1.next(Collections.java:1655) at org.pushingpixels.substance.internal.widget.animation.effects.GhostPaintingUtils.paintGhostImages(GhostPaintingUtils.java:246) at org.pushingpixels.substance.internal.ui.SubstanceToolBarUI.update(SubstanceToolBarUI.java:78) at java.desktop/javax.swing.JComponent.paintComponent(JComponent.java:798) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1075) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5256) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1633) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1608) at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1546) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1313) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5204) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5014) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:857) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:840) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:840) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:815) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:764) at java.desktop/javax.swing.RepaintManager.access$1200(RepaintManager.java:69) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1880) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764) at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:734) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:117) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233) at java.desktop/java.awt.Dialog.show(Dialog.java:1070) at java.desktop/javax.swing.ColorChooserDialog.show(JColorChooser.java:744) at java.desktop/javax.swing.JColorChooser.showDialog(JColorChooser.java:173) at java.desktop/javax.swing.JColorChooser.showDialog(JColorChooser.java:134) at ultrasonic.data.Main.jButton7ActionPerformed(Main.java:672) at ultrasonic.data.Main.access$200(Main.java:70) at ultrasonic.data.Main$3.actionPerformed(Main.java:559) at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967) at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308) at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405) at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262) at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:269) at org.pushingpixels.substance.internal.utils.RolloverButtonListener.mouseReleased(RolloverButtonListener.java:108) at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:298) at java.desktop/java.awt.Component.processMouseEvent(Component.java:6578) at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3343) at java.desktop/java.awt.Component.processEvent(Component.java:6343) at java.desktop/java.awt.Container.processEvent(Container.java:2259) at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4961) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2317) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793) at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904) at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4539) at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4480) at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2303) at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2758) at java.desktop/java.awt.Component.dispatchEvent(Component.java:4793) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766) at java.desktop/java.awt.EventQueue.access$500(EventQueue.java:97) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:717) at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:711) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:99) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:739) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:737) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:89) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:736) at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:199) at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124) at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109) at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Version of Radiance (current development is 3.5-SNAPSHOT)

Sub-project (Neon, Trident, Substance, Flamingo, ...)

Version of Java (9)

Version of OS

@kirill-grouchnikov
Copy link
Owner

I've seen this in the past in the Rainbow demo that is part of Radiance (navigating the local disk structure with the breadcrumb bar), but can no longer reproduce this crash there. Do you have a way to reliably reproduce this in 3.5-SNAPSHOT in a small, standalone app?

@chirstwy
Copy link
Author

I've seen this in the past in the Rainbow demo that is part of Radiance (navigating the local disk structure with the breadcrumb bar), but can no longer reproduce this crash there. Do you have a way to reliably reproduce this in 3.5-SNAPSHOT in a small, standalone app?

If you reproduce the problem, you can run the demo code: Check.java 。 After running the program, in the general settings, check the animation effect of icon rollover, and move the mouse to and fro on the toolbar. This exception will be thrown. Is it that after the animation is started, repeated for many times caused the thread to be out of sync?

@kirill-grouchnikov kirill-grouchnikov changed the title Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException [Substance] Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException Aug 30, 2020
@kirill-grouchnikov kirill-grouchnikov self-assigned this Aug 30, 2020
@kirill-grouchnikov kirill-grouchnikov added the 3.5 - Emerald Release 3.5 - 2020.H2 label Aug 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.5 - Emerald Release 3.5 - 2020.H2
Projects
None yet
Development

No branches or pull requests

2 participants