IBM Support

RS03865: AUTOMATIC EXCEPTION HANDLING MAY BREAK THE RULE EXECUTION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When automatic exception handling is enabled in the decision
    engine some rules do not execute.  An error may be thrown
    
    Caused by: java.lang.ClassFormatError: Illegal exception table
    range in class file
    com/ibm/rules/generated/ruleflow/task1$003ep1/SEQEngine
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:839)
    at ilog.jit.jvm.IlxJITClassLoader.findClass(IlxJITClassLoader.j
    ava:133)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    
    Enabling assertion during ruleset generation (jvm option -ea) an
    error is thrown
    
    used by: java.lang.AssertionError: notAssignableTo
    boolean_to_string(valueOf(equals_ignore_case(this#expression &&
    this#expression2)), boolean
    at com.ibm.rules.engine.lang.semantics.util.SemAssertingDiagnos
    ticHandler.notAssignableTo(SemAssertingDiagnosticHandler.java:5
    3)
    at com.ibm.rules.engine.lang.semantics.SemAbstractCheckedLangua
    geFactory.adaptToAssignment(SemAbstractCheckedLanguageFactory.j
    ava:1680)
    at com.ibm.rules.engine.lang.semantics.SemAbstractCheckedLangua
    geFactory.checkedVariableAssignment(SemAbstractCheckedLanguageF
    actory.java:327)
    at com.ibm.rules.engine.algo.compilation.nullhandling.NullHandl
    ingStatementBuilder$BooleanVariableStatementBuilder.buildStatem
    ents(NullHandlingStatementBuilder.java:731)
    at com.ibm.rules.engine.algo.compilation.nullhandling.NullHandl
    ingStatementBuilder.buildStatementsWithThrow(NullHandlingStatem
    entBuilder.java:179)
    at com.ibm.rules.engine.algo.compilation.nullhandling.NullHandl
    ingHelper.varDeclBoolWithNullHandling(NullHandlingHelper.java:1
    26)
    at com.ibm.rules.engine.fastpath.compiler.SemSpecializedCompile
    r.varDeclListWithNullHandling(SemSpecializedCompiler.java:695)
    at com.ibm.rules.engine.fastpath.compiler.SemSpecializedCompile
    r.visit(SemSpecializedCompiler.java:391)
    at com.ibm.rules.engine.fastpath.compiler.SemSequentialCompiler
    .visit(SemSequentialCompiler.java:1376)
    at com.ibm.rules.engine.fastpath.compiler.SemStaticSequentialCo
    mpiler.visit(SemStaticSequentialCompiler.java:340)
    at com.ibm.rules.engine.fastpath.semantics.SemFromNode.accept(S
    emFromNode.java:42)
    

Local fix

  • Disable Automatic exception handling.
    or rewrite local definitions using boolean expression so that
    the expression is evaluated in a boolean local variable before
    being used in another local variable definition
    
    For example:
    
    set string1 to  get string value when ( var is not null and the
    length of var is at least 10 )
    
    
    rewrite as:
    set  test to var is not null and the length of var is at least
    10 ;
    set string1 to  get string value when test
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Decision Engine execution with Automatic Exception Handling  *
    * enabled.                                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * in some circumstances where a boolean expression is used as  *
    * part of the initial value of a non boolean local variable    *
    * the decision engine may incorrectly evaluate this expression *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • the code is fixed
    

Temporary fix

Comments

APAR Information

  • APAR number

    RS03865

  • 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

    2021-10-26

  • Closed date

    2021-10-29

  • Last modified date

    2021-10-29

  • 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

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

Document Information

Modified date:
02 June 2022