[jboss-jira] [JBoss JIRA] (DROOLS-2276) NoClassDefFoundError is thrown on updateToVersion() with rule removal and eval

Toshiya Kobayashi (JIRA) issues at jboss.org
Fri Jan 26 02:27:00 EST 2018


     [ https://issues.jboss.org/browse/DROOLS-2276?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Toshiya Kobayashi updated DROOLS-2276:
--------------------------------------
           Description: 
Under the conditions:

- updateToVersion() is called twice
- A rule is removed on the version change
- The rule has eval()

NoClassDefFoundError is thrown on the second updateToVersion()

{noformat}
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.801 sec <<< FAILURE! - in org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest
testRuleRemovalAndEval(org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest)  Time elapsed: 1.799 sec  <<< ERROR!
java.lang.NoClassDefFoundError: org/drools/compiler/Rule_R2773041198
	at org.drools.core.common.ProjectClassLoader.tryDefineType(ProjectClassLoader.java:191)
	at org.drools.core.common.ProjectClassLoader.loadType(ProjectClassLoader.java:181)
	at org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:148)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.drools.core.rule.JavaDialectRuntimeData$PackageClassLoader.loadClass(JavaDialectRuntimeData.java:575)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.drools.compiler.Rule_R2773041198Eval0InvokerGenerated.evaluate(Unknown Source)
	at org.drools.compiler.Rule_R2773041198Eval0Invoker.evaluate(Unknown Source)
	at org.drools.core.rule.EvalCondition.isAllowed(EvalCondition.java:129)
	at org.drools.core.phreak.PhreakEvalNode.doLeftInserts(PhreakEvalNode.java:72)
	at org.drools.core.phreak.PhreakEvalNode.doNode(PhreakEvalNode.java:56)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:381)
	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:333)
	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:169)
	at org.drools.core.phreak.AddRemoveRule.forceFlushLeftTuple(AddRemoveRule.java:676)
	at org.drools.core.phreak.AddRemoveRule.flushStagedTuples(AddRemoveRule.java:604)
	at org.drools.core.phreak.AddRemoveRule.removeRule(AddRemoveRule.java:164)
	at org.drools.core.reteoo.ReteooBuilder.removeTerminalNode(ReteooBuilder.java:191)
	at org.drools.core.reteoo.ReteooBuilder.removeRules(ReteooBuilder.java:177)
	at org.drools.core.impl.KnowledgeBaseImpl.removeObjectsGeneratedFromResource(KnowledgeBaseImpl.java:1740)
	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.removeObjectsGeneratedFromResource(KnowledgeBuilderImpl.java:2281)
	at org.drools.compiler.kie.builder.impl.KieBaseUpdater.run(KieBaseUpdater.java:66)
	at org.drools.core.impl.KnowledgeBaseImpl.enqueueModification(KnowledgeBaseImpl.java:734)
	at org.drools.compiler.kie.builder.impl.KieContainerImpl.update(KieContainerImpl.java:245)
	at org.drools.compiler.kie.builder.impl.KieContainerImpl.updateToVersion(KieContainerImpl.java:182)
	at org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest.testRuleRemovalAndEval(IncrementalCompilationTest.java:4708)
{noformat}


  was:
Under the conditions:

- updateToVersion() is called twice
- A rule is removed on the version change
- The rule has eval()

NoClassDefFoundError is thrown on the second updateToVersion()

{noformat}
Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.801 sec <<< FAILURE! - in org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest
testRuleRemovalAndEval(org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest)  Time elapsed: 1.799 sec  <<< ERROR!
java.lang.NoClassDefFoundError: org/drools/compiler/Rule_R2773041198
	at org.drools.core.common.ProjectClassLoader.tryDefineType(ProjectClassLoader.java:191)
	at org.drools.core.common.ProjectClassLoader.loadType(ProjectClassLoader.java:181)
	at org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:148)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.drools.core.rule.JavaDialectRuntimeData$PackageClassLoader.loadClass(JavaDialectRuntimeData.java:575)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
	at org.drools.compiler.Rule_R2773041198Eval0InvokerGenerated.evaluate(Unknown Source)
	at org.drools.compiler.Rule_R2773041198Eval0Invoker.evaluate(Unknown Source)
	at org.drools.core.rule.EvalCondition.isAllowed(EvalCondition.java:129)
	at org.drools.core.phreak.PhreakEvalNode.doLeftInserts(PhreakEvalNode.java:72)
	at org.drools.core.phreak.PhreakEvalNode.doNode(PhreakEvalNode.java:56)
	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:381)
	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:333)
	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:169)
	at org.drools.core.phreak.AddRemoveRule.forceFlushLeftTuple(AddRemoveRule.java:676)
	at org.drools.core.phreak.AddRemoveRule.flushStagedTuples(AddRemoveRule.java:604)
	at org.drools.core.phreak.AddRemoveRule.removeRule(AddRemoveRule.java:164)
	at org.drools.core.reteoo.ReteooBuilder.removeTerminalNode(ReteooBuilder.java:191)
	at org.drools.core.reteoo.ReteooBuilder.removeRules(ReteooBuilder.java:177)
	at org.drools.core.impl.KnowledgeBaseImpl.removeObjectsGeneratedFromResource(KnowledgeBaseImpl.java:1740)
	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.removeObjectsGeneratedFromResource(KnowledgeBuilderImpl.java:2281)
	at org.drools.compiler.kie.builder.impl.KieBaseUpdater.run(KieBaseUpdater.java:66)
	at org.drools.core.impl.KnowledgeBaseImpl.enqueueModification(KnowledgeBaseImpl.java:734)
	at org.drools.compiler.kie.builder.impl.KieContainerImpl.update(KieContainerImpl.java:245)
	at org.drools.compiler.kie.builder.impl.KieContainerImpl.updateToVersion(KieContainerImpl.java:182)
	at org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest.testRuleRemovalAndEval(IncrementalCompilationTest.java:4708)
{noformat}

