IBM Support

PI41465: When HttpInputStream.isReady() is called after that same API has already returned false, an IllegalStateException can occur.

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When HttpInputStream.isReady() is called after that same API
    has already returned false, an IllegalStateException can
    occur. This can be avoided by not calling isReady() after it
    has already returned false.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of IBM WebSphere Application Server   *
    *                  Liberty Profile using a Servlet 3.1         *
    *                  javax.servlet.ReadListener                  *
    ****************************************************************
    * PROBLEM DESCRIPTION: An IllegalStateException can occur when *
    *                      the                                     *
    *                      javax.servlet.ServletInputStream.isRead *
    *                      y() method is called                    *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When the javax.servlet.ServletInputStream.isReady() method is
    called an IllegalStateException can occur. The exception occurs
    when the ServletInputStream.isReady() method has already
    returned false and then the javax.servlet.ReadListener.isReady()
    method is called again. The calls into ReadListener.isReady()
    have to occur within the same ReadListener.onDataAvailable()
    call.
    

Problem conclusion

  • The javax.servlet.ReadListener WebContainer code was modified to
    not throw an IllegalStateException
    
    The fix for this APAR is currently targeted for inclusion in fix
    pack 8.5.5.6.  Please refer to the Recommended Updates page for
    delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

  • Do not call  javax.servlet.ServletInputStream.isReady() after it
    has already returned false within the call to
    javax.servlet.ReadListener.onDataAvailable()
    

Comments

APAR Information

  • APAR number

    PI41465

  • Reported component name

    WAS LIBERTY COR

  • Reported component ID

    5725L2900

  • Reported release

    855

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-05-21

  • Closed date

    2015-06-02

  • Last modified date

    2015-06-02

  • 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

    WAS LIBERTY COR

  • Fixed component ID

    5725L2900

Applicable component levels

  • R855 PSY

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSD28V","label":"WebSphere Application Server Liberty Core"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"855","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
28 April 2022