Description of problem: LeftTupleIndexHashTable.remove() operation ended on NPE when called in test DinnerPartyPerformanceTest.solveModel_wedding01() from optaplanner community repo. I cannot reproduce it, so it's probably some specific case of add, remove operations combination. We can probably exclude concurrency from possible causes because optaplanner is single-threaded. I'll try to create a reproducer for this, but it's a tricky stuff, so it will take longer. Here's the stack trace: java.lang.NullPointerException: null at org.drools.core.util.index.LeftTupleIndexHashTable.remove(LeftTupleIndexHashTable.java:386) at org.drools.core.phreak.PhreakNotNode.doRightUpdates(PhreakNotNode.java:334) at org.drools.core.phreak.PhreakNotNode.doNode(PhreakNotNode.java:57) at org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(RuleNetworkEvaluator.java:526) at org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:507) at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:319) at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:149) at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:106) at org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:161) at org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:57) at org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:987) at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1301) at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1286) at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1259) at org.optaplanner.core.impl.score.director.drools.DroolsScoreDirector.calculateScore(DroolsScoreDirector.java:87) at org.optaplanner.core.impl.solver.scope.DefaultSolverScope.calculateScore(DefaultSolverScope.java:110) at org.optaplanner.core.impl.phase.scope.AbstractPhaseScope.calculateScore(AbstractPhaseScope.java:123) at org.optaplanner.core.impl.localsearch.decider.LocalSearchDecider.processMove(LocalSearchDecider.java:162) 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:66) at org.optaplanner.core.impl.solver.DefaultSolver.runPhases(DefaultSolver.java:213) at org.optaplanner.core.impl.solver.DefaultSolver.solve(DefaultSolver.java:176) at org.optaplanner.examples.common.app.SolverPerformanceTest.solve(SolverPerformanceTest.java:79) at org.optaplanner.examples.common.app.SolverPerformanceTest.runSpeedTest(SolverPerformanceTest.java:63) at org.optaplanner.examples.common.app.SolverPerformanceTest.runSpeedTest(SolverPerformanceTest.java:58) at org.optaplanner.examples.dinnerparty.app.DinnerPartyPerformanceTest.solveModel_wedding01(DinnerPartyPerformanceTest.java:46) Version-Release number of selected component (if applicable): 6.2.0.Final-redhat-9 Additional info: Test failed running on aix7 environment with ibm jdk 7
We are still unable to reproduce the reported problem so I'm closing this issue for now. Feel free to reopen it if you can provide a reproducer.