[JBoss JIRA] (ELY-261) Rework (and move) UsernamePasswordHashUtil
by Darran Lofthouse (JIRA)
[ https://issues.jboss.org/browse/ELY-261?page=com.atlassian.jira.plugin.sy... ]
Darran Lofthouse commented on ELY-261:
--------------------------------------
Actually if we don't already include it I am surprised so I don't think a bad one to add - we use a lot of wildfly.common across Elytron so it probably should already be added.
> Rework (and move) UsernamePasswordHashUtil
> ------------------------------------------
>
> Key: ELY-261
> URL: https://issues.jboss.org/browse/ELY-261
> Project: WildFly Elytron
> Issue Type: Feature Request
> Components: API / SPI, Passwords
> Reporter: Darran Lofthouse
> Assignee: Jan Kalina
> Fix For: 1.2.0.Beta14
>
>
> Firstly this class is not really SASL specific so should be in a general util package.
> Secondly we now have password specs and a PasswordFactory - if this class still has a future then maybe it should be using those instead of it's own custom implementation.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 3 months
[JBoss JIRA] (DROOLS-2278) Parallel rules compiling does not take into account JVM container security policy
by Dorin Opris (JIRA)
[ https://issues.jboss.org/browse/DROOLS-2278?page=com.atlassian.jira.plugi... ]
Dorin Opris updated DROOLS-2278:
--------------------------------
Security: (was: Red Hat Internal)
> Parallel rules compiling does not take into account JVM container security policy
> ---------------------------------------------------------------------------------
>
> Key: DROOLS-2278
> URL: https://issues.jboss.org/browse/DROOLS-2278
> Project: Drools
> Issue Type: Bug
> Components: core engine
> Affects Versions: 7.5.0.Final
> Environment: Linux 2.6.32-696.13.2.el6.x86_64
> OpenJDK Runtime Environment (build 1.8.0_151-b12)
> OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
> Reporter: Dorin Opris
> Assignee: Mario Fusco
>
> We deployed Drools 7.5.0.Final libraries in a java container (commercial product) which specifies a security manager and a policy.
> When running the container with small Drools packages (i.e. number of rules is less than 10) processing goes very well. When it comes to more rules the following exception is issued:
> SEVERE Failed to instantiate <container_unit>; Caused by: org.jini.rio.core.JSBInstantiationException:
> java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "createClassLoader")
> at java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
> at java.security.AccessController.checkPermission(AccessController.java:884)
> at java.lang.SecurityManager.checkPermission(SecurityManager.java:549)
> at java.lang.SecurityManager.checkCreateClassLoader(SecurityManager.java:611)
> at java.lang.ClassLoader.checkCreateClassLoader(ClassLoader.java:274)
> at java.lang.ClassLoader.<init>(ClassLoader.java:316)
> at org.drools.core.rule.JavaDialectRuntimeData$PackageClassLoader.<init>(JavaDialectRuntimeData.java:573)
> at org.drools.core.rule.JavaDialectRuntimeData.makeClassLoader(JavaDialectRuntimeData.java:555)
> at org.drools.core.rule.JavaDialectRuntimeData.onAdd(JavaDialectRuntimeData.java:238)
> at org.drools.compiler.rule.builder.dialect.java.JavaDialect.<init>(JavaDialect.java:189)
> at org.drools.compiler.rule.builder.dialect.java.JavaDialectConfiguration.newDialect(JavaDialectConfiguration.java:88)
> at org.drools.compiler.builder.impl.KnowledgeBuilderConfigurationImpl.buildDialectRegistry(KnowledgeBuilderConfigurationImpl.java:377)
> at org.drools.compiler.compiler.PackageRegistry.<init>(PackageRegistry.java:51)
> at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.createPackageRegistry(.java:1051)
> at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.lambda$getOrCreatePackageRegistry$0(KnowledgeBuilderImpl.java:1026)
> at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
> at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.getOrCreatePackageRegistry(KnowledgeBuilderImpl.java:1026)
> at org.drools.compiler.builder.impl.TypeDeclarationCache.createTypeDeclarationForBean(TypeDeclarationCache.java:262)
> at org.drools.compiler.builder.impl.TypeDeclarationCache.getAndRegisterTypeDeclaration(TypeDeclarationCache.java:90)
> at org.drools.compiler.builder.impl.TypeDeclarationBuilder.getAndRegisterTypeDeclaration(TypeDeclarationBuilder.java:69)
> at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.getAndRegisterTypeDeclaration(KnowledgeBuilderImpl.java:1781)
> at org.drools.compiler.rule.builder.PatternBuilder.processClassObjectType(PatternBuilder.java:306)
> at org.drools.compiler.rule.builder.PatternBuilder.build(PatternBuilder.java:181)
> at org.drools.compiler.rule.builder.PatternBuilder.build(PatternBuilder.java:151)
> at org.drools.compiler.rule.builder.PatternBuilder.build(PatternBuilder.java:133)
> at org.drools.compiler.rule.builder.GroupElementBuilder.build(GroupElementBuilder.java:66)
> at org.drools.compiler.rule.builder.RuleBuilder.build(RuleBuilder.java:105)
> at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.addRule(KnowledgeBuilderImpl.java:1202)
> at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.lambda$compileRulesLevel$3(KnowledgeBuilderImpl.java:1163)
> at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
> at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
> at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1380)
> at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
> at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:291)
> at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
> at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
> at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
> at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
> at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
> It seems Drools 7.* version has introduced parallel compilation of rules using Java platform forkJoin threads that, according to its spec, are a bit security restrictive in the sense that container security policy or container class loader access control context is ignored.
> "If a SecurityManager is present and no factory is specified, then the default pool uses a factory supplying threads that have no Permissions enabled. The system class loader is used to load these classes." https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ForkJoinPo...
> Could Drools fix this serial-parallel asymmetric output of rules compilation logic? Or it's just a Java issue like https://bugs.java.com/view_bug.do?bug_id=8184335 ?
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 3 months
[JBoss JIRA] (ELY-261) Rework (and move) UsernamePasswordHashUtil
by Jan Kalina (JIRA)
[ https://issues.jboss.org/browse/ELY-261?page=com.atlassian.jira.plugin.sy... ]
Jan Kalina commented on ELY-261:
--------------------------------
For using PasswordFactory in elytron util (Main class of the elytron jar) there is problem:
WildflyElytronProvider requires classes from wildfly.common - looks like we would have to include wildfly.common into elytron jar :(
{code}
$ java -jar wildfly-elytron-1.2.0.Beta13-SNAPSHOT.jar UsernamePasswordHashUtil admin Test pass
Exception in thread "main" java.lang.BootstrapMethodError: java.lang.NoClassDefFoundError: org/wildfly/common/function/ExceptionSupplier
at org.wildfly.security.WildFlyElytronProvider.toSupplier(WildFlyElytronProvider.java:393)
at org.wildfly.security.WildFlyElytronProvider.putHttpAuthenticationMechanismImplementations(WildFlyElytronProvider.java:251)
at org.wildfly.security.WildFlyElytronProvider.<init>(WildFlyElytronProvider.java:161)
at org.wildfly.security._private.Main.usernamePasswordHash(Main.java:139)
at org.wildfly.security._private.Main.main(Main.java:97)
Caused by: java.lang.NoClassDefFoundError: org/wildfly/common/function/ExceptionSupplier
... 5 more
Caused by: java.lang.ClassNotFoundException: org.wildfly.common.function.ExceptionSupplier
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 5 more
{code}
> Rework (and move) UsernamePasswordHashUtil
> ------------------------------------------
>
> Key: ELY-261
> URL: https://issues.jboss.org/browse/ELY-261
> Project: WildFly Elytron
> Issue Type: Feature Request
> Components: API / SPI, Passwords
> Reporter: Darran Lofthouse
> Assignee: Jan Kalina
> Fix For: 1.2.0.Beta14
>
>
> Firstly this class is not really SASL specific so should be in a general util package.
> Secondly we now have password specs and a PasswordFactory - if this class still has a future then maybe it should be using those instead of it's own custom implementation.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 3 months
[JBoss JIRA] (WFLY-9735) Add systemd unit file to zip distribution
by Osamu Nagano (JIRA)
[ https://issues.jboss.org/browse/WFLY-9735?page=com.atlassian.jira.plugin.... ]
Osamu Nagano commented on WFLY-9735:
------------------------------------
Moved from JBEAP-14146 to this WFLY-9735 to discuss in the upstream first.
> Add systemd unit file to zip distribution
> -----------------------------------------
>
> Key: WFLY-9735
> URL: https://issues.jboss.org/browse/WFLY-9735
> Project: WildFly
> Issue Type: Feature Request
> Components: Scripts
> Reporter: Osamu Nagano
> Attachments: eap7-standalone.service, tomcat8.service
>
>
> Systemd can handle legacy init.d scripts, but many customers have asked for native integration to systemd. We may be able to provide the out-of-the-box unit file or a template of it with some documentation. It seems JWS is considering the same in JWS-811 so EAP may adopt the same way.
> One advantage of systemd is the ability to depends on socket unit file so that we may be able to omit jsvc to listen a privileged port.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 3 months
[JBoss JIRA] (WFLY-9735) Add systemd unit file to zip distribution
by Osamu Nagano (JIRA)
[ https://issues.jboss.org/browse/WFLY-9735?page=com.atlassian.jira.plugin.... ]
Osamu Nagano moved JBEAP-14146 to WFLY-9735:
--------------------------------------------
Project: WildFly (was: JBoss Enterprise Application Platform)
Key: WFLY-9735 (was: JBEAP-14146)
Issue Type: Feature Request (was: Enhancement)
Workflow: GIT Pull Request workflow (was: CDW with loose statuses v1)
Component/s: Scripts
(was: Scripts)
Target Release: (was: 7.backlog.GA)
> Add systemd unit file to zip distribution
> -----------------------------------------
>
> Key: WFLY-9735
> URL: https://issues.jboss.org/browse/WFLY-9735
> Project: WildFly
> Issue Type: Feature Request
> Components: Scripts
> Reporter: Osamu Nagano
> Attachments: eap7-standalone.service, tomcat8.service
>
>
> Systemd can handle legacy init.d scripts, but many customers have asked for native integration to systemd. We may be able to provide the out-of-the-box unit file or a template of it with some documentation. It seems JWS is considering the same in JWS-811 so EAP may adopt the same way.
> One advantage of systemd is the ability to depends on socket unit file so that we may be able to omit jsvc to listen a privileged port.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 3 months
[JBoss JIRA] (DROOLS-2277) NoClassDefFoundError is thrown on updateToVersion() with rule removal and eval
by Toshiya Kobayashi (JIRA)
Toshiya Kobayashi created DROOLS-2277:
-----------------------------------------
Summary: NoClassDefFoundError is thrown on updateToVersion() with rule removal and eval
Key: DROOLS-2277
URL: https://issues.jboss.org/browse/DROOLS-2277
Project: Drools
Issue Type: Bug
Components: core engine
Affects Versions: 7.5.0.Final
Reporter: Toshiya Kobayashi
Assignee: Mario Fusco
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)
8 years, 3 months
[JBoss JIRA] (DROOLS-2276) NoClassDefFoundError is thrown on updateToVersion() with rule removal and eval
by Toshiya Kobayashi (JIRA)
[ https://issues.jboss.org/browse/DROOLS-2276?page=com.atlassian.jira.plugi... ]
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)
8 years, 3 months
[JBoss JIRA] (DROOLS-2276) NoClassDefFoundError is thrown on updateToVersion() with rule removal and eval
by Toshiya Kobayashi (JIRA)
Toshiya Kobayashi created DROOLS-2276:
-----------------------------------------
Summary: 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
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.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
8 years, 3 months