IBM Support

PI77241: 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 Releases 1 and 2 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

    PI77241

  • Reported component name

    TCP/IP V3 MVS

  • Reported component ID

    5655HAL00

  • Reported release

    210

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2017-02-25

  • Closed date

    2017-03-27

  • Last modified date

    2017-07-18

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

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

    UI45893 UI45894 PI84688

Modules/Macros

  • EZAFTPKI
    

Fix information

  • Fixed component name

    TCP/IP V3 MVS

  • Fixed component ID

    5655HAL00

Applicable component levels

  • R210 PSY UI45893

       UP17/06/15 P F706

  • R220 PSY UI45894

       UP17/06/15 P F706

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":"210","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":"210","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
18 July 2017