IBM Support

PI74778: IN IBM WEBSPHERE APPLICATION SERVER FORZ/OS, READLISTENER ANDWRITELISTENER DO NOT RECEIVE ANEXPECTED SOCKETTIMEOUTEXCEPTION.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Applications that implement the é áonError() method in javax
    .servlet.ReadListener or javax.servlet.WriteListener such that
    onError() é áexpects a SocketTimeoutException, é ámight instead
    passed a java.lang.Exception that makes no mention of é á
    SocketTimeoutException.
    
    Certain code paths take a SocketTimeoutException's message and é
    wrap that in a java.lang.Exception, propagating that back to the
    caller with no mention of the original SocketTimeoutException. é
    This causes some code to mishandle what would have been a é á
    SocketTimeoutException, this could be application or product
    code.
    
    In a separate issue, some callers of com.ibm.ws390.xmem
    .proxy.channel.XMemProxySRTCPReadRequestContext#read(long, int),
     in particular javax.servlet.ServletInputStream.isReady() as
    implemented by com.ibm.ws.webcontainer.upgrade
    .WCCUpgradeInputStream, may see an IOException with a message
    like "Read failure: synchronous read returned no data", where
    there is no read failure. The IOException was being thrown in
    error.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server                                      *
    *                  V9.0                                        *
    ****************************************************************
    * PROBLEM DESCRIPTION: This APAR addresses two related issues  *
    *                      in IBM WebSphere Application Server for *
    *                      z/OS. First, ReadListener and           *
    *                      WriteListener do not receive an         *
    *                      expected SocketTimeoutException.        *
    *                      Second,a read error is incorrectly      *
    *                      reported after a read call              *
    *                      returned zero bytes.                    *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Applications that implement the é áonError() method in javax
    .servlet.ReadListener or javax.servlet.WriteListener such that
    onError() é áexpects a SocketTimeoutException, é ámight instead
    passed a java.lang.Exception that makes no mention of é á
    SocketTimeoutException.
    Certain code paths take a SocketTimeoutException's message
    and é á
    wrap that in a java.lang.Exception, propagating that back to
    the
    caller with no mention of the original
    SocketTimeoutException. é á
    This causes some code to mishandle what would have been a é á
    SocketTimeoutException, this could be application or product
    code.
    For the read issue, in some cases, callers of
    com.ibm.ws390.xmem
    .proxy.channel.XMemProxySRTCPReadRequestContext#read(long,
    int),
    in particular javax.servlet.ServletInputStream.isReady() as
    implemented by com.ibm.ws.webcontainer.upgrade
    .WCCUpgradeInputStream, may see an IOException with a message
    like "Read failure: synchronous read returned no data", where
    there is no read failure. The IOException was being thrown in
    error.
    

Problem conclusion

  • The relevant code has been updated to propagate
    SocketTimeoutExceptions appropriately.
    
    The IOException has been replaced with a trace message.
    
    APAR PI74778 is currently targeted for inclusion in Fix Pack
    9.0.0.4 of WebSphere Application Server.
    
    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

    PI74778

  • Reported component name

    WEBSPHERE FOR Z

  • Reported component ID

    5655I3500

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-01-11

  • Closed date

    2017-04-27

  • Last modified date

    2017-04-27

  • 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

    WEBSPHERE FOR Z

  • Fixed component ID

    5655I3500

Applicable component levels

  • R900 PSY

       UP

[{"Line of Business":{"code":"LOB36","label":"IBM Automation"},"Business Unit":{"code":"BU053","label":"Cloud \u0026 Data Platform"},"Product":{"code":"SS7K4U","label":"WebSphere Application Server for z\/OS"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"900"}]

Document Information

Modified date:
07 September 2021