IBM Support

RS02058: [RULE DESIGNER] NPE IN RULEAPP GENERATION WHEN USING COLLECT AND DT IN TWO DIFFERENT RULES WITH SEQUENTIAL COMPILER

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When using collect and decision table in two different rules
    with sequential compiler, the following NPE might occurs when
    generating a RuleApp in Rule Designer:
    
    java.lang.NullPointerException
         at com.ibm.rules.engine.fastpath.compiler.
    AbstractEngineSplitter.<init>(AbstractEngineSplitter.java:54)
         at com.ibm.rules.engine.fastpath.compiler.
    SeqEngineSplitter.<init>(SeqEngineSplitter.java:51)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSequentialCompiler.visit(SemSequentialCompiler.java:227)
         at com.ibm.rules.engine.fastpath.semantics.SemMultiTests.
    accept(SemMultiTests.java:65)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSpecializedCompiler.visitTrueNode(SemSpecializedCompiler.
    java:392)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSpecializedCompiler.visit(SemSpecializedCompiler.java:325)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSequentialCompiler.visit(SemSequentialCompiler.java:1069)
         at com.ibm.rules.engine.fastpath.compiler.
    SemStaticSequentialCompiler.visit(SemStaticSequentialCompiler.
    java:330)
         at com.ibm.rules.engine.fastpath.semantics.SemFromNode.
    accept(SemFromNode.java:55)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSpecializedCompiler.visitTrueNode(SemSpecializedCompiler.
    java:392)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSpecializedCompiler.visit(SemSpecializedCompiler.java:325)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSequentialCompiler.visit(SemSequentialCompiler.java:1069)
         at com.ibm.rules.engine.fastpath.compiler.
    SemStaticSequentialCompiler.visit(SemStaticSequentialCompiler.
    java:330)
         at com.ibm.rules.engine.fastpath.semantics.SemFromNode.
    accept(SemFromNode.java:55)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSpecializedCompiler.visitTrueNode(SemSpecializedCompiler.
    java:392)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSpecializedCompiler.visit(SemSpecializedCompiler.java:206)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSequentialCompiler.visit(SemSequentialCompiler.java:1061)
         at com.ibm.rules.engine.fastpath.compiler.
    SemStaticSequentialCompiler.visit(SemStaticSequentialCompiler.
    java:335)
         at com.ibm.rules.engine.fastpath.semantics.SemInNode.
    accept(SemInNode.java:56)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSequentialCompiler.testAsStatement(SemSequentialCompiler.
    java:614)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSequentialCompiler.visit(SemSequentialCompiler.java:599)
         at com.ibm.rules.engine.fastpath.compiler.
    SemStaticSequentialCompiler.visit(SemStaticSequentialCompiler.
    java:325)
         at com.ibm.rules.engine.fastpath.semantics.SemIfTestNode.
    accept(SemIfTestNode.java:72)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSpecializedCompiler.visitTrueNode(SemSpecializedCompiler.
    java:392)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSpecializedCompiler.visit(SemSpecializedCompiler.java:206)
         at com.ibm.rules.engine.fastpath.compiler.
    SemSequentialCompiler.visit(SemSequentialCompiler.java:1061)
         at com.ibm.rules.engine.fastpath.compiler.
    SemStaticSequentialCompiler.visit(SemStaticSequentialCompiler.
    java:335)
         at com.ibm.rules.engine.fastpath.semantics.SemInNode.
    accept(SemInNode.java:56)
         at com.ibm.rules.engine.fastpath.compiler.
    SemStaticSequentialCompiler.compile(SemStaticSequentialCompiler.
    java:187)
         at com.ibm.rules.engine.fastpath.compiler.
    SemAbstractCompiler.compileRulesetAsModel(SemAbstractCompiler.
    java:125)
         at com.ibm.rules.engine.ruledef.compilation.
    AbstractRuleEngineCompiler.compile(AbstractRuleEngineCompiler.
    java:180)
         at com.ibm.rules.engine.ruleflow.compilation.
    TaskInstanceFactory.addRuleEngine(TaskInstanceFactory.java:389)
         at com.ibm.rules.engine.ruleflow.compilation.
    TaskInstanceFactory.addConstrutor(TaskInstanceFactory.java:238)
         at com.ibm.rules.engine.ruleflow.compilation.
    TaskInstanceFactory.createTaskInstance(TaskInstanceFactory.java:
    147)
         at com.ibm.rules.engine.ruleflow.compilation.
    TaskInstanceFactory.createRuleTaskInstance(TaskInstanceFactory.
    java:167)
         at com.ibm.rules.engine.ruleflow.compilation.
    SemNewTaskFactory.getNewSequentialTask(SemNewTaskFactory.java:
    116)
         at com.ibm.rules.engine.ruleflow.semantics.
    SemSequentialTask.getNewTask(SemSequentialTask.java:86)
    [...]
    

Local fix

  • Change the task execution mode to FastPath will solve this
    issue
    

Problem summary

  • the variable used to hold a collect object is added temporarily
    to a list for evaluation but never removed. The list is then
    incorrect leading to this error.
    

Problem conclusion

  • The code is fixed
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS02058

  • Reported component name

    WS DECISION CTR

  • Reported component ID

    5725B6900

  • Reported release

    860

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-07-08

  • Closed date

    2015-07-17

  • Last modified date

    2015-07-17

  • 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 CTR

  • Fixed component ID

    5725B6900

Applicable component levels

  • R860 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSQP76","label":"IBM Operational Decision Manager"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.6","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
07 January 2022