-
Bug
-
Resolution: Done
-
Minor
-
6.5.0.Final
-
None
-
NEW
-
NEW
I'm using a nullable planning value, and line 173 in the AbstractTabuAcceptor class seems to assume that tabu objects in the tabuSequenceList will never be null. It only crops up when using FULL_ASSERT, so it's not an issue during production.
Call Stack:
Caused by: java.lang.NullPointerException
at org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.AbstractTabuAcceptor.locateMaximumTabStepIndex(AbstractTabuAcceptor.java:173)
at org.optaplanner.core.impl.localsearch.decider.acceptor.tabu.AbstractTabuAcceptor.isAccepted(AbstractTabuAcceptor.java:132)
at org.optaplanner.core.impl.localsearch.decider.acceptor.CompositeAcceptor.isAccepted(CompositeAcceptor.java:72)
at org.optaplanner.core.impl.localsearch.decider.LocalSearchDecider.processMove(LocalSearchDecider.java:166)
at org.optaplanner.core.impl.localsearch.decider.LocalSearchDecider.doMove(LocalSearchDecider.java:149)
at org.optaplanner.core.impl.localsearch.decider.LocalSearchDecider.decideNextStep(LocalSearchDecider.java:121)
at org.optaplanner.core.impl.localsearch.DefaultLocalSearchPhase.solve(DefaultLocalSearchPhase.java:72)
at org.optaplanner.core.impl.solver.DefaultSolver.runPhases(DefaultSolver.java:215)
at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:176)
at org.optaplanner.benchmark.impl.SubSingleBenchmarkRunner.call(SubSingleBenchmarkRunner.java:105)
at org.optaplanner.benchmark.impl.SubSingleBenchmarkRunner.call(SubSingleBenchmarkRunner.java:35)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)