java.lang.IllegalStateException: The move thread with moveThreadIndex (0) has thrown an exception. Relayed here in the parent thread. at org.optaplanner.core.impl.heuristic.thread.OrderByMoveIndexBlockingQueue.take(OrderByMoveIndexBlockingQueue.java:142) at org.optaplanner.core.impl.constructionheuristic.decider.MultiThreadedConstructionHeuristicDecider.forageResult(MultiThreadedConstructionHeuristicDecider.java:185) at org.optaplanner.core.impl.constructionheuristic.decider.MultiThreadedConstructionHeuristicDecider.decideNextStep(MultiThreadedConstructionHeuristicDecider.java:155) at org.optaplanner.core.impl.constructionheuristic.DefaultConstructionHeuristicPhase.solve(DefaultConstructionHeuristicPhase.java:74) at org.optaplanner.core.impl.solver.AbstractSolver.runPhases(AbstractSolver.java:88) at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:191) at org.optaplanner.examples.common.app.SolverPerformanceTest.runSpeedTest(SolverPerformanceTest.java:98) at org.optaplanner.examples.examination.app.ExaminationPerformanceTest.solveComp_set5FastAssert(ExaminationPerformanceTest.java:50) Caused by: java.util.ConcurrentModificationException: null at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134) at org.drools.core.impl.KnowledgeBaseImpl.getOrCreateExactTypeDeclaration(KnowledgeBaseImpl.java:1458) at org.drools.core.common.NamedEntryPoint.update(NamedEntryPoint.java:324) at org.drools.core.impl.StatefulKnowledgeSessionImpl.update(StatefulKnowledgeSessionImpl.java:1570) at org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector.update(DroolsScoreDirector.java:254) at org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector.afterVariableChanged(DroolsScoreDirector.java:241) at org.optaplanner.core.impl.heuristic.selector.move.generic.ChangeMove.doMoveOnGenuineVariables(ChangeMove.java:78) at org.optaplanner.core.impl.heuristic.move.AbstractMove.doMove(AbstractMove.java:40) at org.optaplanner.core.impl.heuristic.move.AbstractMove.doMove(AbstractMove.java:30) at org.optaplanner.core.impl.heuristic.move.CompositeMove.doMove(CompositeMove.java:108) at org.optaplanner.core.impl.heuristic.move.CompositeMove.doMove(CompositeMove.java:37) at org.optaplanner.core.impl.score.director.AbstractScoreDirector.doAndProcessMove(AbstractScoreDirector.java:178) at org.optaplanner.core.impl.heuristic.thread.MoveThreadRunner.run(MoveThreadRunner.java:145) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:834)