IBM Support

RS03261: RULESET BUILD FAILS WITH JAVA.LANG.INDEXOUTOFBOUNDSEXCEPTION: METHOD CODE TOO LARGE!

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When a BOM method contains too many attributes, ruleset
    generation fails with below exception :
    com.ibm.rules.container.EngineOutlineSerializationException:
    java.lang.IndexOutOfBoundsException: Method code too large!
            at
    com.ibm.rules.container.EnginePackageOpenXMLProducer.writeJar(En
    ginePackageOpenXMLProducer.java:259)
            at
    com.ibm.rules.container.EnginePackageOpenXMLProducer.writeJar(En
    ginePackageOpenXMLProducer.java:267)
            at
    com.ibm.rules.container.EngineOutlineSerializer.writeJar(EngineO
    utlineSerializer.java:47)
            at
    com.ibm.rules.studio.rve.builder.RVERulesetArchiveExporter.seria
    lizeEngineOutline(RVERulesetArchiveExporter.java:714)
            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
    com.ibm.rules.studio.decisionservice.SDsRulesetArchiveBuilder.re
    freshDecisionEngineArchive(SDsRulesetArchiveBuilder.java:107)
            at
    com.ibm.rules.decisionservice.DsRulesetArchiveBuilder.refreshArc
    hive(DsRulesetArchiveBuilder.java:50)
            at
    com.ibm.rules.decisionservice.DsRuleAppArchiveBuilder.buildRuleA
    ppInformation(DsRuleAppArchiveBuilder.java:182)
            at
    com.ibm.rules.decisionservice.DsRuleAppArchiveBuilder.refreshArc
    hive(DsRuleAppArchiveBuilder.java:365)
            at
    com.ibm.rules.studio.decisionservice.SDsRuleAppArchiveBuilder.re
    freshArchive(SDsRuleAppArchiveBuilder.java:80)
            at
    com.ibm.rules.studio.decisionservice.SDsRuleAppDeploymentJob.gen
    erateRuleApp(SDsRuleAppDeploymentJob.java:90)
            at
    com.ibm.rules.studio.decisionservice.SDsRuleAppDeploymentJob.dep
    loy(SDsRuleAppDeploymentJob.java:64)
            at
    com.ibm.rules.studio.decisionservice.SDsXOMDeploymentJob.runInWo
    rkspace(SDsXOMDeploymentJob.java:103)
            at
    org.eclipse.core.internal.resources.InternalWorkspaceJob.run(Int
    ernalWorkspaceJob.java:39)
            at
    org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
    Caused by: java.lang.IndexOutOfBoundsException: Method code too
    large!
            at
    com.ibm.rules.org.objectweb.asm.MethodWriter.computeMethodInfoSi
    ze(MethodWriter.java:1964)
            at
    com.ibm.rules.org.objectweb.asm.ClassWriter.toByteArray(ClassWri
    ter.java:426)
            at
    com.ibm.rules.engine.bytecode.asm.coding.ClassBuilder.getByteArr
    ay(ClassBuilder.java:115)
            at
    com.ibm.rules.engine.bytecode.asm.coding.ClassCoder.completeClas
    s(ClassCoder.java:37)
            at
    com.ibm.rules.engine.bytecode.asm.coding.ModelCoder.visit(ModelC
    oder.java:121)
            at
    com.ibm.rules.engine.bytecode.asm.coding.ModelCoder.visit(ModelC
    oder.java:26)
            at
    com.ibm.rules.engine.lang.semantics.impl.SemClassImpl.accept(Sem
    ClassImpl.java:572)
            at
    com.ibm.rules.engine.bytecode.asm.coding.ModelCoder.lambda$visit
    $0(ModelCoder.java:66)
            at
    com.ibm.rules.engine.bytecode.asm.coding.ModelCoder$$Lambda$525.
    000000001AD92BF0.accept(Unknown Source)
            at java.util.ArrayList.forEach(ArrayList.java:1268)
            at
    com.ibm.rules.engine.bytecode.asm.coding.ModelCoder.visit(ModelC
    oder.java:66)
            at
    com.ibm.rules.engine.bytecode.asm.coding.ModelCoder.visit(ModelC
    oder.java:26)
            at
    com.ibm.rules.engine.lang.semantics.impl.SemObjectModelImpl.acce
    pt(SemObjectModelImpl.java:504)
            at
    com.ibm.rules.engine.bytecode.asm.SemASMCompiler.buildModel(SemA
    SMCompiler.java:155)
            at
    com.ibm.rules.engine.bytecode.asm.SemASMCompiler.writeInJarStrea
    m(SemASMCompiler.java:254)
            at
    com.ibm.rules.engine.outline.EngineOutlineImpl.writeJarInStream(
    EngineOutlineImpl.java:571)
            at
    com.ibm.rules.container.EnginePackageOpenXMLProducer.writeJar(En
    ginePackageOpenXMLProducer.java:254)
            ... 15 more
    

Local fix

  • This issue can be work around, if the customer is not using
    this feature for testing and simulation ...
    By simply adding the property
    dataio.ignore = true
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Rule Designer or Decision Center users.                      *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * When a BOM method contains too many attributes, ruleset      *
    * generation fails.                                            *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • The code was fixed.
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS03261

  • Reported component name

    WDS FOR RULES

  • Reported component ID

    5725B6903

  • Reported release

    892

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-12-21

  • Closed date

    2019-02-28

  • Last modified date

    2019-02-28

  • 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

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

Document Information

Modified date:
17 February 2022