[rules-users] NullPointerException with LeftTupleIndexHashTable.remove()
nxv
nxvanderlinden at gmail.com
Mon Feb 24 18:56:49 EST 2014
Hello,
any news ? Should I create an issue in JIRA ?
Nicolas-Xavier
nxv wrote
> Here is another zip (I removed the test in relation with another issue:
> DROOLS-421). The right method method to execute is
> testLeftTupleIndexHashTable()
> Drools-LeftTupleIndexHashTable-61b.zip
> <http://drools.46999.n3.nabble.com/file/n4028138/Drools-LeftTupleIndexHashTable-61b.zip>
>
>
> Here is the trace:
>
> 2014-02-17 09:04:15,450 [main] INFO Found kmodule:
> file:/E:/Project/Haulogy/EnergyComm/IDE/workspace-kepler/drools-61-bug/target/classes/META-INF/kmodule.xml
> 2014-02-17 09:04:15,454 [main] DEBUG KieModule URL type=file
> url=/Project/Haulogy/EnergyComm/IDE/workspace-kepler/drools-61-bug/target/classes
> 2014-02-17 09:04:15,521 [main] DEBUG Found and used pom.properties
> \Project\Haulogy\EnergyComm\IDE\workspace-kepler\drools-61-bug\target\classes\META-INF\maven\org.test2\test\pom.properties
> 2014-02-17 09:04:15,524 [main] DEBUG Discovered classpath module
> org.test2:test:0.0.1-SNAPSHOT
> 2014-02-17 09:04:15,527 [main] INFO KieModule was added:FileKieModule[
> ReleaseId=org.test2:test:0.0.1-SNAPSHOTfile=\Project\Haulogy\EnergyComm\IDE\workspace-kepler\drools-61-bug\target\classes]
> 2014-02-17 09:04:16,618 [main] DEBUG Starting Engine in PHREAK mode
> 2014-02-17 09:04:16,664 [main] TRACE Adding Rule Qualification##Supply
> ToStart##Fact loader##DeliveryPeriod from DeliveryPoint
> 2014-02-17 09:04:16,667 [main] TRACE Adding Rule Qualification##Supply
> ToStart##Sply-ToStrt_q-Std_crDPo
> 2014-02-17 09:04:16,726 [main] TRACE Insert [fact
> 0:1:1391516304:1391516304:1:DEFAULT:NON_TRAIT:org.after.evaluate.Message at 52f0da90]
> 2014-02-17 09:04:16,733 [main] TRACE LinkNode notify=false nmask=1 smask=1
> spos=0 rules=
> 2014-02-17 09:04:16,734 [main] TRACE LinkSegment smask=2 rmask=2
> name=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo
> 2014-02-17 09:04:16,738 [main] TRACE LinkNode notify=true nmask=1 smask=1
> spos=0 rules=[RuleMem Qualification##Supply ToStart##Fact
> loader##DeliveryPeriod from DeliveryPoint], [RuleMem Qualification##Supply
> ToStart##Sply-ToStrt_q-Std_crDPo]
> 2014-02-17 09:04:16,738 [main] TRACE Insert [fact
> 0:2:528227185:528227185:2:DEFAULT:NON_TRAIT:org.leftTupleIndexHashTable.CommonPayloadData at 1f7c1b71]
> 2014-02-17 09:04:16,739 [main] TRACE BetaNode insert=1
> stagedInsertWasEmpty=true
> 2014-02-17 09:04:16,739 [main] TRACE LinkNode notify=true nmask=2 smask=3
> spos=0 rules=[RuleMem Qualification##Supply ToStart##Fact
> loader##DeliveryPeriod from DeliveryPoint], [RuleMem Qualification##Supply
> ToStart##Sply-ToStrt_q-Std_crDPo]
> 2014-02-17 09:04:16,739 [main] TRACE LinkSegment smask=1 rmask=1
> name=Qualification##Supply ToStart##Fact loader##DeliveryPeriod from
> DeliveryPoint
> 2014-02-17 09:04:16,739 [main] TRACE LinkSegment smask=1 rmask=3
> name=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo
> 2014-02-17 09:04:16,739 [main] TRACE LinkRule
> name=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo
> 2014-02-17 09:04:16,750 [main] TRACE Queue RuleAgendaItem [Activation
> rule=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo, act#=0,
> salience=0, tuple=null]
> 2014-02-17 09:04:16,750 [main] TRACE Queue Added 1 [Activation
> rule=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo, act#=0,
> salience=0, tuple=null]
> 2014-02-17 09:04:16,750 [main] TRACE Rule[name=Qualification##Supply
> ToStart##Sply-ToStrt_q-Std_crDPo] segments=2 TupleSets[insertSize=1,
> deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,750 [main] TRACE 1 [JoinNode(5) -
> [ClassObjectType class=org.leftTupleIndexHashTable.CommonPayloadData]]
> TupleSets[insertSize=1, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,750 [main] TRACE Segment 0
> 2014-02-17 09:04:16,750 [main] TRACE 1 [JoinNode(5) -
> [ClassObjectType class=org.leftTupleIndexHashTable.CommonPayloadData]]
> TupleSets[insertSize=1, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,754 [main] TRACE rightTuples
> TupleSets[insertSize=1, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,755 [main] TRACE Segment 1
> 2014-02-17 09:04:16,755 [main] TRACE 2 [NotNode(9) -
> [ClassObjectType class=org.after.evaluate.DeliveryPoint]]
> TupleSets[insertSize=1, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,755 [main] TRACE Segment 1
> 2014-02-17 09:04:16,755 [main] TRACE 2 [NotNode(9) -
> [ClassObjectType class=org.after.evaluate.DeliveryPoint]]
> TupleSets[insertSize=1, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,755 [main] TRACE rightTuples
> TupleSets[insertSize=0, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,756 [main] TRACE 3 [RuleTerminalNode(10):
> rule=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo]
> TupleSets[insertSize=1, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,756 [main] TRACE Segment 1
> 2014-02-17 09:04:16,756 [main] TRACE 3 [RuleTerminalNode(10):
> rule=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo]
> TupleSets[insertSize=1, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,757 [main] TRACE Fire "Qualification##Supply
> ToStart##Sply-ToStrt_q-Std_crDPo"
> [[ Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo active=false ] [
> null
> [fact
> 0:2:528227185:528227185:2:DEFAULT:NON_TRAIT:org.leftTupleIndexHashTable.CommonPayloadData at 1f7c1b71]
> [fact
> 0:1:1391516304:1391516304:1:DEFAULT:NON_TRAIT:org.after.evaluate.Message at 52f0da90]
> ] ]
> 2014-02-17 09:04:16,760 [main] TRACE Update [fact
> 0:2:528227185:528227185:3:DEFAULT:NON_TRAIT:org.leftTupleIndexHashTable.CommonPayloadData at 1f7c1b71]
> 2014-02-17 09:04:16,761 [main] TRACE LinkSegment smask=1 rmask=1
> name=Qualification##Supply ToStart##Fact loader##DeliveryPeriod from
> DeliveryPoint
> 2014-02-17 09:04:16,761 [main] TRACE LinkSegment smask=1 rmask=3
> name=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo
> 2014-02-17 09:04:16,761 [main] TRACE LinkRule
> name=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo
> 2014-02-17 09:04:16,761 [main] TRACE Insert [fact
> 0:3:2030712447:2030712447:4:DEFAULT:NON_TRAIT:org.after.evaluate.DeliveryPoint at 790a367f]
> 2014-02-17 09:04:16,761 [main] TRACE BetaNode insert=1
> stagedInsertWasEmpty=true
> 2014-02-17 09:04:16,761 [main] TRACE LinkNode notify=true nmask=1 smask=1
> spos=1 rules=[RuleMem Qualification##Supply ToStart##Fact
> loader##DeliveryPeriod from DeliveryPoint]
> 2014-02-17 09:04:16,761 [main] TRACE LinkSegment smask=2 rmask=3
> name=Qualification##Supply ToStart##Fact loader##DeliveryPeriod from
> DeliveryPoint
> 2014-02-17 09:04:16,761 [main] TRACE LinkRule
> name=Qualification##Supply ToStart##Fact loader##DeliveryPeriod from
> DeliveryPoint
> 2014-02-17 09:04:16,761 [main] TRACE Queue RuleAgendaItem [Activation
> rule=Qualification##Supply ToStart##Fact loader##DeliveryPeriod from
> DeliveryPoint, act#=2, salience=0, tuple=null]
> 2014-02-17 09:04:16,761 [main] TRACE Queue Added 1 [Activation
> rule=Qualification##Supply ToStart##Fact loader##DeliveryPeriod from
> DeliveryPoint, act#=2, salience=0, tuple=null]
> 2014-02-17 09:04:16,762 [main] TRACE LinkNode notify=true nmask=1 smask=1
> spos=1 rules=[RuleMem Qualification##Supply
> ToStart##Sply-ToStrt_q-Std_crDPo]
> 2014-02-17 09:04:16,762 [main] TRACE LinkSegment smask=2 rmask=3
> name=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo
> 2014-02-17 09:04:16,762 [main] TRACE LinkRule
> name=Qualification##Supply ToStart##Sply-ToStrt_q-Std_crDPo
> 2014-02-17 09:04:16,762 [main] TRACE Rule[name=Qualification##Supply
> ToStart##Fact loader##DeliveryPeriod from DeliveryPoint] segments=2
> TupleSets[insertSize=0, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,762 [main] TRACE 4 [JoinNode(5) -
> [ClassObjectType class=org.leftTupleIndexHashTable.CommonPayloadData]]
> TupleSets[insertSize=0, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,762 [main] TRACE Segment 0
> 2014-02-17 09:04:16,762 [main] TRACE 4 [JoinNode(5) -
> [ClassObjectType class=org.leftTupleIndexHashTable.CommonPayloadData]]
> TupleSets[insertSize=0, deleteSize=0, updateSize=0]
> 2014-02-17 09:04:16,762 [main] TRACE rightTuples
> TupleSets[insertSize=0, deleteSize=0, updateSize=1]
> 2014-02-17 09:04:16,762 [main] TRACE Segment 1
> 2014-02-17 09:04:16,762 [main] TRACE 5 [JoinNode(7) -
> [ClassObjectType class=org.after.evaluate.DeliveryPoint]]
> TupleSets[insertSize=0, deleteSize=0, updateSize=1]
> 2014-02-17 09:04:16,762 [main] TRACE Segment 1
> 2014-02-17 09:04:16,762 [main] TRACE 5 [JoinNode(7) -
> [ClassObjectType class=org.after.evaluate.DeliveryPoint]]
> TupleSets[insertSize=0, deleteSize=0, updateSize=1]
> 2014-02-17 09:04:16,762 [main] TRACE rightTuples
> TupleSets[insertSize=1, deleteSize=0, updateSize=0]
>
> Mark Proctor wrote
>> Also as a tip, turn on TRACE mode, for the logback.xml, and post back the
>> results.
>>
>> Mark
>>
>> <?xml version="1.0" encoding="UTF-8"?>
>> <configuration>
>>
>> <appender name="consoleAppender"
>> class="ch.qos.logback.core.ConsoleAppender">
>>
>> <encoder>
>>
>> <pattern>
>> %d [%t] %-5p %m%n
>> </pattern>
>>
>> </encoder>
>>
>> </appender>
>>
>> <logger name="org.drools" level=“TRACE"/>
>>
>> <root level="info">
>>
>> <appender-ref ref="consoleAppender" />
>>
>> </root>
>>
>> </configuration>
>>
>>
>>
>> On 16 Feb 2014, at 23:55, Mark Proctor <
>> mproctor@
>> > wrote:
>>
>>> you have two drl files. One with two rules, one with one rule. Which is
>>> the rule you were adding and removing to see the bug?
>>>
>>> Mark
>>> On 16 Feb 2014, at 22:50, nxv <
>> nxvanderlinden@
>> > wrote:
>>>
>>>> Here is the unit test. Drools-LeftTupleIndexHashTable-61.zip
>>>> <http://drools.46999.n3.nabble.com/file/n4028135/Drools-LeftTupleIndexHashTable-61.zip>
>>>>
>>>>
>>>> Mark Proctor wrote
>>>>> Can you paste the 3 rules, that cause the issue? We’ll see if we can
>>>>> gleam
>>>>> something from that, while we wait for your unit test.
>>>>>
>>>>> Mark
>>>>> On 16 Feb 2014, at 19:25, nxv <
>>>>
>>>>> nxvanderlinden@
>>>>
>>>>> > wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> I keep trying to migrate drools from 5.5 to 6 on my project. I found
>>>>>> a
>>>>>> second regression/issue. I'm trying to produce a unit test for
>>>>>> 6.1.0-SNAPSHOT but I face some difficulties to determine the cause of
>>>>>> this
>>>>>> issue. So I have a drl with 3 rules. I'm a bit disappointed because
>>>>>> if
>>>>>> I
>>>>>> switch two rules (without modifying anything, just switch one rule
>>>>>> with
>>>>>> another in the drl file), the NPE disappears...
>>>>>>
>>>>>>
>>>>>> Here is the stacktrace:
>>>>>>
>>>>>> java.lang.NullPointerException
>>>>>> at
>>>>>> org.drools.core.util.index.LeftTupleIndexHashTable.remove(LeftTupleIndexHashTable.java:386)
>>>>>> at
>>>>>> org.drools.core.phreak.RuleNetworkEvaluator.doUpdatesReorderLeftMemory(RuleNetworkEvaluator.java:799)
>>>>>> at
>>>>>> org.drools.core.phreak.PhreakJoinNode.doNode(PhreakJoinNode.java:38)
>>>>>> at
>>>>>> org.drools.core.phreak.RuleNetworkEvaluator.switchOnDoBetaNode(RuleNetworkEvaluator.java:547)
>>>>>> at
>>>>>> org.drools.core.phreak.RuleNetworkEvaluator.evalBetaNode(RuleNetworkEvaluator.java:533)
>>>>>> at
>>>>>> org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:334)
>>>>>> at
>>>>>> org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:161)
>>>>>> at
>>>>>> org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:116)
>>>>>> at
>>>>>> org.drools.core.phreak.RuleExecutor.reEvaluateNetwork(RuleExecutor.java:201)
>>>>>> at
>>>>>> org.drools.core.phreak.RuleExecutor.evaluateNetworkAndFire(RuleExecutor.java:68)
>>>>>> at
>>>>>> org.drools.core.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:935)
>>>>>> at
>>>>>> org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1200)
>>>>>> at
>>>>>> org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:952)
>>>>>> at
>>>>>> org.drools.core.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:926)
>>>>>> at
>>>>>> org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:232)
>>>>>> at
>>>>>> org.drools.core.command.runtime.rule.FireAllRulesCommand.execute(FireAllRulesCommand.java:106)
>>>>>> at
>>>>>> org.drools.core.command.runtime.rule.FireAllRulesCommand.execute(FireAllRulesCommand.java:32)
>>>>>> at
>>>>>> org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:155)
>>>>>> at
>>>>>> org.drools.core.command.runtime.BatchExecutionCommandImpl.execute(BatchExecutionCommandImpl.java:76)
>>>>>> at
>>>>>> org.drools.core.impl.StatelessKnowledgeSessionImpl.execute(StatelessKnowledgeSessionImpl.java:334)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> View this message in context:
>>>>>> http://drools.46999.n3.nabble.com/NullPointerException-with-LeftTupleIndexHashTable-remove-tp4028133.html
>>>>>> Sent from the Drools: User forum mailing list archive at Nabble.com.
>>>>>> _______________________________________________
>>>>>> rules-users mailing list
>>>>>>
>>>>
>>>>> rules-users at .jboss
>>>>
>>>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> rules-users mailing list
>>>>
>>>>> rules-users at .jboss
>>>>
>>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://drools.46999.n3.nabble.com/NullPointerException-with-LeftTupleIndexHashTable-remove-tp4028133p4028135.html
>>>> Sent from the Drools: User forum mailing list archive at Nabble.com.
>>>>
>>>> _______________________________________________
>>>> rules-users mailing list
>>>>
>> rules-users at .jboss
>>>> https://lists.jboss.org/mailman/listinfo/rules-users
>>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users at .jboss
>> https://lists.jboss.org/mailman/listinfo/rules-users
--
View this message in context: http://drools.46999.n3.nabble.com/NullPointerException-with-LeftTupleIndexHashTable-remove-tp4028133p4028282.html
Sent from the Drools: User forum mailing list archive at Nabble.com.
More information about the rules-users
mailing list