Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-7518

NullPointerException in MemoryFileSystem when kbase.name is empty in kmodule.xml

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • 8.43.0.Final
    • 7.67.0.Final
    • core engine
    • None
    • 2023 Week 30-32 (from Jul 24)
    • 1
    • NEW
    • NEW
    • ---
    • ---

    Description

      Issue Description:

      Given the kmodule.xml

      <kmodule xmlns="http://www.drools.org/xsd/kmodule" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <kbase name="" default="true" eventProcessingMode="stream" equalsBehavior="identity">
        <ksession name="stateless" type="stateless" default="true" clockType="realtime"/>
      </kbase>
      

      NullPointerException is thrown.

      2023-07-14 07:01:28,378 ERROR [org.kie.workbench.common.services.backend.builder.core.Builder] (default task-19) null: java.lang.NullPointerException
          at org.drools.compiler.compiler.io.memory.MemoryFileSystem.setFileContents(MemoryFileSystem.java:169)
          at org.drools.compiler.compiler.io.memory.MemoryFileSystem.write(MemoryFileSystem.java:402)
          at org.drools.compiler.compiler.io.memory.MemoryFileSystem.write(MemoryFileSystem.java:379)
          at org.drools.serialization.protobuf.kie.MarshallingKieMetaInfoBuilder.writeCompilationDataToTrg(MarshallingKieMetaInfoBuilder.java:133)
          at org.drools.serialization.protobuf.kie.MarshallingKieMetaInfoBuilder.generateKieModuleMetaInfo(MarshallingKieMetaInfoBuilder.java:98)
          at org.drools.compiler.kie.builder.impl.KieMetaInfoBuilder.writeKieModuleMetaInfo(KieMetaInfoBuilder.java:52)
          at org.drools.serialization.protobuf.CompilationCacheProviderImpl.writeKieModuleMetaInfo(CompilationCacheProviderImpl.java:80)
          at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildKieProject(KieBuilderImpl.java:283)
          at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:245)
          at org.drools.compiler.kie.builder.impl.KieBuilderImpl.buildAll(KieBuilderImpl.java:214)
          at org.kie.workbench.common.services.backend.builder.core.Builder.build(Builder.java:213)
          at org.kie.workbench.common.services.backend.builder.core.BuildHelper.build(BuildHelper.java:92)
          at org.kie.workbench.common.services.backend.builder.core.BuildHelper.doBuildAndDeploy(BuildHelper.java:292)
          at org.kie.workbench.common.services.backend.builder.core.BuildHelper.buildAndDeploy(BuildHelper.java:253)
          at org.kie.workbench.common.services.backend.builder.core.BuildHelper$Proxy$_$$_WeldClientProxy.buildAndDeploy(Unknown Source)
          at org.kie.workbench.common.services.backend.builder.ala.LocalBuildExecConfigExecutor.apply(LocalBuildExecConfigExecutor.java:85)
          at org.kie.workbench.common.services.backend.builder.ala.LocalBuildExecConfigExecutor.apply(LocalBuildExecConfigExecutor.java:32)
          at org.kie.workbench.common.services.backend.builder.ala.LocalBuildExecConfigExecutor$Proxy$_$$_WeldClientProxy.apply(Unknown Source)
          at org.guvnor.ala.pipeline.execution.PipelineExecutor.lambda$continuePipeline$0(PipelineExecutor.java:109)
          at org.guvnor.ala.pipeline.StageUtil$1.execute(StageUtil.java:38)
          at org.guvnor.ala.pipeline.StageUtil$1.execute(StageUtil.java:33)
          at org.guvnor.ala.pipeline.execution.PipelineExecutor.continuePipeline(PipelineExecutor.java:94)
          at 
      

      Acceptance Criteria:

      • Raise an error with a meaningful message.

      Out of Scope:

      • editor validation is out of scope. It could be another RFE

      Attachments

        Issue Links

          Activity

            People

              rhn-support-tkobayas Toshiya Kobayashi
              rhn-support-tkobayas Toshiya Kobayashi
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: