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@.jboss >> https://lists.jboss.org/mailman/listinfo/rules-users >> > > _______________________________________________ > rules-users mailing list > rules-users@.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@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users