[rules-users] 5.6.0.CR1 gives a NullPointerException in after evaluator

Mark Proctor mproctor at codehaus.org
Mon Jan 13 02:05:29 EST 2014


That was recreated on 5.6.0.CR1 ? The 5.6 ship has sailed now :( and currently there are no plans for 5.7 any time soon. We should focus on making sure this is fixed in 6.x.

Mark
On 12 Jan 2014, at 19:21, nxv <nxvanderlinden at gmail.com> wrote:

> Hello,
> 
> I'm able to reproduce this issue with a KB containing only 1 rule.
> 
> rule "Qualification##ToControl"
> 	salience 50
>    when
> 		$p: AccessRegisterSnapshot(
> 				$effDt: effectivedate )
> 		$dpo: DeliveryPoint()
> 		$gCfg: GeneralConfig(
> 				( todate == null || 
> 				  ( todate after[ 0d ] $effDt &&
> 				    todate after[ 1ms ] fromdate ) ) )
> 				from $dpo.generalConfigs
>    then
>    	
> end
> 
> This rule worked under drools 5.5.0.Final.  
> 
> Caused by: java.lang.NullPointerException at
> org.drools.base.evaluators.AfterEvaluatorDefinition$AfterEvaluator.evaluate(AfterEvaluatorDefinition.java:347)
> 	at org.drools.base.EvaluatorWrapper.evaluate(EvaluatorWrapper.java:99)
> 
> 
> 
> 
> Davide Sottara wrote
>> I tried to reproduce the problem, with no success.
>> Could you please create a self-contained unit test?
>> If confirmed, I'll fix the problem as soon as possible
>> Thanks
>> Davide
>> 
>> On 11/14/2013 04:48 AM, abr wrote:
>>> Hi everyone,
>>> 
>>> I tried to switch from 5.5.0.Final to 5.6.0.CR1 and got a null pointer
>>> exception in the evaluation of the after evaluator.
>>> (Exact method is:
>>> /org.drools.base.evaluators.AfterEvaluatorDefinition.AfterEvaluator.evaluate(InternalWorkingMemory,
>>> InternalReadAccessor, InternalFactHandle, InternalReadAccessor,
>>> InternalFactHandle)/ )
>>> 
>>> When debugging, the exception occurs at the very first line of the
>>> method,
>>> in:
>>> /    if ( extractor1.isNullValue( workingMemory, handle1.getObject() ) || 
>>>            extractor2.isNullValue( workingMemory, handle2.getObject() )
>>> ) {
>>>        return false;
>>>    }
>>> /
>>> The cause of the exception is that handle1 is null.
>>> 
>>> The rule where the exception occurs looks like:
>>> /    MyFact(
>>>        fromdate before[ 0d ] $min,
>>>        ( todate == null || todate after[ 0d ] $max ) )
>>> /
>>> 
>>> When the exception occurs, /MyFact.fromdate/ is not null, /$min/ is not
>>> null, /MyFact.todate/ is null, /$max/ is not null.
>>> In AfterEvaluator.evaluate : /extractor1/ refers to /MyFact.todate/,
>>> /extractor2/ refers to /$max/, /handle1/ is null, /handle2/ refers to the
>>> fact including the attribute to which /$max/ variable is bound to.
>>> 
>>> Of course, this worked fine in 5.5.0.Final.
>>> I couldn't test this out in Drools 6.0.0.CR5 because I have dependencies
>>> to
>>> drools-spring JAR that does not exist anymore in 6.0.0.CR5.
>>> 
>>> Is it simple to fix this problem?
>>> 
>>> Thanks in advance.
>>> 
>>> Best,
>>> Alexis
>>> 
>>> 
>>> 
>>> --
>>> View this message in context:
>>> http://drools.46999.n3.nabble.com/5-6-0-CR1-gives-a-NullPointerException-in-after-evaluator-tp4026780.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/5-6-0-CR1-gives-a-NullPointerException-in-after-evaluator-tp4026780p4027661.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> 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/20140113/8678d05f/attachment.html 


More information about the rules-users mailing list