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

Null Pointer Exception in AbstractTabuAcceptor With FULL_ASSERT Enabled

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Minor Minor
    • 7.0.0.Beta8
    • 6.5.0.Final
    • optaplanner-core
    • 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)
      

              gdesmet@redhat.com Geoffrey De Smet (Inactive)
              utey_jira Seth Utecht (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: