[jboss-jira] [JBoss JIRA] (DROOLS-740) NoSuchMethodError at runtime while evaluating String and Long
Toshiya Kobayashi (JIRA)
issues at jboss.org
Tue Mar 17 04:44:19 EDT 2015
[ https://issues.jboss.org/browse/DROOLS-740?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13050798#comment-13050798 ]
Toshiya Kobayashi commented on DROOLS-740:
------------------------------------------
Toshiya>
Out of curiosity, why did you remove 20-times-loop from the test case? Is there any trick to force JIT compilation immediately?
Mario>
The trick I use to test and fix JIT compilation issues is setting this flag to true: https://github.com/droolsjbpm/drools/blob/master/drools-core/src/main/java/org/drools/core/rule/constraint/MvelConstraint.java#L62
This forces immediate JITting of constraints. When I fix a jit-related bug (and from time to time) I then ran the whole test suite with that flag set to true to check that jit compilation is working with all known use cases.
> NoSuchMethodError at runtime while evaluating String and Long
> -------------------------------------------------------------
>
> Key: DROOLS-740
> URL: https://issues.jboss.org/browse/DROOLS-740
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 6.2.0.Final
> Reporter: Toshiya Kobayashi
> Assignee: Mario Fusco
> Fix For: 6.3.0.Beta1
>
>
> When you write a LHS like this,
> {noformat}
> Person( name == "Elizabeth" + new Long(2L) )
> {noformat}
> you will face NoSuchMethodError after 20 times evaluation.
> {noformat}
> testJittedConstraintStringAndLong(org.drools.compiler.integrationtests.Misc2Test) Time elapsed: 1.216 sec <<< ERROR!
> java.lang.NoSuchMethodError: java.lang.StringBuilder.append(Ljava/lang/Long;)Ljava/lang/StringBuilder;
> at ConditionEvaluator80a8832efb1646d488df2cde72963f02.evaluate(Unknown Source)
> at org.drools.core.rule.constraint.MvelConstraint.evaluate(MvelConstraint.java:230)
> at org.drools.core.rule.constraint.MvelConstraint.isAllowed(MvelConstraint.java:187)
> at org.drools.core.reteoo.AlphaNode.assertObject(AlphaNode.java:141)
> at org.drools.core.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:60)
> at org.drools.core.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:294)
> at org.drools.core.reteoo.EntryPointNode.assertObject(EntryPointNode.java:255)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:277)
> at org.drools.core.common.NamedEntryPoint.insert(NamedEntryPoint.java:237)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:1495)
> at org.drools.core.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:1450)
> at org.drools.compiler.integrationtests.Misc2Test.testJittedConstraintStringAndLong(Misc2Test.java:7253)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)
More information about the jboss-jira
mailing list