That&#39;s almost all the details in the mail subject; When I am running this rule in drools 5.1.0:<br><br>package com.sample<br><br>import com.sample.Msg;<br>import java.util.Date;<br><br>rule &quot;Hello World&quot;<br>    when<br>
        m1:Msg()<br>        m:Msg(dbl &gt; lo || <a href="http://m1.in">m1.in</a> == in)<br>    then<br>end<br><br>The java bean named &#39;Msg&#39; definition:<br><br>package com.sample;<br><br>import java.util.Date;<br>
import java.util.HashSet;<br>import java.util.Set;<br><br>public class Msg {<br>    private Long lo = 5l;<br>    private double dbl = 5.5;<br>    private Date date = new Date();<br>    private int in = 4;<br>    private boolean bool;<br>
    private Set&lt;String&gt; set = new HashSet&lt;String&gt;();<br>... // getter and setters ignored<br><br>then it throws exception : <br><br>java.lang.NullPointerException<br>    at org.drools.reteoo.LeftTuple.get(LeftTuple.java:399)<br>
    at org.drools.reteoo.LeftTuple.get(LeftTuple.java:434)<br>    at org.drools.rule.VariableRestriction$DoubleVariableContextEntry.updateFromTuple(VariableRestriction.java:563)<br>    at org.drools.rule.AbstractCompositeConstraint$MultiFieldConstraintContextEntry.updateFromTuple(AbstractCompositeConstraint.java:306)<br>
    at org.drools.common.SingleBetaConstraints.updateFromTuple(SingleBetaConstraints.java:123)<br>    at org.drools.reteoo.JoinNode.assertLeftTuple(JoinNode.java:77)<br>    at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:189)<br>
    at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:138)<br>    at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:148)<br>    at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:450)<br>
    at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:378)<br>    at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:190)<br>    at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:145)<br>
    at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1174)<br>    at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:1123)<br>    at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:917)<br>
    at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:251)<br>    at com.sample.DroolsTest.main(DroolsTest.java:43)<br><br>I think I am doing nothing wrong with the code, is this a bug or something? Or just comparing properties in the same bean class is illegal?<br>