IBM Support

PK96849: STACK OVERFLOW IF THE C STACK IS LARGER THAN THAN THE JAVA STACK- UNEXPECTED EXCEPTION IN THE JAVA API FRAMEWORK WITH JAVA UDNS

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • A Java User Defined Node (UDN) is called twice in a message flow
    with other nodes inbetween. When the flow enters the evaluate
    method of the second instance, the flow rolls back and does not
    show an exception.
    
          catch( MbException ex )
    
    was added to the code to capture the exception and the following
    is produced in the trace:
    
          <com.ibm.broker.plugin.MbBrokerException  source:BIPv610
          key:4374 message:[BIPv610:4374]BIP4374S: An unexpected
          exception has occurred in the Java API framework.
    
    The error is also dependant on the number of nodes (any type)
    between the two Java Nodes. The more nodes there are, the
    greater the likelihood of failure.
    
    The cause of the failure is a system stack overflow error.
    
    The problem appears to be that the default Java stack size is
    not big enough to accommodate the large number of nodes between
    the two instances of the Java user-defined node. Also, The posix
    standard does not include an API that allows you to determine it
    dynamically, thus preventing a dynamic change of the stack.
    

Local fix

  • It is possible to add the following Java env. variable to the
    brokers ENVFILE to increase the Java Stack size:
    
    IBM_JAVA_OPTIONS=-Xmso<size>
    ie.,
    IBM_JAVA_OPTIONS=-Xmso1048576
      (which is 1 MB)
    
    The EG will need to be restarted to pick up the change.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: All users of WebSphere Message Broker on     *
    *                 Unix and z/OS using large C/Java stack       *
    *                 sizes.                                       *
    ****************************************************************
    * PROBLEM DESCRIPTION: A Java stackoverflow may occur if the   *
    *                      C stack is larger than the Java stack   *
    *                      size.                                   *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The JVM only attempts to determine the Java stack size on the
    Windows operating system. For all other platforms, it assumes
    that the stack size will be the same as the value set with
    with the Java -Xmso option. If the C thread stack size grows
    beyond this value and the thread then calls into Java, the
    stackoverflow exception will occur.
    

Problem conclusion

  • WebSphere Message Broker has been modified so that the size of
    the Java stack is set to the same size as the C stack before
    the C thread calls into Java.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK96849

  • Reported component name

    WMB Z/OS V6

  • Reported component ID

    5655M7400

  • Reported release

    100

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2009-09-22

  • Closed date

    2009-12-30

  • Last modified date

    2014-08-06

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Modules/Macros

  • BIP610DQ BIP610DR BIP610DS BIP610DT BIP610DU BIP610DV BIP610DW
    BIP610DX BIP610DY BIP610DZ BIP610E0 BIP610
    
    ***This field was truncated.  To obtain the full apar record, please contact your local support center.***
    

Fix information

  • Fixed component name

    WMB Z/OS V6

  • Fixed component ID

    5655M7400

Applicable component levels

  • R100 PSY

       UP

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

Document Information

Modified date:
24 October 2021