[jboss-jira] [JBoss JIRA] Commented: (JBRULES-1572) sometimes getting ClassFieldExtractor error

Ming Fang (JIRA) jira-events at lists.jboss.org
Fri Apr 25 21:45:08 EDT 2008


    [ http://jira.jboss.com/jira/browse/JBRULES-1572?page=comments#action_12410824 ] 
            
Ming Fang commented on JBRULES-1572:
------------------------------------

Admittedly I'm not a Drools expert, but looking at the source it seams that wm.insert() in not thread safe.
Here is the call stack when BinaryHeapQueue.enqueue() is called...

at org.drools.util.BinaryHeapQueue.enqueue(BinaryHeapQueue.java:133)
	  at org.drools.common.BinaryHeapQueueAgendaGroup.add(BinaryHeapQueueAgendaGroup.java:102)
	  at org.drools.reteoo.RuleTerminalNode.assertTuple(RuleTerminalNode.java:309)
	  at org.drools.reteoo.RuleTerminalNode.assertLeftTuple(RuleTerminalNode.java:164)
	  at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:99)
	  at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:143)
	  at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:42)
	  at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:177)
	  at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:147)
	  at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:953)
	  at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:922)
	  at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:689)
	  at test.Test$1.run(Test.java:28)
	  at java.lang.Thread.run(Thread.java:613)

It appears there's no locking at any point.
Thanks for giving this issue attention.

> sometimes getting ClassFieldExtractor error
> -------------------------------------------
>
>                 Key: JBRULES-1572
>                 URL: http://jira.jboss.com/jira/browse/JBRULES-1572
>             Project: JBoss Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 5.0.0-M1, 4.0.4, 4.0.7
>            Reporter: Ming Fang
>         Assigned To: Mark Proctor
>         Attachments: Foo.java, rule.drl, Test.java, Test.java
>
>
> Caused by: java.lang.NullPointerException
> 	at org.drools.base.com.ml.ax.ModelValue10285014$getModelValue.getDoubleValue(Unknown Source)
> 	at org.drools.base.ClassFieldExtractor.getDoubleValue(ClassFieldExtractor.java:191)
> 	at org.drools.rule.Declaration.getDoubleValue(Declaration.java:281)
> 	at com.ml.ax.drools.Rule_Quote_0ConsequenceInvoker.evaluate(Rule_Quote_0ConsequenceInvoker.java:17)
> 	at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:586)
> This only happens sometimes but it completely breaks my program.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list