-
Bug
-
Resolution: Done
-
Critical
-
6.x.x, 7.0.0.GA
-
-
-
-
-
-
CR1
-
When you quickly press "Validate" button multiple times for DRL or Decision table, sometimes an empty "Validation errors" dialog pops up (See attached empty-validation-error.png). After some tries, you will see the empty "Validation errors" more constantly even with one click.
Conditions to reproduce are:
- The project (rule assets) is heavy to some extent
- The asset where you press "Validate" can be a small DRL. If the asset is large (e.g. spreadsheet), it's easier to reproduce (you don't need to click very quickly).
- Reproducible with BRMS 6.4.x and RHDM 7.0.0. But not reproducible with BRMS 6.3.x.
See more details in "Steps to Reproduce"
You will see 3 kinds of errors. Below are errors of RHDM 7.0.0:
15:10:55,231 ERROR [org.kie.workbench.common.services.backend.builder.core.Builder] (default task-52) null: java.lang.NullPointerException at org.drools.core.rule.JavaDialectRuntimeData.removeRule(JavaDialectRuntimeData.java:382) at org.drools.core.rule.DialectRuntimeRegistry.removeRule(DialectRuntimeRegistry.java:90) at org.drools.core.definitions.impl.KnowledgePackageImpl.removeRule(KnowledgePackageImpl.java:512) at org.drools.core.definitions.impl.KnowledgePackageImpl.removeRulesGeneratedFromResource(KnowledgePackageImpl.java:726) at org.drools.core.definitions.impl.KnowledgePackageImpl.removeObjectsGeneratedFromResource(KnowledgePackageImpl.java:681) at org.drools.compiler.compiler.PackageRegistry.removeObjectsGeneratedFromResource(PackageRegistry.java:113) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.removeObjectsGeneratedFromResource(KnowledgeBuilderImpl.java:2238) at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.buildChanges(KieBuilderSetImpl.java:137) at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.build(KieBuilderSetImpl.java:95) at org.kie.workbench.common.services.backend.builder.core.Builder.buildIncrementally(Builder.java:529) at org.kie.workbench.common.services.backend.builder.core.Builder.addResource(Builder.java:358) at org.kie.workbench.common.services.backend.builder.core.Builder.updateResource(Builder.java:415) at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.doValidation(ValidatorBuildService.java:136) at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.validate(ValidatorBuildService.java:74) at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService$Proxy$_$$_WeldClientProxy.validate(Unknown Source) at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator.validate(DefaultGenericKieValidator.java:47) at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator$Proxy$_$$_WeldClientProxy.validate(Unknown Source) at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:258) at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:60) at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl$Proxy$_$$_WeldClientProxy.validate(Unknown Source) ...
15:12:06,375 ERROR [org.kie.workbench.common.services.backend.builder.core.Builder] (default task-63) null: java.lang.NullPointerException at org.drools.compiler.rule.builder.dialect.java.JavaDialect.compileAll(JavaDialect.java:430) at org.drools.compiler.compiler.DialectCompiletimeRegistry.compileAll(DialectCompiletimeRegistry.java:61) at org.drools.compiler.compiler.PackageRegistry.compileAll(PackageRegistry.java:109) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileAll(KnowledgeBuilderImpl.java:1548) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.wireAllRules(KnowledgeBuilderImpl.java:1060) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.buildRules(KnowledgeBuilderImpl.java:2634) at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.buildPackages(KnowledgeBuilderImpl.java:2565) at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackages(CompositeKnowledgeBuilderImpl.java:109) at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:99) at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.buildChanges(KieBuilderSetImpl.java:152) at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.build(KieBuilderSetImpl.java:95) at org.kie.workbench.common.services.backend.builder.core.Builder.buildIncrementally(Builder.java:529) at org.kie.workbench.common.services.backend.builder.core.Builder.addResource(Builder.java:358) at org.kie.workbench.common.services.backend.builder.core.Builder.updateResource(Builder.java:415) at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.doValidation(ValidatorBuildService.java:136) at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.validate(ValidatorBuildService.java:74) at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService$Proxy$_$$_WeldClientProxy.validate(Unknown Source) at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator.validate(DefaultGenericKieValidator.java:47) at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator$Proxy$_$$_WeldClientProxy.validate(Unknown Source) ...
15:12:06,742 ERROR [org.kie.workbench.common.services.backend.builder.core.Builder] (default task-64) null: java.lang.NullPointerException at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.findResourcesWithErrors(KieBuilderSetImpl.java:105) at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.registerInitialErrors(KieBuilderSetImpl.java:69) at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.<init>(KieBuilderSetImpl.java:59) at org.drools.compiler.kie.builder.impl.KieBuilderImpl.createFileSet(KieBuilderImpl.java:861) at org.kie.workbench.common.services.backend.builder.core.Builder.buildIncrementally(Builder.java:529) at org.kie.workbench.common.services.backend.builder.core.Builder.addResource(Builder.java:358) at org.kie.workbench.common.services.backend.builder.core.Builder.updateResource(Builder.java:415) at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.doValidation(ValidatorBuildService.java:136) at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.validate(ValidatorBuildService.java:74) at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService$Proxy$_$$_WeldClientProxy.validate(Unknown Source) at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator.validate(DefaultGenericKieValidator.java:47) at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator$Proxy$_$$_WeldClientProxy.validate(Unknown Source) at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:258) at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:60) at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl$Proxy$_$$_WeldClientProxy.validate(Unknown Source) ...
After you hit the 3rd error (KieBuilderSetImpl.findResourcesWithErrors()), this issue seems to become constant. (internal KnowledgeBuilderError objects get broken?)
NOTE: If you run BRMS on EAP 6, you have to comment out filter-spec in logger in standalone.xml. If you don't, the error stacktrace would not be logged.
<subsystem xmlns="urn:jboss:domain:logging:1.5"> <console-handler name="CONSOLE"> <level name="INFO"/> <!-- <filter-spec value="not(match("HQ222190"))"/> --> <formatter> <named-formatter name="COLOR-PATTERN"/> </formatter> </console-handler> <periodic-rotating-file-handler name="FILE" autoflush="true"> <!-- <filter-spec value="not(match("HQ222190"))"/> --> <formatter>
- is cloned by
-
RHBRMS-3081 [GSS] (6.4.z) Empty "Validation errors" popup in Decision/Business Central
- Verified