IBM Support

RS03690: NPE DURING DE RULESET GENERATION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • During the ruleset generation an exception may be thrown if a
    BOM method is using a parameter of returning the class
    com.ibm.rules.engine.ruledef.runtime.RuleInstance
    
    Error
    message:
    
    GBRSM0276E: An unexpected error occurred while
    generating ruleset archive 'ruleArchive3.dsar' for rule project
    'ParseException'.
    B2X migration failed. See console error
    output for
    details.
    java.lang.NullPointerException
    
    
    Exception:
    
    Caused
    by: java.lang.NullPointerException
    at com.ibm.rules.engine.lang.
    semantics.transform.type.SemAbstractTypeCopier.transformTypeValu
    e(SemAbstractTypeCopier.java:82)
    at com.ibm.rules.engine.transfo
    rm.SemCacheTypeVisitorCopierFactory$CacheTypeTransformer.transfo
    rmTypeValue(SemCacheTypeVisitorCopierFactory.java:161)
    at com.ib
    m.rules.engine.lang.semantics.transform.SemMainLangTransformer.t
    ransformTypeValue(SemMainLangTransformer.java:337)
    at com.ibm.ru
    les.engine.lang.semantics.transform.BaseTransformer.mainTransfor
    mTypeValue(BaseTransformer.java:119)
    at com.ibm.rules.engine.lan
    g.semantics.transform.value.SemValueCopier.visit(SemValueCopier.
    java:161)
    at com.ibm.rules.engine.lang.semantics.transform.value
    .SemValueCopier.visit(SemValueCopier.java:43)
    at com.ibm.rules.e
    ngine.lang.semantics.SemCast.accept(SemCast.java:64)
    at com.ibm.
    rules.engine.lang.semantics.transform.value.SemValueCopier.trans
    formValue(SemValueCopier.java:59)
    at com.ibm.rules.engine.lang.s
    emantics.transform.SemMainLangTransformer.transformValue(SemMain
    LangTransformer.java:752)
    at com.ibm.rules.engine.lang.semantics
    .transform.BaseTransformer.mainTransformValue(BaseTransformer.ja
    va:440)
    at com.ibm.rules.engine.lang.semantics.transform.stateme
    nt.SemVariableCopier.transformAssignedValue(SemVariableCopier.ja
    va:76)
    at com.ibm.rules.engine.lang.semantics.transform.statemen
    t.SemVariableCopier.transformParameterDeclaration(SemVariableCop
    ier.java:86)
    at com.ibm.rules.engine.lang.semantics.transform.st
    atement.SemVariableCopier.transformVariableDeclaration(SemVariab
    leCopier.java:114)
    at com.ibm.rules.engine.lang.semantics.transf
    orm.SemMainLangTransformer.transformVariableDeclaration(SemMainL
    angTransformer.java:639)
    at com.ibm.rules.engine.lang.semantics.
    transform.BaseTransformer.mainTransformVariableDeclaration(BaseT
    ransformer.java:360)
    at com.ibm.rules.engine.lang.semantics.tran
    sform.statement.SemStatementCopier.visit(SemStatementCopier.java
    :326)
    at com.ibm.rules.engine.lang.semantics.transform.statement
    .SemStatementCopier.visit(SemStatementCopier.java:41)
    at com.ibm
    .rules.engine.lang.semantics.SemLocalVariableDeclaration.accept(
    SemLocalVariableDeclaration.java:99)
    at com.ibm.rules.engine.lan
    g.semantics.transform.statement.SemStatementCopier.transformStat
    ement(SemStatementCopier.java:72)
    

