IBM Support

PI24856: NATIVE TO JAVA EXCEPTION HANDLING IS INCORRECT IN SOME METHODS.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • MbElement.copy() does not pass back exceptions to Java:
    
    This problem occurs when using a Java Compute node or a Java
    plugin node. The MbElement class in the Java plugin API
    contains a copy() method. This method, according to the product
    documentation, can throw an MbException. However, if an
    exception occurs (commonly a parser exception) while performing
    the underlying copy, this exception is not handled correctly.
    Specifically, this exception does not get thrown back, as an
    MbException, to your Java code. The result is that an unhandled
    exception exists in the runtime, causing the execution group to
    restart or abend.
    
    MbService.mbExceptionToNativeException() does not check that an
    exception occurred after a call to Java:
    
    The following warning may be reported if JNI checking is
    enabled after this method makes a CallBooleanMethod() call to
    the Java isInternal() method.
    
    JVMJNCK058W JNI warning in PopLocalFrame: After calling
    CallBooleanMethod/CallBooleanMethodV, you must check for
    exceptions using ExceptionCheck, ExceptionClear or
    ExceptionOccurred before calling PopLocalFrame
    
    
    
    Additional Symptom(s) Search Keyword(s):
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    USERS AFFECTED:
    All users of WebSphere Message Broker V7.0 who use the
    MbElement.copy() method in a Java Compute node or Java plugin
    node.
    
    
    Platforms affected:
    z/OS, MultiPlatform
    
    ****************************************************************
    PROBLEM DESCRIPTION:
    The problem can occur when using the MbElement.copy() method in
    a Java Compute node or a Java
    plugin node. This method can throw an MbException and if an
    exception occurs (commonly a parser exception) while performing
    the underlying copy, this exception is not handled correctly.
    
    Specifically, this exception does not get thrown back, as an
    MbException, to your code, resulting in
    an unhandled exception during runtime, which causes the
    execution group to restart or abend with a traceback stack
    similar to the following:
    
    getOriginalROMMethod
    walkBytecodeFrame
    walkStackFrames
    RUNCALLINMETHOD
    callNonvirtualVoidMethodV
    newObjectV
    JNIEnv_::NewObject
    com_ibm_broker_plugin_MbBrokerException::createMbBrokerExcep
    ImbJavaExceptionUtils::throwBrokerExceptionToJava
    p::Java_com_ibm_broker_plugin_MbOutputTerminal
    
    There are a number of resource name changes between WebSphere
    Message Broker and IBM Integration Bus Version 9.0. For details
    visit
    http://www-01.ibm.com/support/knowledgecenter/SSMKHH_9.0.0/com.i
    bm.etools.mft.doc/bb23814_.htm
    

Problem conclusion

  • The product now ensures that exceptions get passed back from the
    copy() method to your Java code, where they can be handled
    within that node or allowed to follow the usual message flow
    exception handling procedure.
    
    Versions 8 and 9 of the product are fixed under APAR PI08962.
    
    ---------------------------------------------------------------
    The fix is targeted for delivery in the following PTFs:
    
    Version    Maintenance Level
    v7.0       7.0.0.8
    v8.0       8.0.0.5
    v9.0       9.0.0.2
    
    The latest available maintenance can be obtained from:
    http://www-01.ibm.com/support/docview.wss?rs=849&uid=swg27006041
    
    If the maintenance level is not yet available,information on
    its planned availability can be found on:
    http://www-1.ibm.com/support/docview.wss?rs=849&uid=swg27006308
    ---------------------------------------------------------------
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI24856

  • Reported component name

    WEB MB Z/OS

  • Reported component ID

    5655V6000

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-08-29

  • Closed date

    2014-09-25

  • Last modified date

    2015-04-20

  • 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

    WEB MB Z/OS

  • Fixed component ID

    5655V6000

Applicable component levels

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M"},"Platform":[{"code":"PF054","label":"z Systems"}],"Version":"7.0"}]

Document Information

Modified date:
15 October 2021