[rules-dev] I can reproduce JBRULES-2796. Should I create a test case? (NPE in FromNode.destroyCreatedHandles)

Solomon Gibbs solomon.gibbs at gmail.com
Thu Mar 17 23:01:47 EDT 2011


On Thu, Mar 17, 2011 at 12:46 PM, Wolfgang Laun <wolfgang.laun at gmail.com> wrote:
> On 17 March 2011 15:16, Solomon Gibbs <solomon.gibbs at gmail.com> wrote:
>>
>> Okay, I've confirmed that it does not appear in 5.2.0.M1.
>
> Fine.
>
>>
>> I may have to continue working on the test case to find a work around. I'm
>> a bit reluctant to ship my customer something built on a M1 version.
>
> Understandably. What's the rule you have to work around?

The rule as written was this:

rule "InstructorAvailabilityConflict"
  when
    $instructor : Instructor($leaves : leave)
    $meet : BlockDay(instructors contains $instructor, $bstartTime :
startTime, $bendTime : endTime)
    $leave : Leave(
	            (startTime >= $bstartTime && startTime < $bendTime) ||
		    (endTime >= $bstartTime && endTime < $bendTime) ||
		    (startTime <= $bstartTime && endTime >= $bendTime)
		  ) from $leaves
  then
    insertLogical(new ValidationMessage(modelId, WarnLevel.Error,
            kcontext.getRule().getName(), $meet, $instructor, $leave)
        );
end

Rewriting the first two lines as:

 $meet : BlockDay($instructors : instructors, $bstartTime : startTime,
$bendTime : endTime)
 $instructor : Instructor(this memberOf $instructors, $leaves : leave)

appears to make the problem go away under my (limited) test case suite.

The test that most reliably triggers the bug involves removing an
Instructor from a BlockDay and updating the FactHandles before calling
fireAllRules().


> -W
>
>>
>> On Thu, Mar 17, 2011 at 2:29 AM, Wolfgang Laun <wolfgang.laun at gmail.com>
>> wrote:
>>>
>>> Note that someone has reported that this problem went away in 5.2.0 M1.
>>> So you should try it with that version before you invest any work.
>>> Confirming it with a comment on the issue sure would help.
>>>
>>> -W
>>>
>>> On 16 March 2011 21:04, Solomon Gibbs <solomon.gibbs at gmail.com> wrote:
>>>>
>>>> I seem to be having exactly the issue with 5.1.1 described in
>>>> https://issues.jboss.org/browse/JBRULES-2796 "NullPointerException in
>>>> FromNode.destroyCreatedHandles"
>>>>
>>>> I can reproduce this problem at will, and I'm willing to try to produce
>>>> a minimal test case, but to do so would take some significant work. My fact
>>>> model is moderately complicated and the triggering condition for me seems to
>>>> be a combination of rules and (updating) facts.
>>>>
>>>> Is there any benefit to my spending the time to develop a test case? Or
>>>> is this bug already being worked somewhere else?
>>>>
>>>>
>>>> _______________________________________________
>>>> rules-dev mailing list
>>>> rules-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/rules-dev
>>>>
>>>
>>>
>>> _______________________________________________
>>> rules-dev mailing list
>>> rules-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/rules-dev
>>>
>>
>>
>> _______________________________________________
>> rules-dev mailing list
>> rules-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-dev
>>
>
>
> _______________________________________________
> rules-dev mailing list
> rules-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-dev
>
>


More information about the rules-dev mailing list