IBM Support

PH23551: CGI error handling improvement

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error handling for CGI (mod_cgi) on z/OS and Windows platforms
    needs improvements.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  Users of mod_cgi in IBM HTTP Server (IHS)   *
    *                  8.5.5 or 9.0                                *
    ****************************************************************
    * PROBLEM DESCRIPTION: Inadequate CGI error handling           *
    ****************************************************************
    * RECOMMENDATION:  Apply this fix if using the mod_cgi module  *
    *                  with IHS                                    *
    ****************************************************************
    Case example:
    1. Slightly-slow CGI causes a browser to navigate away from
    the page, closing the connection.
    2. IHS does not keep reading from the CGI once the client is
    gone.
    3. The CGI will keep writing until it fills its side of the
    buffer on the pipe it writes responses to, so it will not exit
    on its own.
    4. IHS will eventually finish the request, and an exit has
    been registered to terminate the CGI if it's still running.
    5. This triggers a SIGTERM, wait, SIGKILL.
    No errors are written to the IHS error log to indicate this
    situation has happened.  The MVS system log will show an
    abendEC6 REASON=0000FF0F for the SIGTERM.  It may also show
    a message like this:
    BPXP023I THREAD 2473000000000000, IN PROCESS 16845413,
    TERMINATED BY SIGNAL SIGTERM, SENT FROM THREAD IN PROCESS
    65683, UID 123456, IN JOB IHSSERVR.
    

Problem conclusion

  • Log a warning (IHS00018) when a client reading CGI output
    disconnects before the CGI has completed.  By default, the CGI
    is sent a SIGTERM signal when the request ends which may be
    recorded in the z/OS system log if the CGI does not handle the
    SIGTERM itself.
    
    To reduce the warning to a trace message, set per-request
    environment variable ihs-cgi-brokenpipe to "trace":
    SetEnvIf Request_URI .* ihs-cgi-brokenpipe=trace
    
    To have the server continue reading from the CGI after the
    client has disconnected, giving it a chance to exit
    gracefully, set ihs-cgi-brokenpipe to "soak":
    SetEnvIf Request_URI .* ihs-cgi-brokenpipe=soak
    
    This fix is targeted for IBM HTTP Server fix packs:
    - 8.5.5.18
    - 9.0.5.4
    
    For more information, see 'Recommended Updates for WebSphere
    Application Server':
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PH23551

  • Reported component name

    WAS IHS ZOS

  • Reported component ID

    5655I3510

  • Reported release

    900

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-03-20

  • Closed date

    2020-05-06

  • Last modified date

    2020-05-06

  • 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 IHS ZOS

  • Fixed component ID

    5655I3510

Applicable component levels

  • R850 PSY

       UP

  • R90P PSY

       UP

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

Document Information

Modified date:
09 March 2021