IBM Support

RS01814: EMPTY RULESTASK SUBFLOW LEADS TO AN NULLPOINTEREXCEPTION IN DECISION ENGINE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • In a ruleflow if you happen to let an empty ruletask subflow  (
    no ruleflow referenced), this will fail to generate a ruleset (
    compile )
    producing  NullPointerException  in the workspace .metadata/.
    log :
    !MESSAGE An error occurred during the export of the ruleset
    archive.
    !STACK 0
    java.lang.NullPointerException
        at com.ibm.rules.engine.ruleflow.compilation.
    SemRuleflowLanguageCompiler.visit(SemRuleflowLanguageCompiler.
    java:96)
        at com.ibm.rules.engine.ruleflow.semantics.
    SemTaskInvocation.accept(SemTaskInvocation.java:56)
        at com.ibm.rules.engine.ruleflow.migration.compilation.
    SemMigrationRuleflowLanguageCompiler.visit(
    SemMigrationRuleflowLanguageCompiler.java:75)
        at com.ibm.rules.engine.ruleflow.compilation.
    SemFlowTaskCompiler.compile(SemFlowTaskCompiler.java:63)
        at com.ibm.rules.engine.ruleflow.compilation.
    SemRuleflowCompilerImpl.compileSecondPass(
    SemRuleflowCompilerImpl.java:219)
        at com.ibm.rules.engine.ruleflow.compilation.
    SemRuleflowCompilerImpl.compile(SemRuleflowCompilerImpl.java:
    194)
        at com.ibm.rules.engine.ruleflow.migration.compilation.
    SemMigrationRuleflowCompilerImpl.compile(
    SemMigrationRuleflowCompilerImpl.java:57)
        at com.ibm.rules.brl.code.compiler.rve.EngineOutlineBuilder.
    buildEngineOutline(EngineOutlineBuilder.java:100)
        at com.ibm.rules.studio.rve.builder.
    RVERulesetArchiveExporter.export(RVERulesetArchiveExporter.java:
    259)
        at ilog.rules.studio.model.archive.internal.
    RulesetArchiveExportJob.run(RulesetArchiveExportJob.java:65)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:53)
     the error comes from a Null SemTask
    Thread [Worker-2] (Suspended (breakpoint at line 46 in
    SemTaskInvocation))
    SemTaskInvocation.<init>(SemTask, SemMetadata...) line: 46
    SemMigrationRuleflowLanguageFactoryImpl(
    SemRuleflowLanguageFactoryImpl).taskInvocation(SemTask,
    SemMetadata...) line: 115
    SemanticsBuilder.buildTaskInvocation(CodeTaskReferenceStatement)
     line: 1090
    SemanticsBuilder.buildStatement(CodeStatement) line: 1060
    SemanticsBuilder.buildActions(List<CodeStatement>, int,
    List<SemStatement>) line: 1037
    SemanticsBuilder.buildFlowTask(CodeFlowTaskDeclaration) line:
    679
    SemanticsBuilder.buildTask(CodeTaskDeclaration) line: 648
    SemanticsBuilder.buildRuleflow(CodeRuleFlowDeclaration,
    List<CodeRuleEngineParameterDeclaration>, SemRuleset,
    SemRuleflow) line: 594
    SemanticsBuilder.buildRuleflow(CodeRuleEngineDefinition,
    SemRuleset, SemRuleflow) line: 269
    RVERuleCompiler.compileMainRuleFlow(IlrRuleFlow,
    CodeRuleEngineDefinition, IObjectModelResolver, BuildContext,
    BuildServices, TypeResolver, ErrorCollector) line: 543
    RVERuleCompiler.compileMainRuleFlow(IlrRuleFlow,
    CodeRuleEngineDefinition, IObjectModelResolver, BuildContext,
    BuildServices, TypeResolver) line: 503
    SDsRVERulesetArchiveExporter(RVERulesetArchiveExporter).
    populateRulesetAndRuleflow(IlrRuleProject, BuildContext,
    BuildServices, List<IlrProjectElement>) line: 405
    SDsRVERulesetArchiveExporter(RVERulesetArchiveExporter).export(
    IProgressMonitor, String) line: 225
    SDsRVERulesetArchiveExporter.export(IProgressMonitor, String)
    line: 131
    RulesetArchiveExportJob.run(IProgressMonitor) line: 65
    Worker.run() line: 53
    

Local fix

  • Fill out the subflow, with a reference to an existing ruleflow.
    

Problem summary

  • The code corresponding to an empty subflow  is incorrectly
    generated and null object are created leading to the exception.
    

Problem conclusion

  • The code is fixed
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS01814

  • Reported component name

    WS DECISION SVR

  • Reported component ID

    5725B6901

  • Reported release

    860

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-11-19

  • Closed date

    2014-12-11

  • Last modified date

    2014-12-11

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • 999
    

Fix information

  • Fixed component name

    WS DECISION SVR

  • Fixed component ID

    5725B6901

Applicable component levels

  • R860 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SUPPORT","label":"IBM Worldwide Support"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.6","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
09 February 2022