Will send a unit test PR.

      Git Pull Request: https://github.com/kiegroup/drools/pull/1725
    Steps to Reproduce: - See https://github.com/kiegroup/drools/pull/1725


> NoClassDefFoundError is thrown on updateToVersion() with rule removal and eval
> ------------------------------------------------------------------------------
>
>                 Key: DROOLS-2276
>                 URL: https://issues.jboss.org/browse/DROOLS-2276
>             Project: Drools
>          Issue Type: Bug
>          Components: core engine
>    Affects Versions: 7.5.0.Final
>            Reporter: Toshiya Kobayashi
>            Assignee: Mario Fusco
>              Labels: support
>
> Under the conditions:
> - updateToVersion() is called twice
> - A rule is removed on the version change
> - The rule has eval()
> NoClassDefFoundError is thrown on the second updateToVersion()
> {noformat}
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 1.801 sec <<< FAILURE! - in org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest
> testRuleRemovalAndEval(org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest)  Time elapsed: 1.799 sec  <<< ERROR!
> java.lang.NoClassDefFoundError: org/drools/compiler/Rule_R2773041198
> 	at org.drools.core.common.ProjectClassLoader.tryDefineType(ProjectClassLoader.java:191)
> 	at org.drools.core.common.ProjectClassLoader.loadType(ProjectClassLoader.java:181)
> 	at org.drools.core.common.ProjectClassLoader.loadClass(ProjectClassLoader.java:148)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> 	at org.drools.core.rule.JavaDialectRuntimeData$PackageClassLoader.loadClass(JavaDialectRuntimeData.java:575)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
> 	at org.drools.compiler.Rule_R2773041198Eval0InvokerGenerated.evaluate(Unknown Source)
> 	at org.drools.compiler.Rule_R2773041198Eval0Invoker.evaluate(Unknown Source)
> 	at org.drools.core.rule.EvalCondition.isAllowed(EvalCondition.java:129)
> 	at org.drools.core.phreak.PhreakEvalNode.doLeftInserts(PhreakEvalNode.java:72)
> 	at org.drools.core.phreak.PhreakEvalNode.doNode(PhreakEvalNode.java:56)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.evalNode(RuleNetworkEvaluator.java:381)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:333)
> 	at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:169)
> 	at org.drools.core.phreak.AddRemoveRule.forceFlushLeftTuple(AddRemoveRule.java:676)
> 	at org.drools.core.phreak.AddRemoveRule.flushStagedTuples(AddRemoveRule.java:604)
> 	at org.drools.core.phreak.AddRemoveRule.removeRule(AddRemoveRule.java:164)
> 	at org.drools.core.reteoo.ReteooBuilder.removeTerminalNode(ReteooBuilder.java:191)
> 	at org.drools.core.reteoo.ReteooBuilder.removeRules(ReteooBuilder.java:177)
> 	at org.drools.core.impl.KnowledgeBaseImpl.removeObjectsGeneratedFromResource(KnowledgeBaseImpl.java:1740)
> 	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.removeObjectsGeneratedFromResource(KnowledgeBuilderImpl.java:2281)
> 	at org.drools.compiler.kie.builder.impl.KieBaseUpdater.run(KieBaseUpdater.java:66)
> 	at org.drools.core.impl.KnowledgeBaseImpl.enqueueModification(KnowledgeBaseImpl.java:734)
> 	at org.drools.compiler.kie.builder.impl.KieContainerImpl.update(KieContainerImpl.java:245)
> 	at org.drools.compiler.kie.builder.impl.KieContainerImpl.updateToVersion(KieContainerImpl.java:182)
> 	at org.drools.compiler.integrationtests.incrementalcompilation.IncrementalCompilationTest.testRuleRemovalAndEval(IncrementalCompilationTest.java:4708)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list