PJ41066: OPR-7704 CLTX OBJ-CINET4 .
Closed as program error.
See Problem Summary.
APAR NUMBER: PJ41066 PRODUCT: z/TPF FUNCTIONAL AREA: TCP/IP NATIVE STACK SHIPPED IN PUT: 10 ABSTRACT: With APAR PJ39769 applied, 1052 state sockets may encounter state errors on a select() API, the Syslog Daemon may encounter a CTL-10 system error during system cycle down, or input list shutdown could occur from ECBs created from the NOWAIT model of the Internet Daemon. PACKAGE CONTENTS: Source Segments: (C) base/include/syslog.h (C) base/rt/cinet4.c (C) base/rt/csylgd.c (C) base/rt/cts9.asm Object Only Binaries: None. Configuration Independent Binaries: (C) base/load/CLTX.so (C) base/load/CSYL.so (C) base/load/CTS9.so (C) base/obj/cinet4.o (C) base/obj/csylgd.o (C) base/obj/cts9.o Support Files: base/lst/cinet4.lst base/lst/csylgd.lst base/lst/cts9.lst base/lst/CLTX.map base/lst/CSYL.map base/lst/CTS9.map OTHER BINARIES TO BUILD: NO None. COMMENTS: APAR PJ39769 changed select() API processing to allow for it to conform to the architectural standards. This APAR changed the location within the processing where we check the state of sockets. In making this change, APAR PJ39769 introduced a problem where we are calling the IPSDC macro service routine to check the socket's state with the contents of register 4 pointing at the socket block header rather than an individual socket block entry. This causes unpredictable results from the IPSDC state check routine and can cause 1052 state sockets to fail with a state error while the system is in 1052 state. A CTL-10 system error may occur from the Syslog Daemon during cycle down. This is caused by the return code from select changing with APAR PJ39769 for sockets that have been cleaned up. Segment csylgd.c needs to be updated to properly handle the error now returned from recvfrom() and exit during cycle down. Input list shutdown could occur when a UDP socket is cleaned up that is being monitored by the NOWAIT model of the Internet Daemon. This is caused by the Internet Daemon code improperly handling the select return code and spawning off application ECBs in a tight loop.
SOLUTION: APAR PJ41066 corrected this problem by moving the state checks to a location where register 4 is set up with the socket block entry. Segment csylgd.c was also updated to properly handle the SOCNOTSOCK error returned on the recvfrom() API to avoid the CTL-10 system error. Segment cinet4.c has been updated to properly detect a socket that no longer exists that was being monitored by the NOWAIT model of INETD. COREQS: NO None. MIGRATION CONSIDERATIONS: YES Functional, automation, and operation changes: New Message SYSD0009E BUILD COMMANDS AND INSTRUCTIONS: YES #maketpf commands for linux maketpf -f CTS9 cts9.o maketpf -f CSYL csylgd.o maketpf -f CLTX cinet4.o maketpf CTS9 link maketpf CSYL link maketpf CLTX link UPDATED INFORMATION UNITS: YES z/TPF Messages (Online, SQLCODEs, and errno Values) See your IBM representative if you need additional information. DOWNLOAD INSTRUCTIONS: http://www.ibm.com/software/htp/tpf/maint/maintztpf.html APAR URL: http://www.ibm.com/software/htp/tpf/ztpfmaint/put10/PJ41066.htm
Reported component name
Reported component ID
NoSpecatt / Xsystem
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels