IBM Support

RS03426: NULLPOINTEREXCEPTION WHEN THE THROWS CLAUSE OF A BOM METHOD DECLARATION CONTAINS ENGINEINVALIDSTATEEXCEPTION

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Exporting a ruleset from Rule Designer fails when the throws
    clause of the BOM method declaration contains
    EngineInvalidStateException.
    
    For example, the export ruleset of the attached sample fails
    because the BOM has the following method definition:
    public void addToMessages(string arg)throws
    com.ibm.rules.engine.util.EngineInvalidStateException;
    
    
    The following stackstrace can be found in the log:
    
    !SUBENTRY 1 com.ibm.rules.studio.rve 4 0 2019-07-24 14:31:12.281
    !MESSAGE B2X migration failed. See console error output for
    details.
    !STACK 0
    java.lang.NullPointerException
    at
    com.ibm.rules.engine.lang.semantics.transform.member.SemConstruc
    torCopier.transformNewObject(SemConstructorCopier.java:153)
    at
    com.ibm.rules.engine.lang.semantics.transform.member.SemConstruc
    torCopier.transformConstructorValue(SemConstructorCopier.java:14
    5)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformConstructorValue(SemMainLangTransformer.java:570)
    at
    com.ibm.rules.engine.lang.semantics.transform.BaseTransformer.ma
    inTransformConstructorValue(BaseTransformer.java:317)
    at
    com.ibm.rules.engine.lang.semantics.transform.value.SemValueCopi
    er.visit(SemValueCopier.java:109)
    at
    com.ibm.rules.engine.lang.semantics.transform.value.SemValueCopi
    er.visit(SemValueCopier.java:41)
    at
    com.ibm.rules.engine.lang.semantics.SemNewObject.accept(SemNewOb
    ject.java:81)
    at
    com.ibm.rules.engine.lang.semantics.transform.value.SemValueCopi
    er.transformValue(SemValueCopier.java:57)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformValue(SemMainLangTransformer.java:732)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformValue(SemMainLangTransformer.java:713)
    at
    com.ibm.rules.engine.lang.semantics.transform.BaseTransformer.ma
    inTransformValue(BaseTransformer.java:432)
    at
    com.ibm.rules.engine.lang.semantics.transform.statement.SemState
    mentCopier.visit(SemStatementCopier.java:334)
    at
    com.ibm.rules.engine.lang.semantics.transform.statement.SemState
    mentCopier.visit(SemStatementCopier.java:41)
    at
    com.ibm.rules.engine.lang.semantics.SemThrow.accept(SemThrow.jav
    a:40)
    at
    com.ibm.rules.engine.lang.semantics.transform.statement.SemState
    mentCopier.transformStatement(SemStatementCopier.java:72)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformStatement(SemMainLangTransformer.java:687)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformStatements(SemMainLangTransformer.java:884)
    at
    com.ibm.rules.engine.lang.semantics.transform.BaseTransformer.ma
    inTransformStatements(BaseTransformer.java:463)
    at
    com.ibm.rules.engine.lang.semantics.transform.statement.SemState
    mentCopier.transformBlock(SemStatementCopier.java:97)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformBlock(SemMainLangTransformer.java:705)
    at
    com.ibm.rules.engine.lang.semantics.transform.BaseTransformer.ma
    inTransformBlock(BaseTransformer.java:402)
    at
    com.ibm.rules.engine.lang.semantics.transform.statement.SemState
    mentCopier.visit(SemStatementCopier.java:236)
    at
    com.ibm.rules.engine.lang.semantics.transform.statement.SemState
    mentCopier.visit(SemStatementCopier.java:41)
    at
    com.ibm.rules.engine.lang.semantics.SemIf.accept(SemIf.java:63)
    at
    com.ibm.rules.engine.lang.semantics.transform.statement.SemState
    mentCopier.transformStatement(SemStatementCopier.java:72)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformStatement(SemMainLangTransformer.java:687)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformStatements(SemMainLangTransformer.java:884)
    at
    com.ibm.rules.engine.lang.semantics.transform.BaseTransformer.ma
    inTransformStatements(BaseTransformer.java:463)
    at
    com.ibm.rules.engine.lang.semantics.transform.member.SemMemberIm
    plementationCopier.visit(SemMemberImplementationCopier.java:169)
    at
    com.ibm.rules.engine.lang.semantics.transform.member.SemMemberIm
    plementationCopier.visit(SemMemberImplementationCopier.java:43)
    at
    com.ibm.rules.engine.lang.semantics.SemMethod$DynamicImplementat
    ion.accept(SemMethod.java:47)
    at
    com.ibm.rules.engine.lang.semantics.transform.member.SemMemberIm
    plementationCopier.transformMemberImplementation(SemMemberImplem
    entationCopier.java:67)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformMemberImplementation(SemMainLangTransformer.java:6
    08)
    at
    com.ibm.rules.engine.lang.semantics.transform.BaseTransformer.ma
    inTransformMemberImplementation(BaseTransformer.java:349)
    at
    com.ibm.rules.engine.lang.semantics.transform.member.SemMethodCo
    pier.transformMethodBody(SemMethodCopier.java:181)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformMethodBody(SemMainLangTransformer.java:496)
    at
    com.ibm.rules.engine.lang.semantics.transform.BaseTransformer.ma
    inTransformMethodBody(BaseTransformer.java:249)
    at
    com.ibm.rules.engine.lang.semantics.transform.type.SemClassCopie
    r.transformMethodBodies(SemClassCopier.java:258)
    at
    com.ibm.rules.engine.lang.semantics.transform.type.SemClassCopie
    r.transformMemberBodies(SemClassCopier.java:153)
    at
    com.ibm.rules.engine.lang.semantics.transform.type.SemClassCopie
    r.transformMemberBodies(SemClassCopier.java:140)
    at
    com.ibm.rules.engine.transform.SemCacheTypeVisitorCopierFactory$
    CacheTypeTransformer.transformMemberBodies(SemCacheTypeVisitorCo
    pierFactory.java:139)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformMemberBodies(SemMainLangTransformer.java:324)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformMemberBodies(SemMainLangTransformer.java:278)
    at
    com.ibm.rules.engine.lang.semantics.transform.SemMainLangTransfo
    rmer.transformObjectModel(SemMainLangTransformer.java:253)
    at
    com.ibm.rules.engine.transform.dataie.DataIERewriter.transform(D
    ataIERewriter.java:73)
    at
    com.ibm.rules.engine.transform.dataie.DataIERewriter.transform(D
    ataIERewriter.java:64)
    at
    com.ibm.rules.engine.outline.EngineOutlineImpl.applyModelRewrite
    rs(EngineOutlineImpl.java:447)
    at
    com.ibm.rules.engine.outline.EngineOutlineImpl.applyModelRewrite
    rList(EngineOutlineImpl.java:428)
    at
    com.ibm.rules.engine.outline.B2XModelTranslator$B2XRewriterFacto
    ry.declareB2XModelTranslator(B2XModelTranslator.java:182)
    at
    com.ibm.rules.engine.migration.incremental.ObjectModelBuildServi
    ces.declareB2X(ObjectModelBuildServices.java:69)
    at
    com.ibm.rules.engine.migration.incremental.BuildServices.registe
    rB2X(BuildServices.java:1484)
    at
    com.ibm.rules.studio.rve.builder.RVERulesetArchiveExporter.decla
    reB2x(RVERulesetArchiveExporter.java:644)
    at
    com.ibm.rules.studio.rve.builder.RVERulesetArchiveExporter.expor
    t(RVERulesetArchiveExporter.java:403)
    at
    com.ibm.rules.studio.decisionservice.SDsRVERulesetArchiveExporte
    r.export(SDsRVERulesetArchiveExporter.java:134)
    at
    ilog.rules.studio.model.archive.internal.RulesetArchiveExportJob
    .run(RulesetArchiveExportJob.java:65)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
    

