[jboss-jira] [JBoss JIRA] (DROOLS-178) NoSuchMethodError at runtime due to eval in query (BW chaining)
Davide Sottara (JIRA)
jira-events at lists.jboss.org
Sun Sep 8 18:58:03 EDT 2013
[ https://issues.jboss.org/browse/DROOLS-178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12802611#comment-12802611 ]
Davide Sottara commented on DROOLS-178:
---------------------------------------
Tricky.. an eval invoker is built at compile time, based on the declarations in the signature of the query (Integers in your case)
The actual eval is generated lazily at runtime, using the declarations found to extract the values (ints in your case)
It's a bug anyway, I have committed a possible fix.
Thanks for reporting this
> NoSuchMethodError at runtime due to eval in query (BW chaining)
> ---------------------------------------------------------------
>
> Key: DROOLS-178
> URL: https://issues.jboss.org/browse/DROOLS-178
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 5.5.0.Final
> Reporter: Wolfgang Laun
> Assignee: Mark Proctor
> Priority: Critical
>
> An eval CW in a query used in a BW chaining rule compiles, but causes a NoSuchMethodError when executed.
> Exception in thread "main" java.lang.NoSuchMethodError:
> pythagoras.Rule_isTriple_17ac16f7237046ee9562afce35dfe174.eval0(III)Z
> at pythagoras.Rule_isTriple_17ac16f7237046ee9562afce35dfe174Eval0InvokerGenerated.evaluate(Unknown
> Source)
> at pythagoras.Rule_isTriple_17ac16f7237046ee9562afce35dfe174Eval0Invoker.evaluate(Unknown
> Source)
> at org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:114)
> at org.drools.reteoo.EvalConditionNode.assertLeftTuple(EvalConditionNode.java:176)
> at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:196)
> at org.drools.reteoo.SingleLeftTupleSinkAdapter.propagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:71)
> at org.drools.reteoo.JoinNode.propagateFromRight(JoinNode.java:159)
> at org.drools.reteoo.JoinNode.assertObject(JoinNode.java:148)
> at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497)
> at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382)
> at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235)
> at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240)
> at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350)
> at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311)
> at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903)
> at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:847)
> at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:269)
> at pythagoras.Main.makeFacts(Main.java:94)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list