Patch Name: PHNE_16005 Patch Description: s700_800 10.30 cumulative ARPA Transport patch Creation Date: 98/08/05 Post Date: 98/08/12 Hardware Platforms - OS Releases: s700: 10.30 s800: 10.30 Products: N/A Filesets: OS-Core.CORE-KRN Networking.NET-KRN Automatic Reboot?: Yes Status: General Release Critical: Yes PHNE_16005: PANIC PHNE_15137: PANIC PHNE_13671: PANIC PHNE_13446: PANIC PHNE_13001: PANIC PHNE_12312: PANIC Path Name: /hp-ux_patches/s700_800/10.X/PHNE_16005 Symptoms: PHNE_16005: This patch replaces PHNE_15137 See Defect Description PHNE_15137: See Defect Description PHNE_13671: See Defect Description PHNE_13446: See Defect Description PHNE_13001: See Defect Description PHNE_12312: See Defect Description Defect Description: PHNE_16005: ( SR number: 1653258830 ; DTS number: INDaa30675 ) Half-open connections were not being reset when the disconnected side tried to reconnect with the same address and port. ( SR number: 5003418871 ; DTS number: INDaa30676 ) On a system with a very large number of configured interfaces, poor performance can be seen when sending to certain destination IP addresses. ( SR number: 5003427195 ; DTS number: INDaa31177 ) 10.30 release, data page fault, panic'ed in soclose() The panic stack trace looks like below: trap+0xe9c soclose+0x60 soo_close+0x7c closef+0x6c exit+0x310 psig+0x218 trap+0x7ac PHNE_15137: ( SR number: 4701387647 ; DTS number: INDaa27909 ) ftp and the sendfile system call sometimes cause a data page fault panic in the kernel routine ip_csuma(). ( SR number: 4701391284 ; DTS number: INDaa30534 ) Multiple simultaneous calls to accept() can result in a data page fault panic in the routine crfree(). PHNE_13671: ( SR number: 1653229633 ; DTS number: INDaa28537 ) When using Service Guard in a spanning tree environment it is possible to loose the unsoliticited ARP_REQUESTS sent out when an IP address moves from interface to interface. ( SR number: 1653239764 ; DTS number: INDaa29253 ) If the system is a single processor machine they may see it hang. It will still respond to "ping" but the console and all other activity will stop. If the system is a multiprocessor machine the customer may see that one processor is 100% busy running netisr. The rest of the system will be working OK with the exception of the one processor being out of the picture. Networking may be slow or not working at all. Netstat will show one of this systems IP addresses connected to itsself along with the local and remote port being the same. The state of the socket will be SYN_RCVD. PHNE_13446: ( SR not found ; DTS number: INDaa29329 ) Recvfrom blocks on non-blocking UDP socket PHNE_13001: ( SR not found ; DTS number: INDaa28104 ) When machine A issues a "connect" call to machine B, and machine B is sitting in a loop doing a "select" call to check if there is anything to read, it may return ETIMEDOUT. ( SR not found ; DTS number: INDaa28331 ) Gated panic: Trap Type 13 (Conditional trap) in kmalloc ( SR not found ; DTS number: INDaa28340 ) Data page fault after turning on tracing on entity, ns_ls_ip, on a system with a fddi interface. ( SR not found ; DTS number: INDaa28672 ) nettl trace data from FDDI interfaces will be 8 bytes short. A subsequent netfmt on the nettl output will coredump. ( SR number: 1653234435 ; DTS number: INDaa29002 ) The keep_alive timer cannot be set below one minute. PHNE_12312: ( SR not found ; DTS number: INDaa26976 ) readv/recv/recvfrom/recvmsg returns either less or more data than it expected. ( SR not found ; DTS number: INDaa27104 ) Call to connect failed unexpectedly, expected errno = EINTR, but actually returned errno ETIMEDOUT (Connection timed out). ( SR not found ; DTS number: INDaa27547 ) For connected UDP only, getpeername, getsockname, recvfrom, recvmsg returned incorrect address length. ( SR not found ; DTS number: INDaa27552 ) For connectionless socket type, when the message is too large to be sent at once as the socket requires. send call succeeded unexpectedly. It should fail on EMSGSIZE. shutdown call failed incorrectly, returned errno ENOENT (No such file or directory), it should be EINVAL. ( SR not found ; DTS number: INDaa27584 ) With the FIONBIO ioctl flag set, a connect to a server which has not yet done a listen or an accept SHOULD returns with errno EINPROGRESS. A subsequent connect request by the client SHOULD returns errno set to EINVAL. Read, write, recv, and send SHOULD return ECONNREFUSED. ( SR not found ; DTS number: INDaa27713 ) After the TCP connection was closed by its server, its client did a write to the connection socket, had an errno ECONNRESET returned. The correct return should be an errno EPIPE with a SIGPIPE. ( SR not found ; DTS number: INDaa27785 ) sendmsg caused data page fault in x_mi_tpi_uderror_ind. ( SR not found ; DTS number: INDaa27924 ) accept() caused UP system hang. This happened on UP only. ( SR not found ; DTS number: INDaa28040 ) exit() call on tcp socket caused system hang. ( SR not found ; DTS number: INDaa28155 ) accept() encounted assertion failure (fdp->fd_count==1). SR: 1653229633 1653234435 1653239764 1653258830 4701387647 4701391284 5003418871 5003427195 Patch Files: /usr/conf/lib/libhp-ux.a(xport_diag.o) /usr/conf/lib/libinet.a(in_cksum.o) /usr/conf/lib/libnet.a(if.o) /usr/conf/lib/libnet.a(mioptcom.o) /usr/conf/lib/libnet.a(miutil.o) /usr/conf/lib/libnet.a(nuls.o) /usr/conf/lib/libnet.a(route.o) /usr/conf/lib/libnet.a(stcpmap.o) /usr/conf/lib/libinet.a(arp.o) /usr/conf/lib/libinet.a(igmp.o) /usr/conf/lib/libinet.a(ip.o) /usr/conf/lib/libinet.a(ip_if.o) /usr/conf/lib/libinet.a(ip_ire.o) /usr/conf/lib/libinet.a(ip_mroute.o) /usr/conf/lib/libinet.a(ip_multi.o) /usr/conf/lib/libinet.a(ipcsum.o) /usr/conf/lib/libinet.a(rawip.o) /usr/conf/lib/libinet.a(snmpcom.o) /usr/conf/lib/libinet.a(tcp.o) /usr/conf/lib/libinet.a(udp.o) /usr/conf/lib/libuipc.a(uipc_init.o) /usr/conf/lib/libuipc.a(uipc_socket.o) /usr/conf/lib/libuipc.a(uipc_socket2.o) /usr/conf/lib/libuipc.a(uipc_syscall.o) /usr/conf/lib/libuipc.a(uipc_tpi.o) /usr/conf/lib/libuipc.a(uipc_usrreq.o) what(1) Output: /usr/conf/lib/libhp-ux.a(xport_diag.o): PHNE_16005 xport_diag.c $Revision: 1.3.116.6 $ /usr/conf/lib/libinet.a(in_cksum.o): None /usr/conf/lib/libnet.a(if.o): PHNE_16005 if.c $Revision: 1.7.116.13 $ /usr/conf/lib/libnet.a(mioptcom.o): PHNE_16005 mioptcom.c $Revision: 1.1.116.9 $ $Date: 97/08/25 15:31:22 $ /usr/conf/lib/libnet.a(miutil.o): PHNE_16005 miutil.c $Revision: 1.1.116.14 $ $Date: 9 7/10/23 15:36:43 $ /usr/conf/lib/libnet.a(nuls.o): PHNE_16005 nuls.c $Revision: 1.1.116.6 $ $Date: 97/0 2/24 09:42:15 $ /usr/conf/lib/libnet.a(route.o): PHNE_16005 route.c $Revision: 1.8.116.11 $ $Date: 96 /07/25 16:40:32 $ /usr/conf/lib/libnet.a(stcpmap.o): PHNE_16005 stcpmap.c $Revision: 1.1.116.18 $ /usr/conf/lib/libinet.a(arp.o): PHNE_16005 arp.c $Revision: 1.1.116.13 $ $Date: 97/1 0/23 16:20:53 $ /usr/conf/lib/libinet.a(igmp.o): PHNE_16005 igmp.c $Revision: 1.1.116.5 $ $Date: 97/0 2/24 10:03:43 $ /usr/conf/lib/libinet.a(ip.o): PHNE_16005 ip.c $Revision: 1.1.116.32 $ $Date: 97/10 /23 16:24:59 $ /usr/conf/lib/libinet.a(ip_if.o): PHNE_16005 ip_if.c $Revision: 1.1.116.16 $ $Date: 97 /08/25 14:45:56 $ /usr/conf/lib/libinet.a(ip_ire.o): PHNE_16005 ip_ire.c $Revision: 1.1.116.15 $ $Date: 9 7/03/31 10:04:55 $ /usr/conf/lib/libinet.a(ip_mroute.o): PHNE_16005 ip_mroute.c $Revision: 1.4.116.9 $ $Date: 97/02/24 10:05:35 $ /usr/conf/lib/libinet.a(ip_multi.o): PHNE_16005 ip_multi.c $Revision: 1.1.116.4 $ $Date: 96/12/16 20:55:59 $ /usr/conf/lib/libinet.a(ipcsum.o): PHNE_16005 ipcsum.c $Revision: 1.1.116.3 $ $Date: 96 /08/19 09:02:29 $ /usr/conf/lib/libinet.a(rawip.o): PHNE_16005 rawip.c $Revision: 1.1.116.13 $ $Date: 97 /10/23 16:28:35 $ /usr/conf/lib/libinet.a(snmpcom.o): PHNE_16005 snmpcom.c $Revision: 1.1.116.4 $ $Date: 9 7/02/06 09:42:20 $ /usr/conf/lib/libinet.a(tcp.o): PHNE_16005 tcp.c $Revision: 1.1.116.38 $ $Date: 98/0 8/05 16:35:56 $ /usr/conf/lib/libinet.a(udp.o): PHNE_16005 udp.c $Revision: 1.1.116.17 $ $Date: 97/1 0/23 16:36:25 $ /usr/conf/lib/libuipc.a(uipc_init.o): FILESET BSDIPC-SOCKET: lib uipc: Version: A.10.30 PHNE_16005 uipc_init.c $Date: 98/07/21 17:57:20 $ $ Revision: 1.7.116.19 $ /usr/conf/lib/libuipc.a(uipc_socket.o): PHNE_16005 uipc_socket.c $Revision: 1.12.116.70 $ $ Date: 98/07/21 17:49:07 $ /usr/conf/lib/libuipc.a(uipc_socket2.o): PHNE_16005 uipc_socket2.c $Revision: 1.11.116.20 $ /usr/conf/lib/libuipc.a(uipc_syscall.o): PHNE_16005 uipc_syscall.c $Revision: 1.11.116.39 $ /usr/conf/lib/libuipc.a(uipc_tpi.o): PHNE_16005 uipc_tpi.c $Revision: 1.1.116.19 $ /usr/conf/lib/libuipc.a(uipc_usrreq.o): PHNE_16005 uipc_usrreq.c $Revision: 1.9.116.24 $ cksum(1) Output: 2240365917 199372 /usr/conf/lib/libhp-ux.a(xport_diag.o) 1169221298 2136 /usr/conf/lib/libinet.a(in_cksum.o) 3269081644 4308 /usr/conf/lib/libnet.a(if.o) 3925557258 5728 /usr/conf/lib/libnet.a(mioptcom.o) 1087782302 20592 /usr/conf/lib/libnet.a(miutil.o) 1687872513 2828 /usr/conf/lib/libnet.a(nuls.o) 1166658695 1292 /usr/conf/lib/libnet.a(route.o) 3911084787 22224 /usr/conf/lib/libnet.a(stcpmap.o) 4154697424 28944 /usr/conf/lib/libinet.a(arp.o) 2635335650 6368 /usr/conf/lib/libinet.a(igmp.o) 3848267981 90536 /usr/conf/lib/libinet.a(ip.o) 2113131946 41600 /usr/conf/lib/libinet.a(ip_if.o) 349562883 18856 /usr/conf/lib/libinet.a(ip_ire.o) 3918156194 20128 /usr/conf/lib/libinet.a(ip_mroute.o) 3674900515 9052 /usr/conf/lib/libinet.a(ip_multi.o) 280989230 1400 /usr/conf/lib/libinet.a(ipcsum.o) 2918961049 15920 /usr/conf/lib/libinet.a(rawip.o) 4112523133 2580 /usr/conf/lib/libinet.a(snmpcom.o) 3349384031 85380 /usr/conf/lib/libinet.a(tcp.o) 267749994 24472 /usr/conf/lib/libinet.a(udp.o) 2462291984 13580 /usr/conf/lib/libuipc.a(uipc_init.o) 1972698951 39148 /usr/conf/lib/libuipc.a(uipc_socket.o) 3791925129 18184 /usr/conf/lib/libuipc.a(uipc_socket2.o) 3384462186 26584 /usr/conf/lib/libuipc.a(uipc_syscall.o) 3100845675 13280 /usr/conf/lib/libuipc.a(uipc_tpi.o) 1637580684 12520 /usr/conf/lib/libuipc.a(uipc_usrreq.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_12312 PHNE_13001 PHNE_13446 PHNE_13671 PHNE_15137 Equivalent Patches: None Patch Package Size: 800 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHNE_16005 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_16005.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHNE_16005.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHNE_16005. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. Warning: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHNE_16005.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHNE_16005.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None