Uploaded image for project: 'JBRULES'
  1. JBRULES
  2. JBRULES-3150

NPE in ObjectTypeConfigurationRegistry when accumulate returns null (and "quick hack for 5.2")

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      rule foo # the problem is usually better "hidden"
      when
      Object() from accumulate( Object(),
      init( Object res = null; )
      action( res = null; )
      result( res ) )
      then
      end

      causes the exception as shown below, or similar.
      A runtime diagnostic should tell the user (at least) that
      an accumulate result is null.

      ALSO, PLEASE NOTE THIS COMMENT in AccumulateNode.java:642!
      // this is a quick hack for the 5.2 release

      Exception in thread "main" java.lang.NullPointerException
      at org.drools.common.ObjectTypeConfigurationRegistry.getObjectTypeConf(ObjectTypeConfigurationRegistry.java:58)
      at org.drools.reteoo.AccumulateNode.evaluateResultConstraints(AccumulateNode.java:646)
      at org.drools.reteoo.AccumulateNode.assertLeftTuple(AccumulateNode.java:183)
      at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:197)
      at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:146)
      at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:154)
      at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
      at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:204)
      at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:191)
      at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:332)
      at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:293)
      at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:905)
      at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:864)
      at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:255)
      at match.Main.makeFacts(Main.java:120)
      at match.Main.execute(Main.java:98)
      at match.Main.main(Main.java:126)

            mfusco@redhat.com Mario Fusco
            laune Wolfgang Laun (Inactive)
            Archiver:
            rhn-support-ceverson Clark Everson

              Created:
              Updated:
              Resolved:
              Archived: