Uploaded image for project: 'JBoss BRMS Platform'
  1. JBoss BRMS Platform
  2. RHBRMS-3081

[GSS] (6.4.z) Empty "Validation errors" popup in Decision/Business Central

    XMLWordPrintable

Details

    • CR1
    • Hide
      • If you test with BRMS 6.4.x on EAP 6, comment out filter-spec as suggested in "Description"
      • Access to decision-central
      • Create a project
      • Upload a Spreadsheet (attached 8000rows-spreadsheet.xls) to make the project heavy. Please ignore Indexing error.
      • Create a DRL with the below content and save.
        rule "hello"
          when
            String()
          then
            System.out.println("Hello");
        end
        
      • Click "Validate" for the DRL 5 or 6 times quickly
      • You will see an empty "Validation errors" popup. If not, try again.
      • After you see it some times, you can reproduce the issue even with one click.
      • You may also reproduce the issue by clicking "Validate" for the Spreadsheet. (In this case, you don't need to click very quickly)
      Show
      If you test with BRMS 6.4.x on EAP 6, comment out filter-spec as suggested in "Description" Access to decision-central Create a project Upload a Spreadsheet (attached 8000rows-spreadsheet.xls) to make the project heavy. Please ignore Indexing error. Create a DRL with the below content and save. rule "hello" when String() then System.out.println("Hello"); end Click "Validate" for the DRL 5 or 6 times quickly You will see an empty "Validation errors" popup. If not, try again. After you see it some times, you can reproduce the issue even with one click. You may also reproduce the issue by clicking "Validate" for the Spreadsheet. (In this case, you don't need to click very quickly)

    Description

      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 BRMS 6.4.8:

      14:37:29,647 ERROR [org.kie.workbench.common.services.backend.builder.Builder] (http-127.0.0.1:8080-1) null: java.lang.NullPointerException
      	at org.drools.core.rule.JavaDialectRuntimeData.removeRule(JavaDialectRuntimeData.java:405) [drools-core-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.core.rule.DialectRuntimeRegistry.removeRule(DialectRuntimeRegistry.java:89) [drools-core-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.core.definitions.impl.KnowledgePackageImpl.removeRule(KnowledgePackageImpl.java:518) [drools-core-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.core.definitions.impl.KnowledgePackageImpl.removeRulesGeneratedFromResource(KnowledgePackageImpl.java:713) [drools-core-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.core.definitions.impl.KnowledgePackageImpl.removeObjectsGeneratedFromResource(KnowledgePackageImpl.java:682) [drools-core-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.compiler.PackageRegistry.removeObjectsGeneratedFromResource(PackageRegistry.java:142) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.removeObjectsGeneratedFromResource(KnowledgeBuilderImpl.java:2159) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.buildChanges(KieBuilderSetImpl.java:137) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.build(KieBuilderSetImpl.java:95) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.builder.Builder.buildIncrementally(Builder.java:538) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.builder.Builder.deleteResource(Builder.java:342) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.doValidation(ValidatorBuildService.java:130) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.validate(ValidatorBuildService.java:68) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService$Proxy$_$$_WeldClientProxy.validate(ValidatorBuildService$Proxy$_$$_WeldClientProxy.java) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator.validate(DefaultGenericKieValidator.java:47) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator$Proxy$_$$_WeldClientProxy.validate(DefaultGenericKieValidator$Proxy$_$$_WeldClientProxy.java) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:249) [drools-wb-drl-text-editor-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:59) [drools-wb-drl-text-editor-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_66]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_66]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_66]
      	at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_66]
      	at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:45) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
      	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
      	at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl$Proxy$_$$_WeldClientProxy.validate(DRLTextEditorServiceImpl$Proxy$_$$_WeldClientProxy.java) [drools-wb-drl-text-editor-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      ...
      
      14:35:35,810 ERROR [org.kie.workbench.common.services.backend.builder.Builder] (http-127.0.0.1:8080-1) null: java.lang.NullPointerException
      	at org.drools.compiler.rule.builder.dialect.java.JavaDialect.compileAll(JavaDialect.java:427) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.compiler.DialectCompiletimeRegistry.compileAll(DialectCompiletimeRegistry.java:61) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.compiler.PackageRegistry.compileAll(PackageRegistry.java:138) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileAll(KnowledgeBuilderImpl.java:1352) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileAllRules(KnowledgeBuilderImpl.java:991) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildRules(CompositeKnowledgeBuilderImpl.java:264) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackages(CompositeKnowledgeBuilderImpl.java:122) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:105) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.buildChanges(KieBuilderSetImpl.java:152) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.build(KieBuilderSetImpl.java:95) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.builder.Builder.buildIncrementally(Builder.java:538) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.builder.Builder.addResource(Builder.java:382) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.builder.Builder.updateResource(Builder.java:411) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.doValidation(ValidatorBuildService.java:132) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.validate(ValidatorBuildService.java:68) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService$Proxy$_$$_WeldClientProxy.validate(ValidatorBuildService$Proxy$_$$_WeldClientProxy.java) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator.validate(DefaultGenericKieValidator.java:47) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator$Proxy$_$$_WeldClientProxy.validate(DefaultGenericKieValidator$Proxy$_$$_WeldClientProxy.java) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:249) [drools-wb-drl-text-editor-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:59) [drools-wb-drl-text-editor-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_66]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_66]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_66]
      	at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_66]
      	at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:45) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
      	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
      	at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl$Proxy$_$$_WeldClientProxy.validate(DRLTextEditorServiceImpl$Proxy$_$$_WeldClientProxy.java) [drools-wb-drl-text-editor-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      ...
      
      14:37:29,800 ERROR [org.kie.workbench.common.services.backend.builder.Builder] (http-127.0.0.1:8080-3) null: java.lang.NullPointerException
      	at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.findResourcesWithErrors(KieBuilderSetImpl.java:105) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.buildChanges(KieBuilderSetImpl.java:153) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.compiler.kie.builder.impl.KieBuilderSetImpl.build(KieBuilderSetImpl.java:95) [drools-compiler-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.builder.Builder.buildIncrementally(Builder.java:538) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.builder.Builder.addResource(Builder.java:382) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.builder.Builder.updateResource(Builder.java:411) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.doValidation(ValidatorBuildService.java:132) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService.validate(ValidatorBuildService.java:68) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.ValidatorBuildService$Proxy$_$$_WeldClientProxy.validate(ValidatorBuildService$Proxy$_$$_WeldClientProxy.java) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator.validate(DefaultGenericKieValidator.java:47) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.kie.workbench.common.services.backend.validation.asset.DefaultGenericKieValidator$Proxy$_$$_WeldClientProxy.validate(DefaultGenericKieValidator$Proxy$_$$_WeldClientProxy.java) [kie-wb-common-services-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:249) [drools-wb-drl-text-editor-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl.validate(DRLTextEditorServiceImpl.java:59) [drools-wb-drl-text-editor-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.8.0_66]
      	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [rt.jar:1.8.0_66]
      	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_66]
      	at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_66]
      	at org.jboss.weld.bean.proxy.AbstractBeanInstance.invoke(AbstractBeanInstance.java:45) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
      	at org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:105) [weld-core-1.1.33.Final-redhat-1.jar:1.1.33.Final-redhat-1]
      	at org.drools.workbench.screens.drltext.backend.server.DRLTextEditorServiceImpl$Proxy$_$$_WeldClientProxy.validate(DRLTextEditorServiceImpl$Proxy$_$$_WeldClientProxy.java) [drools-wb-drl-text-editor-backend-6.5.0.Final-redhat-19.jar:6.5.0.Final-redhat-19]
      ...
      

      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(&quot;HQ222190&quot;))"/> -->
                      <formatter>
                          <named-formatter name="COLOR-PATTERN"/>
                      </formatter>
                  </console-handler>
                  <periodic-rotating-file-handler name="FILE" autoflush="true">
                      <!-- <filter-spec value="not(match(&quot;HQ222190&quot;))"/> -->
                      <formatter>
      

      Attachments

        1. 8000rows-spreadsheet.xls
          616 kB
        2. 8000rows-spreadsheet2.xls
          616 kB
        3. 8000rows-spreadsheet3.xls
          616 kB
        4. empty-validation-error.png
          empty-validation-error.png
          27 kB

        Issue Links

          Activity

            People

              trikkola Toni Rikkola
              rhn-support-tkobayas Toshiya Kobayashi
              Jozef Marko Jozef Marko
              Jozef Marko Jozef Marko
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: