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