-
Bug
-
Resolution: Done
-
Blocker
-
None
-
None
-
NEW
-
NEW
Reported by 2 different users:
- https://stackoverflow.com/questions/71971738/intermittent-npe-in-optaplanner-constraint-streams
- https://groups.google.com/g/optaplanner-dev/c/iuBlw0foB6c
Only when moveThreadCount != NONE. The stacktrace is different but does look to have a similar cause.
[ERROR] [pool-410-thread-1] [or.op.co.im.so.DefaultSolverManager] [] Solving failed for problemId (18bac18d-b240-494d-86b9-2df9ddba153b).: 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:147) at org.optaplanner.core.impl.constructionheuristic.decider.MultiThreadedConstructionHeuristicDecider.forageResult(MultiThreadedConstructionHeuristicDecider.java:193) at org.optaplanner.core.impl.constructionheuristic.decider.MultiThreadedConstructionHeuristicDecider.decideNextStep(MultiThreadedConstructionHeuristicDecider.java:158) at org.optaplanner.core.impl.constructionheuristic.DefaultConstructionHeuristicPhase.solve(DefaultConstructionHeuristicPhase.java:64) at org.optaplanner.core.impl.solver.AbstractSolver.runPhases(AbstractSolver.java:99) at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:209) at org.optaplanner.core.impl.solver.DefaultSolverJob.call(DefaultSolverJob.java:121) at java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.lang.Thread.run(Thread.java:829) at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:597) at com.oracle.svm.core.posix.thread.PosixJavaThreads.pthreadStartRoutine(PosixJavaThreads.java:194) Caused by: Exception executing consequence for rule "Some rule name" in package.of.rule.in.constraint.provider: java.lang.NullPointerException at org.drools.wiring.statics.StaticComponentsSupplier$StaticConsequenceExceptionHandler.handleException(StaticComponentsSupplier.java:81) at org.drools.kiesession.agenda.DefaultAgenda.handleException(DefaultAgenda.java:935) at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:460) at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:101) at org.drools.core.concurrent.AbstractRuleEvaluator.internalEvaluateAndFire(AbstractRuleEvaluator.java:33) at org.drools.core.concurrent.SequentialRuleEvaluator.evaluateAndFire(SequentialRuleEvaluator.java:43) at org.drools.kiesession.agenda.DefaultAgenda.fireLoop(DefaultAgenda.java:748) at org.drools.kiesession.agenda.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:695) at org.drools.kiesession.agenda.DefaultAgenda.fireAllRules(DefaultAgenda.java:687) at org.drools.kiesession.session.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1092) at org.drools.kiesession.session.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1083) at org.drools.kiesession.session.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1075) at org.optaplanner.constraint.streams.drools.DroolsConstraintStreamScoreDirector.calculateScore(DroolsConstraintStreamScoreDirector.java:85) at org.optaplanner.core.impl.score.director.AbstractScoreDirector.doAndProcessMove(AbstractScoreDirector.java:222) at org.optaplanner.core.impl.heuristic.thread.MoveThreadRunner.run(MoveThreadRunner.java:147) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) ... 6 more Caused by: java.lang.NullPointerException at org.optaplanner.constraint.streams.drools.common.AbstractRuleContext.runConsequence(AbstractRuleContext.java:58) at org.optaplanner.constraint.streams.drools.common.UniRuleContext.lambda$newRuleBuilder$f02e01a4$1(UniRuleContext.java:52) at org.drools.model.functions.Block3$Impl.execute(Block3.java:40) at org.drools.modelcompiler.consequence.LambdaConsequence.evaluate(LambdaConsequence.java:76) at org.drools.core.phreak.RuleExecutor.innerFireActivation(RuleExecutor.java:454) ... 19 more
- is caused by
-
DROOLS-6961 NullPointerException in LambdaConsequence with global in executable-model
- Closed