Uploaded image for project: 'OptaPlanner'
  1. OptaPlanner
  2. PLANNER-2696

Examples: problem change while solving causes ConcurrentModificationException sometimes

    XMLWordPrintable

Details

    • 2022 Week 20-22 (from May 16)
    • 1
    • NEW
    • NEW

    Description

      Run the Vehicle Routing example and keep adding new visits using a right-click until you see the following exception:

      Exception in thread "AWT-EventQueue-0" java.util.ConcurrentModificationException
      	at java.base/java.util.ArrayList$Itr.checkForComodification(ArrayList.java:1013)
      	at java.base/java.util.ArrayList$Itr.next(ArrayList.java:967)
      	at org.optaplanner.core.impl.domain.solution.descriptor.SolutionDescriptor.visitAllFacts(SolutionDescriptor.java:918)
      	at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirector.resetConstraintStreamingSession(DroolsConstraintStreamScoreDirector.java:79)
      	at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirector.setWorkingSolution(DroolsConstraintStreamScoreDirector.java:67)
      	at org.optaplanner.core.impl.score.DefaultScoreManager.updateScore(DefaultScoreManager.java:53)
      	at org.optaplanner.examples.common.business.SolutionBusiness.getScore(SolutionBusiness.java:245)
      	at org.optaplanner.examples.common.swingui.SolutionPanel.doProblemChange(SolutionPanel.java:210)
      	at org.optaplanner.examples.common.swingui.SolutionPanel.doProblemChange(SolutionPanel.java:204)
      	at org.optaplanner.examples.vehiclerouting.swingui.VehicleRoutingPanel.insertLocationAndCustomer(VehicleRoutingPanel.java:98)
      	at org.optaplanner.examples.vehiclerouting.swingui.VehicleRoutingWorldPanel$2.mousePressed(VehicleRoutingWorldPanel.java:58)
      	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6623)
      	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
      	at java.desktop/java.awt.Component.processEvent(Component.java:6391)
      	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
      	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
      	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
      	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
      	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
      	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4572)
      	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
      	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
      	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
      	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
      	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
      	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
      	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
      	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
      	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
      	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
      	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
      	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
      	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
      	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
      	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
      	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)
      
      

      Attachments

        Activity

          People

            rsynek@redhat.com Radovan Synek
            jlocker Jiří Locker
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: