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@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@.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