Local fix

  • Remove all reference to the class RuleInstance from the BOM.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Users generating ruleset with Decision Engine.               *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * During the ruleset generation an exception may be thrown if  *
    * a BOM method is using a parameter of returning the class     *
    * com.ibm.rules.engine.ruledef.runtime.RuleInstance            *
    *                                                              *
    * Error message:                                               *
    *                                                              *
    * GBRSM0276E: An unexpected error occurred while generating    *
    * ruleset archive 'myRuleArchive.dsar' for rule project        *
    * 'myProject'.                                                 *
    * B2X migration failed. See console error output for details.  *
    * java.lang.NullPointerException                               *
    *                                                              *
    *                                                              *
    * Exception:                                                   *
    *                                                              *
    * Caused by: java.lang.NullPointerException                    *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.type.SemAbstra *
    * ctTypeCopier.transformTypeValue(SemAbstractTypeCopier.java:8 *
    * 2)                                                           *
    * at                                                           *
    * com.ibm.rules.engine.transform.SemCacheTypeVisitorCopierFact *
    * ory$CacheTypeTransformer.transformTypeValue(SemCacheTypeVisi *
    * torCopierFactory.java:161)                                   *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformTypeValue(SemMainLangTransformer.java:337) *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.BaseTransforme *
    * r.mainTransformTypeValue(BaseTransformer.java:119)           *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.value.SemValue *
    * Copier.visit(SemValueCopier.java:161)                        *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.value.SemValue *
    * Copier.visit(SemValueCopier.java:43)                         *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.SemCast.accept(SemCast.j *
    * ava:64)                                                      *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.value.SemValue *
    * Copier.transformValue(SemValueCopier.java:59)                *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformValue(SemMainLangTransformer.java:752)     *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.BaseTransforme *
    * r.mainTransformValue(BaseTransformer.java:440)               *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.statement.SemV *
    * ariableCopier.transformAssignedValue(SemVariableCopier.java: *
    * 76)                                                          *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.statement.SemV *
    * ariableCopier.transformParameterDeclaration(SemVariableCopie *
    * r.java:86)                                                   *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.statement.SemV *
    * ariableCopier.transformVariableDeclaration(SemVariableCopier *
    * .java:114)                                                   *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformVariableDeclaration(SemMainLangTransformer *
    * .java:639)                                                   *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.BaseTransforme *
    * r.mainTransformVariableDeclaration(BaseTransformer.java:360) *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.statement.SemS *
    * tatementCopier.visit(SemStatementCopier.java:326)            *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.statement.SemS *
    * tatementCopier.visit(SemStatementCopier.java:41)             *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.SemLocalVariableDeclarat *
    * ion.accept(SemLocalVariableDeclaration.java:99)              *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.statement.SemS *
    * tatementCopier.transformStatement(SemStatementCopier.java:72 *
    * )                                                            *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformStatement(SemMainLangTransformer.java:687) *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformStatements(SemMainLangTransformer.java:884 *
    * )                                                            *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.BaseTransforme *
    * r.mainTransformStatements(BaseTransformer.java:463)          *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.member.SemMemb *
    * erImplementationCopier.visit(SemMemberImplementationCopier.j *
    * ava:169)                                                     *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.member.SemMemb *
    * erImplementationCopier.visit(SemMemberImplementationCopier.j *
    * ava:43)                                                      *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.SemMethod$DynamicImpleme *
    * ntation.accept(SemMethod.java:47)                            *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.member.SemMemb *
    * erImplementationCopier.transformMemberImplementation(SemMemb *
    * erImplementationCopier.java:67)                              *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformMemberImplementation(SemMainLangTransforme *
    * r.java:608)                                                  *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.BaseTransforme *
    * r.mainTransformMemberImplementation(BaseTransformer.java:349 *
    * )                                                            *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.member.SemMeth *
    * odCopier.transformMethodBody(SemMethodCopier.java:186)       *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformMethodBody(SemMainLangTransformer.java:496 *
    * )                                                            *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.BaseTransforme *
    * r.mainTransformMethodBody(BaseTransformer.java:249)          *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.type.SemClassC *
    * opier.transformMethodBodies(SemClassCopier.java:248)         *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.type.SemClassC *
    * opier.transformMemberBodies(SemClassCopier.java:143)         *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.type.SemClassC *
    * opier.transformMemberBodies(SemClassCopier.java:130)         *
    * at                                                           *
    * com.ibm.rules.engine.transform.SemCacheTypeVisitorCopierFact *
    * ory$CacheTypeTransformer.transformMemberBodies(SemCacheTypeV *
    * isitorCopierFactory.java:140)                                *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformMemberBodies(SemMainLangTransformer.java:3 *
    * 24)                                                          *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformMemberBodies(SemMainLangTransformer.java:2 *
    * 78)                                                          *
    * at                                                           *
    * com.ibm.rules.engine.lang.semantics.transform.SemMainLangTra *
    * nsformer.transformObjectModel(SemMainLangTransformer.java:25 *
    * 3)                                                           *
    * at                                                           *
    * com.ibm.rules.engine.transform.dataie.DataIERewriter.transfo *
    * rm(DataIERewriter.java:73)                                   *
    * at                                                           *
    * com.ibm.rules.engine.transform.dataie.DataIERewriter.transfo *
    * rm(DataIERewriter.java:64)                                   *
    * at                                                           *
    * com.ibm.rules.engine.outline.EngineOutlineImpl.applyModelRew *
    * riters(EngineOutlineImpl.java:450)                           *
    * at                                                           *
    * com.ibm.rules.engine.outline.EngineOutlineImpl.applyModelRew *
    * riterList(EngineOutlineImpl.java:431)                        *
    * at                                                           *
    * com.ibm.rules.engine.outline.B2XModelTranslator$B2XRewriterF *
    * actory.declareB2XModelTranslator(B2XModelTranslator.java:182 *
    * )                                                            *
    * at                                                           *
    * com.ibm.rules.engine.migration.incremental.ObjectModelBuildS *
    * ervices.declareB2X(ObjectModelBuildServices.java:69)         *
    * at                                                           *
    * com.ibm.rules.engine.migration.incremental.BuildServices.reg *
    * isterB2X(BuildServices.java:1484)                            *
    * at                                                           *
    * com.ibm.rules.studio.rve.builder.RVERulesetArchiveExporter.d *
    * eclareB2x(RVERulesetArchiveExporter.java:652)                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • The classes which name start with com.ibm.rules.engine are
    always reloaded.
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS03690

  • Reported component name

    WDS FOR RULES

  • Reported component ID

    5725B6903

  • Reported release

    8A0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-10-09

  • Closed date

    2020-10-15

  • Last modified date

    2020-10-15

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

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

Fix information

  • Fixed component name

    WDS FOR RULES

  • Fixed component ID

    5725B6903

Applicable component levels

  • R8A0 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":"8A0","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
17 February 2022