IBM Support

PI69625: LIBERTY SERVER AT 16.0.0.3 MAY FAIL TO START WHEN USING ASYNCIO

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • 16.0.0.3 provides Asynchronous TCP/IP sockets I/O for Liberty
    on z/OS.  When this is enabled (by permitting the server to
    RACF server class BBG.AUTHMOD.BBGZSAFM.ZOSAIO and running the
    Angel process), the server tries to allocate 2GB of above the
    bar storage use in one of its pools.  If the storage obtain
    fails, the code doesn't handle this failure correctly and takes
    a gpf (abend0C4) causing the server to fail to start.
    This may also happen after startup, if another buffer is
    needed, but there not enough memory for the additional buffer.
    The messages.log will show this is enabled:
    CWWKB0103I: Authorized service group ZOSAIO is available
    java core will show this as the current thread:
    "LargeThreadPool-thread-2"
    Java callstack:
    at com/ibm/io/async/AsyncLibrary.aio_init(Native Method)
    at com/ibm/io/async/AsyncLibrary.initialize(Bytecode PC:33)
    at com/ibm/io/async/AsyncLibrary.(Bytecode PC:37)
    at com/ibm/io/async/AsyncLibrary.
    createInstance(BytecodePC:64)
    com/ibm/ws/tcpchannel/internal/AioTCPChannel.
    setup(Bytecode PC:35)
    at com/ibm/ws/tcpchannel/internal/TCPChannelFactory.
    createChannel(Bytecode PC:74)
    

Local fix

  • There are a few workarounds that can be used
    1. Disable Asynchronous TCP/IP sockets I/O for Liberty on z/OS
    for the server by removing the server's access to RACF server
    class BBG.AUTHMOD.BBGZSAFM.ZOSAIO
    2. Disable Asynchronous TCP/IP sockets I/O for Liberty on z/OS
    for the server by adding the following property to the
    bootstrap.properties file:
    com.ibm.ws.tcpchannel.useZosAio=false
    3.  Adjust restrictions on memory usage for the server to allow
    the 2GB allocation to succeed.  This can be done by adding
    MEMLIMIT=NOLMIT to the server proc.
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server Liberty for z/OS                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: An ABEND0C4 can occur in native routine *
    *                      buildCellPool on address                *
    *                      x'00000000_7FFFF000' returned from a    *
    *                      failed IARV64 GetStor call.             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    The initialization code related to the
    z/OS Asynchronous I/O TCP (AsyncIO) support failed to obtain a
    roughly 2Gig, above the bar, piece of storage for use in one of
    its
    pools.  The code failed to check the return code from the IARV64
    GETSTOR invocation and instead just checked the returned storage
    address.
    
    From the systrace I see:
    
    0002 0221 008C4328  SSRV   14B          01C42020
      00000008 4A001620 00000000  IarV64   GetStor
      00000000_7FFFF000
    00000000_000007CF
    00000000_00000000
    
    The systrace entry above shows a return code of 8 and rsn of
    x'0016'.
    It also shows the return storage address of
    x'00000000_7FFFF000'.
    
    The AsyncIO code checked for a non-zero returned storage address
    and
    attempted to use the x'00000000_7FFFF000' as its storage.  The
    ABENDS0C4 resulted when attempting to format the storage within
    the
    buildCellPool routine called from buildAIOSRBCellPool within
    the mvs_aio_services module.
    

Problem conclusion

  • Code has been modified in the Asynchronous
    I/O (AsyncIO) cellpool management code to
    verify that storage was obtained prior to use.
    Also, code was added to dynamically grow the
    AsyncIO SRB cellpool as needed.  This eliminates
    the initial 2Gig storage allocation for a
    static cellpool.
    
    The fix for this APAR is currently targeted for inclusion in fix
    pack 16.0.0.4.  Please refer to the Recommended Updates page for
    delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI69625

  • Reported component name

    LIBERTY PROF -

  • Reported component ID

    5655W6514

  • Reported release

    CD0

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2016-09-22

  • Closed date

    2016-10-18

  • Last modified date

    2016-11-03

  • 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

    LIBERTY PROF -

  • Fixed component ID

    5655W6514

Applicable component levels

  • RCD0 PSY

       UP

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Platform":[{"code":"PF054","label":"z Systems"}],"Version":"CD0","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
17 June 2020