Local fix

  • catch exception "EngineInvalidStateException" in method body
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * User generating ruleset.                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * Exporting a ruleset from Rule Designer fails when the throws *
    * clause of the BOM method declaration contains                *
    * EngineInvalidStateException.                                 *
    *                                                              *
    * The following stackstrace can be found in the log:           *
    *                                                              *
    * !MESSAGE B2X migration failed. See console error output for  *
    * details.                                                     *
    *                                                              *
    * java.lang.NullPointerException                               *
    * at com.ibm.rules.engine.lang.semantics.transform.member.     *
    * SemConstructorCopier.transformNewObject(SemConstructorCopier *
    * .java:153)                                                   *
    * at com.ibm.rules.engine.lang.semantics.transform.member.     *
    * SemConstructorCopier.transformConstructorValue               *
    * (SemConstructorCopier.java:145)                              *
    * at com.ibm.rules.engine.lang.semantics.transform.            *
    * SemMainLangTransformer.transformConstructorValue             *
    * (SemMainLangTransformer.java:570)                            *
    * at com.ibm.rules.engine.lang.semantics.transform.            *
    * BaseTransformer.mainTransformConstructorValue                *
    * (BaseTransformer.java:317)                                   *
    * at com.ibm.rules.engine.lang.semantics.transform.value.      *
    * SemValueCopier.visit(SemValueCopier.java:109)                *
    * at com.ibm.rules.engine.lang.semantics.transform.value.      *
    * SemValueCopier.visit(SemValueCopier.java:41)                 *
    * at com.ibm.rules.engine.lang.semantics.SemNewObject.         *
    * accept(SemNewObject.java:81)                                 *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • APAR RS03690 also fixed this problem.
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS03426

  • Reported component name

    WS DECISION CTR

  • Reported component ID

    5725B6900

  • Reported release

    891

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2019-08-05

  • Closed date

    2020-11-12

  • Last modified date

    2020-11-12

  • 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

    WS DECISION CTR

  • Fixed component ID

    5725B6900

Applicable component levels

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU053","label":"Cloud & Data Platform"},"Product":{"code":"SSQPJS","label":"IBM Operational Decision Manager for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"891"}]

Document Information

Modified date:
13 November 2020