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

Davide Sottara dsotty at gmail.com
Mon Feb 3 20:01:21 EST 2014


Noted, and under investigation.
Thanks
Davide

On 02/03/2014 12:32 PM, nxv wrote:
> Hello,
>
> I have the same problem with kie 6.1.0-SNAPSHOT :(
>
> Here is the unit test:  Drools-after-61.zip
> <http://drools.46999.n3.nabble.com/file/n4027965/Drools-after-61.zip>  
>
>
>
> nxv wrote
>> The problem is the same as reported by abr.  I work with abr on the
>> project :)  As he could not reproduce the bug, I just removed lines of
>> code as much as possible to keep only the essentials.  Here is a unit
>> test: 
>> Drools-after.zip
>> <http://drools.46999.n3.nabble.com/file/n4027676/Drools-after.zip>  
>>
>> Davide Sottara wrote
>>> This is unlikely to be the same exception that started the initial
>>> thread, but a problem nevertheless.. :(
>>> could you create a self-contained test case and submit it?
>>> Thanks
>>> Davide
>>>
>>> On 01/13/2014 08:05 AM, Mark Proctor wrote:
>>>> 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 &lt;
>>> nxvanderlinden@
>>> &gt; &lt;mailto:
>>> nxvanderlinden@
>>> &gt;> 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.
>
>
>
>
> --
> View this message in context: http://drools.46999.n3.nabble.com/5-6-0-CR1-gives-a-NullPointerException-in-after-evaluator-tp4026780p4027965.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
>



More information about the rules-users mailing list