[rules-users] NPE exception when retracting fact in Drools 5.5.0.Final and 5.3.0.Final

Davide Sottara dsotty at gmail.com
Wed Oct 16 15:11:28 EDT 2013


Could you try 5.6.0-SNAPSHOT?
Thanks
Davide

On 10/15/2013 10:53 AM, Bransford-Koons, Geoff wrote:
>
> I'm trying to update our application from Drools 4.0.7 to Drools 5.5
> (or 5.3 if that's better).
>
>  
>
> All the rules compile and I am serializing the KnowledgeBase and
> reading it in upon application start-up.
>
>  
>
> Inserting facts works find.  Retracting can often return the
> NullPointerException shown below.  That clip comes from a unit test
> that literally just inserts 10 "TestFact" objects and then tries to
> retract them one at a time.  No rule firing happens, just insertion
> and retraction.  I did try adding a rule firing in between the insert
> and retraction loops but it made no difference.  These "TestFact"
> object don't actually trigger any rules if that matters.
>
>  
>
> I've tried this with both the Drools 5.5.0.Final and 5.3.0.Final jars
> with the same results.  Searches on the forum and on Google show this
> as a bug in 5.5.0.Final, but say it should work in 5.3.0.Final.  It
> doesn't work on either for me.
>
>  
>
> I am going to try some variations on this test, but it seems like this
> should work as-is. 
>
>  
>
> Any suggestions would be greatly appreciated.
>
>  
>
> 2013-10-14 11:56:02,533 (ERROR) [AgdKnowledgeSession] caught exception
> trying to retract TestFact [name=testfact-0]
>
> _java.lang.NullPointerException_
>
>        at
> org.drools.core.util.RightTupleIndexHashTable.remove(_RightTupleIndexHashTable.java:365_)
>
>        at org.drools.reteoo.NotNode.retractRightTuple(_NotNode.java:172_)
>
>        at
> org.drools.reteoo.ObjectTypeNode.retractObject(_ObjectTypeNode.java:257_)
>
>        at
> org.drools.reteoo.EntryPointNode.retractObject(_EntryPointNode.java:330_)
>
>        at
> org.drools.common.NamedEntryPoint.retract(_NamedEntryPoint.java:542_)
>
>        at
> org.drools.common.NamedEntryPoint.retract(_NamedEntryPoint.java:486_)
>
>        at
> com.teradata.agd.AgdKnowledgeSession.retract(_AgdKnowledgeSession.java:134_)
>
>        at
> com.teradata.agd.AgCoreManager.executeFactEvent(_AgCoreManager.java:279_)
>
>        at
> com.teradata.agd.AgCoreManager.executeRuleEngine(_AgCoreManager.java:189_)
>
>        at com.teradata.agd.AgCoreManager.enqueue(_AgCoreManager.java:259_)
>
>        at
> com.teradata.agd.AgCoreManager.retractFact(_AgCoreManager.java:480_)
>
>        at
> com.teradata.agdtest.functional.FactInsertionAndRetractionTest.testFactInsertion(_FactInsertionAndRetractionTest.java:50_)
>
>        at sun.reflect.NativeMethodAccessorImpl.invoke0(_Native Method_)
>
>        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>
>        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
>
>        at java.lang.reflect.Method.invoke(Unknown Source)
>
>        at
> org.testng.internal.MethodInvocationHelper.invokeMethod(_MethodInvocationHelper.java:84_)
>
>        at org.testng.internal.Invoker.invokeMethod(_Invoker.java:714_)
>
>        at org.testng.internal.Invoker.invokeTestMethod(_Invoker.java:901_)
>
>        at
> org.testng.internal.Invoker.invokeTestMethods(_Invoker.java:1231_)
>
>        at
> org.testng.internal.TestMethodWorker.invokeTestMethods(_TestMethodWorker.java:127_)
>
>        at
> org.testng.internal.TestMethodWorker.run(_TestMethodWorker.java:111_)
>
>        at org.testng.TestRunner.privateRun(_TestRunner.java:767_)
>
>        at org.testng.TestRunner.run(_TestRunner.java:617_)
>
>        at org.testng.SuiteRunner.runTest(_SuiteRunner.java:335_)
>
>        at org.testng.SuiteRunner.runSequentially(_SuiteRunner.java:330_)
>
>        at org.testng.SuiteRunner.privateRun(_SuiteRunner.java:291_)
>
>        at org.testng.SuiteRunner.run(_SuiteRunner.java:240_)
>
>        at
> org.testng.SuiteRunnerWorker.runSuite(_SuiteRunnerWorker.java:52_)
>
>        at org.testng.SuiteRunnerWorker.run(_SuiteRunnerWorker.java:86_)
>
>        at org.testng.TestNG.runSuitesSequentially(_TestNG.java:1224_)
>
>        at org.testng.TestNG.runSuitesLocally(_TestNG.java:1149_)
>
>        at org.testng.TestNG.run(_TestNG.java:1057_)
>
>        at org.testng.remote.RemoteTestNG.run(_RemoteTestNG.java:111_)
>
>        at
> org.testng.remote.RemoteTestNG.initAndRun(_RemoteTestNG.java:204_)
>
>        at org.testng.remote.RemoteTestNG.main(_RemoteTestNG.java:175_)
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20131016/9bf14941/attachment-0001.html 


More information about the rules-users mailing list