IBM Support

PI84688: ORPHANED FTP API ZOMBIE PROCESSES CAUSE FORK OR SPAWN FAILURES: BPXP005I A FORK OR SPAWN ERROR WAS ENCOUNTERED. REASON=0B0F0028.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When an application is using the EZAFTPKS API, it spawns an FTP
    client child process.  After processing the QUIT subcommand, the
    child process does an exit() while the parent process is
    waiting for the QUIT reply via a STIMERM call.  Since the
    parent process is not waiting via a wait() or waitpid() call and
    is not set up ignore SIGCHLD signals, the child process turns
    into a zombie process.  The EZAFTPKS interface never does a
    wait() or waitpid() to delete the zombie process.  Thus, a
    zombie process is orphaned with each iteration of an EZAFTPKS
    session.
    Eventually, the Unix System Services (USS) MAXPROCSYS value is
    reached due to the orphaned zombie processes.  Thus, attempts
    to create new USS processes start failing with errno EAGAIN (70)
    and errnojr JRMAXPROC (40) and msgBPXP005I:
    BPXP005I A FORK OR SPAWN ERROR WAS ENCOUNTERED.  RETURN CODE
    00000070 REASON CODE 0B0F0028 .
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * All users of the IBM Communications Server for z/OS Version  *
    * 2 Release 3 IP: FTP Client API                               *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * ORPHANED FTP API ZOMBIE PROCESSES CAUSE FORK OR SPAWN        *
    * FAILURES:                                                    *
    * BPXP005I A FORK OR SPAWN ERROR WAS ENCOUNTERED.              *
    * REASON=0B0F0028.                                             *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    When an application is using the EZAFTPKS API, it spawns an FTP
    client child process.  After processing the QUIT subcommand, the
    child process does an exit() while
    the parent process is waiting for the QUIT reply via a STIMERM
    call.  Since the parent process is not waiting via a wait() or
    waitpid() call and is not set up to ignore
    SIGCHLD signals, the child process turns into a zombie process.
    The EZAFTPKS interface never does a wait() or waitpid() to
    delete the zombie process.  Thus, a
    zombie process is orphaned with each iteration of an EZAFTPKS
    session.
    Eventually, the Unix System Services (USS) MAXPROCSYS value is
    reached due to the orphaned zombie processes.  Thus, attempts to
    create new USS processes start
    failing with errno EAGAIN (70) and errnojr JRMAXPROC (40) and
    msgBPXP005I:
    BPXP005I A FORK OR SPAWN ERROR WAS ENCOUNTERED.  RETURN CODE
    00000070 REASON CODE 0B0F0028 .
    

Problem conclusion

  • The EZAFTPKS interface program that communicates with the child
    process, EZAFTPKI, has been amended to issue a waitpid()
    (BPX1WAT) with the WNOHANG option in order to delete the zombie
    process.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI84688

  • Reported component name

    TCP/IP MVS

  • Reported component ID

    5655HAL00

  • Reported release

    230

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-07-18

  • Closed date

    2017-07-24

  • Last modified date

    2017-09-02

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

    PI77241

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

    UI49034

Modules/Macros

  • EZAFTPKI
    

Fix information

  • Fixed component name

    TCP/IP MVS

  • Fixed component ID

    5655HAL00

Applicable component levels

  • R230 PSY UI49034

       UP17/08/22 P F708

Fix is available

  • Select the PTF appropriate for your component level. You will be required to sign in. Distribution on physical media is not available in all countries.

[{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"230","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SSCY4DZ","label":"DO NOT USE"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"230","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 September 2017