A fix is available
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
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