Patch Name: PHNE_18578 Patch Description: s700 10.20 EISA Datakit 3.20.02 Cumulative Patch Creation Date: 99/05/11 Post Date: 99/06/10 Hardware Platforms - OS Releases: s700: 10.20 Products: 93303J: 3.20.02 Filesets: EisaDatakit.DKIT-KRN EisaDatakit.DKIT-RUN Automatic Reboot?: Yes Status: General Release Critical: No Path Name: /hp-ux_patches/s700/10.X/PHNE_18578 Symptoms: PHNE_18578: The Datakit dkserver process hangs if it cannot connect to a Datakit switch module that is out of service. PHNE_18297: The datakit listener does not start automatically following a reboot from single user mode, on certain systems (e.g. C-200 database server). PHNE_17578: EISA Datakit (93303J) version of PHNE_16118 for NIO Datakit (93302PD). When logged into a system via the datakit network, sometimes an application's or user's commands do not complete, i.e., a hang occurs. tty recursion can happen which will cause panic with "Kernel stack overflow". Datakit channels shutdown, causing datakit sessions to abort and restarting Datakit Server with message "ERROR dkmgr: Server end of file, restarting". A nuisance error message can sometimes be seen in the dksrvlog file: "ERROR 25640 setting module type". Datakit can cease to work, with console (/var/adm/syslog/syslog.log) messages as follows: vmunix: dkgetcf(0): no chunk of size 32 bytes PHNE_17219: The datakit listener does not start automatically following a reboot from single user mode. The previous patch PHNE_14303 could overwrite customizations in a user's /etc/opt/dk/dksrvtab file. PHNE_14303: The dksrvtab file references nonexistent /etc/authorize executable instead of /opt/dk/bin/authorize executable. Defect Description: PHNE_18578: Previous patch PHNE_18297 removed a timeout needed to detect an out-of-service Datakit module. Resolution: Restore timeout to dkserver. Add additional checks to listener to ensure that the dkserver is fully initialized before the listener is started. PHNE_18297: Previous patch PHNE_17219 had a one-minute timeout when waiting for dkserver to finish initializing. This failed when dkserver took longer than one minute to initialize on heavily loaded systems (e.g. C-200 database server). Resolution: Remove one-minute timeout. PHNE_17578: EISA Datakit (93303J) version of PHNE_16118 for NIO Datakit (93302PD). A tty read was not always posted correctly in the code. Furthermore, the tty timeout routine was not getting scheduled correctly. tty control operations and timeout operations on invalid channel 0. Time given for "stuck" xmit fifo to drain needed to be increased. Memory leaks in use of Datakit memory buffer. Resolution: Migrate NIO Datakit patches to EISA Datakit. PHNE_17219: The dkserver daemon is not fully initialized when the listener starts. Resolution: Do not start listener until dkserver is initialized. The previous patch PHNE_14303 overwrote the /etc/opt/dk/dksrvtab file. Resolution: Overwrite /etc/opt/dk/newconfig/dksrvtab file instead, not the active /etc/opt/dk/dksrvtab file. PHNE_14303: Wrong file names in dksrvtab file. SR: 5003429860 4701399451 5003418806 4701399469 5003439778 5003405357 Patch Files: /usr/conf/lib/libdkit.a(dkit_host.o) /usr/conf/lib/libdkit.a(dktty.o) /usr/conf/lib/libdkit.a(dkit_dk386.o) /usr/conf/lib/libdkit.a(dk.o) /usr/conf/lib/libdkit.a(dkmemory.o) /opt/dk/bin/dkmaint /opt/dk/bin/dkserver /etc/opt/dk/newconfig/dksrvtab /usr/lib/libdk.a /usr/lib/libdk.sl /usr/include/dk.h /usr/net/nls/listen what(1) Output: /usr/conf/lib/libdkit.a(dkit_host.o): dkit_host.c: PHNE_17444: Fix panic in dk_xmit 99/01/ 21 dkit_host.c: PHNE_16118: Fix tty hang, recursion; ch an 0 98/08/24 EISA DKFIBER Release 3.20.02 $Header: dkit_host.c,v 3.12 99/01/21 14:59:54 eric Exp $ /usr/conf/lib/libdkit.a(dktty.o): dktty.c: PHNE_16118: Fix hang, recursion, chan 0, er r 25640 98/08/20 dktty.c: PHNE_14080: Fix dkgetcf leak 98/02/05 EISA DKFIBER Release 3.20.02 $Header: dktty.c,v 3.9 98/08/24 17:01:44 cyn Exp $ /usr/conf/lib/libdkit.a(dkit_dk386.o): dkit_dk386.c: PHNE_16118: Adjusted check transmitter vals 98/08/20 EISA DKFIBER Release 3.20.02 $Header: dkit_dk386.c,v 3.10 98/08/24 16:56:21 cyn Exp $ /usr/conf/lib/libdkit.a(dk.o): dk.c: PHNE_14080: Fix dkgetcf leak 98/02/05 EISA DKFIBER Release 3.20.02 $Header: dk.c,v 3.8 98/ 10/27 10:07:05 cyn Exp $ /usr/conf/lib/libdkit.a(dkmemory.o): dkmemory.c: PHNE_14080: Fix dkgetcf leak 98/02/05 EISA DKFIBER Release 3.20.02 $Header: dkmemory.c,v 3 .3 98/02/05 10:27:43 eric Exp $ /opt/dk/bin/dkmaint: dkmaint.c: PHNE_14080: Fix dkgetcf leak 98/02/05 EISA DKFIBER Release 3.20.02 $Header: dkmaint.c,v 3. 4 98/02/05 10:31:33 eric Exp $ /opt/dk/bin/dkserver: dkserver.c: PHNE_17219 98/12/16 EISA DKFIBER Release 3.20.02 $Header: dkserver.c,v 3 .7 98/12/16 10:41:43 eric Exp $ EISA DKFIBER Release 3.20.02 $Header: dkcanon.c,v 3. 1 95/11/07 17:33:40 root Exp $ dkmgr.c: PHNE_18578 99/05/11 EISA DKFIBER Release 3.20.02 $Header: dkmgr.c,v 3.5 99/05/11 13:53:42 eric Exp $ EISA DKFIBER Release 3.20.02 $Header: dknamer.c,v 3. 1 95/11/07 17:34:24 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dtnamer.c,v 3. 2 95/11/07 17:35:05 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dxnamer.c,v 3. 2 95/11/07 17:35:11 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkepoint.c,v 3 .1 95/11/07 17:34:00 root Exp $ Patch 10.01: dkpasswd.c 96/03/15 PHNE_7026 EISA DKFIBER Release 3.20.02 $Header: dkpasswd.c,v 3 .2 96/03/15 12:54:33 law Exp $ EISA DKFIBER Release 3.20.02 $Header: dkerr.c,v 3.2 95/11/07 17:34:04 root Exp $ $RCSfile: tbind.c,v $ $Revision: 1.4.116.1 $ (OSF) $ Date: 95/10/17 15:53:04 $ $RCSfile: tconnect.c,v $ $Revision: 1.3.116.3 $ (OSF ) $Date: 96/05/08 17:19:54 $ $RCSfile: trcv.c,v $ $Revision: 1.4.116.3 $ (OSF) $D ate: 96/05/08 09:23:47 $ $RCSfile: tsync.c,v $ $Revision: 1.3.116.1 $ (OSF) $ Date: 95/10/17 15:54:35 $ $RCSfile: iostate.c,v $ $Revision: 1.4.116.3 $ (OSF) $Date: 96/05/08 17:26:22 $ $RCSfile: tblock.c,v $ $Revision: 1.3.116.1 $ (OSF) $Date: 95/10/17 15:53:07 $ $RCSfile: tfixup.c,v $ $Revision: 1.4.116.2 $ (OSF) $Date: 97/09/23 13:59:39 $ $RCSfile: tlook.c,v $ $Revision: 1.3.116.1 $ (OSF) $ Date: 95/10/17 15:53:52 $ $RCSfile: terrno.c,v $ $Revision: 1.3.116.1 $ (OSF) $Date: 95/10/17 15:53:20 $ /etc/opt/dk/newconfig/dksrvtab: dksrvtab 5.1.1.3 DKHOST 91/06/12 /usr/lib/libdk.a: EISA DKFIBER Release 3.20.02 $Header: dkcanon.c,v 3. 1 95/11/07 17:33:40 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkdial.c,v 3.1 95/11/07 17:33:44 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkxenviron.c,v 3.1 95/11/07 17:34:52 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkerr.c,v 3.2 95/11/07 17:34:04 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkexec.c,v 3.1 95/11/07 17:34:10 root Exp $ dkmgr.c: PHNE_18297 99/04/16 EISA DKFIBER Release 3.20.02 $Header: dkmgr.c,v 3.4 99/04/16 13:11:54 eric Exp $ EISA DKFIBER Release 3.20.02 $Header: dkminor.c,v 3. 1 95/11/07 17:34:20 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dknamer.c,v 3. 1 95/11/07 17:34:24 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dksplice.c,v 3 .1 95/11/07 17:34:45 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dktsplice.c,v 1.1 98/10/27 10:22:55 cyn Exp $ EISA DKFIBER Release 3.20.02 $Header: dkget_urp.c,v 1.1 98/10/27 10:23:07 cyn Exp $ EISA DKFIBER Release 3.20.02 $Header: dksplwait.c,v 3.1 95/11/07 17:34:48 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkxwrite.c,v 3 .1 95/11/07 17:35:01 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkxstdio.c,v 3 .1 95/11/07 17:34:57 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkbreak.c,v 3. 1 95/11/07 17:33:35 root Exp $ EISA DKFIBER Release 3.20.02 $Header: maphost.c,v 3. 1 95/11/07 17:35:16 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dtnamer.c,v 3. 2 95/11/07 17:35:05 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dxnamer.c,v 3. 2 95/11/07 17:35:11 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkeof.c,v 3.1 95/11/07 17:33:55 root Exp $ EISA DKFIBER Release 3.20.02 $Header: pupucommon.c,v 3.1 95/11/07 17:35:29 root Exp $ EISA DKFIBER Release 3.20.02 $Header: pull.c,v 3.2 9 5/11/07 17:35:20 root Exp $ EISA DKFIBER Release 3.20.02 $Header: push.c,v 3.1 9 5/11/07 17:35:33 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkepoint.c,v 3 .1 95/11/07 17:34:00 root Exp $ Patch 10.01: dkpasswd.c 96/03/15 PHNE_7026 EISA DKFIBER Release 3.20.02 $Header: dkpasswd.c,v 3 .2 96/03/15 12:54:33 law Exp $ EISA DKFIBER Release 3.20.02 $Header: dk2commkit.c,v 1.3 97/07/29 17:01:53 cyn Exp $ /usr/lib/libdk.sl: EISA DKFIBER Release 3.20.02 $Header: dkcanon.c,v 3. 1 95/11/07 17:33:40 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkminor.c,v 3. 1 95/11/07 17:34:20 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dknamer.c,v 3. 1 95/11/07 17:34:24 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dksplice.c,v 3 .1 95/11/07 17:34:45 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dksplwait.c,v 3.1 95/11/07 17:34:48 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkbreak.c,v 3. 1 95/11/07 17:33:35 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkeof.c,v 3.1 95/11/07 17:33:55 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkepoint.c,v 3 .1 95/11/07 17:34:00 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dk2commkit.c,v 1.3 97/07/29 17:01:53 cyn Exp $ EISA DKFIBER Release 3.20.02 $Header: dkdial.c,v 3.1 95/11/07 17:33:44 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkxenviron.c,v 3.1 95/11/07 17:34:52 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkerr.c,v 3.2 95/11/07 17:34:04 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkexec.c,v 3.1 95/11/07 17:34:10 root Exp $ dkmgr.c: PHNE_18297 99/04/16 EISA DKFIBER Release 3.20.02 $Header: dkmgr.c,v 3.4 99/04/16 13:11:54 eric Exp $ EISA DKFIBER Release 3.20.02 $Header: dktsplice.c,v 1.1 98/10/27 10:22:55 cyn Exp $ EISA DKFIBER Release 3.20.02 $Header: dkget_urp.c,v 1.1 98/10/27 10:23:07 cyn Exp $ EISA DKFIBER Release 3.20.02 $Header: dkxwrite.c,v 3 .1 95/11/07 17:35:01 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dkxstdio.c,v 3 .1 95/11/07 17:34:57 root Exp $ EISA DKFIBER Release 3.20.02 $Header: maphost.c,v 3. 1 95/11/07 17:35:16 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dtnamer.c,v 3. 2 95/11/07 17:35:05 root Exp $ EISA DKFIBER Release 3.20.02 $Header: dxnamer.c,v 3. 2 95/11/07 17:35:11 root Exp $ EISA DKFIBER Release 3.20.02 $Header: pupucommon.c,v 3.1 95/11/07 17:35:29 root Exp $ EISA DKFIBER Release 3.20.02 $Header: pull.c,v 3.2 9 5/11/07 17:35:20 root Exp $ EISA DKFIBER Release 3.20.02 $Header: push.c,v 3.1 9 5/11/07 17:35:33 root Exp $ Patch 10.01: dkpasswd.c 96/03/15 PHNE_7026 EISA DKFIBER Release 3.20.02 $Header: dkpasswd.c,v 3 .2 96/03/15 12:54:33 law Exp $ /usr/include/dk.h: $Header: dk.h,v 3.4 99/02/05 16:56:58 eric Exp $ /usr/net/nls/listen: listen.c: PHNE_18578 99/05/11 EISA DKFIBER Release 3.20.02 $Header: listen.c,v 3.3 99/05/11 15:32:41 eric Exp $ EISA DKFIBER Release 3.20.02 $Header: lsdata.c,v 3.1 95/11/07 17:37:24 root Exp $ EISA DKFIBER Release 3.20.02 $Header: lsdbf.c,v 3.1 95/11/07 17:37:30 root Exp $ EISA DKFIBER Release 3.20.02 $Header: lslog.c,v 3.2 96/08/03 15:41:07 cyn Exp $ EISA DKFIBER Release 3.20.02 $Header: lssmb.c,v 3.1 95/11/07 17:37:58 root Exp $ EISA DKFIBER Release 3.20.02 $Header: nlsaddr.c,v 3. 1 95/11/07 17:38:06 root Exp $ EISA DKFIBER Release 3.20.02 $Header: doprnt.c,v 3.1 95/11/07 17:35:58 root Exp $ STREAMS: Revision: B.10.10 $Date: 96/05/09 11:26:13 $ $RCSfile: taccept.c,v $ $Revision: 1.4.116.1 $ (OSF) $Date: 95/10/17 15:52:58 $ $RCSfile: talloc.c,v $ $Revision: 1.4.116.1 $ (OSF) $Date: 95/10/17 15:53:01 $ $RCSfile: tbind.c,v $ $Revision: 1.4.116.1 $ (OSF) $ Date: 95/10/17 15:53:04 $ $RCSfile: tclose.c,v $ $Revision: 1.3.116.1 $ (OSF) $Date: 95/10/17 15:53:09 $ $RCSfile: terrnolst.c,v $ $Revision: 1.3.116.1 $ (OS F) $Date: 95/10/17 15:53:23 $ $RCSfile: tfree.c,v $ $Revision: 1.3.116.1 $ (OSF) $ Date: 95/10/17 15:53:31 $ $RCSfile: tgetinfo.c,v $ $Revision: 1.4.116.1 $ (OSF ) $Date: 95/10/17 15:53:36 $ $RCSfile: tlisten.c,v $ $Revision: 1.4.116.1 $ (OSF) $Date: 95/10/17 15:53:49 $ $RCSfile: tlook.c,v $ $Revision: 1.3.116.1 $ (OSF) $ Date: 95/10/17 15:53:52 $ $RCSfile: topen.c,v $ $Revision: 1.4.116.2 $ (OSF) $ Date: 96/04/10 10:07:49 $ $RCSfile: trcv.c,v $ $Revision: 1.4.116.3 $ (OSF) $D ate: 96/05/08 09:23:47 $ $RCSfile: trcvdis.c,v $ $Revision: 1.4.116.3 $ (OSF) $Date: 96/05/08 17:29:12 $ $RCSfile: tsnd.c,v $ $Revision: 1.4.116.5 $ (OSF) $D ate: 98/02/13 07:33:18 $ $RCSfile: tunbind.c,v $ $Revision: 1.4.116.1 $ (OSF) $Date: 95/10/17 15:54:38 $ $RCSfile: iostate.c,v $ $Revision: 1.4.116.3 $ (OSF) $Date: 96/05/08 17:26:22 $ $RCSfile: tfixup.c,v $ $Revision: 1.4.116.2 $ (OSF) $Date: 97/09/23 13:59:39 $ $RCSfile: terrno.c,v $ $Revision: 1.3.116.1 $ (OSF) $Date: 95/10/17 15:53:20 $ $RCSfile: tsync.c,v $ $Revision: 1.3.116.1 $ (OSF) $ Date: 95/10/17 15:54:35 $ cksum(1) Output: 2618959421 22568 /usr/conf/lib/libdkit.a(dkit_host.o) 3154112343 19172 /usr/conf/lib/libdkit.a(dktty.o) 4101788144 33212 /usr/conf/lib/libdkit.a(dkit_dk386.o) 2788014539 22788 /usr/conf/lib/libdkit.a(dk.o) 2001806269 4848 /usr/conf/lib/libdkit.a(dkmemory.o) 1463330930 24642 /opt/dk/bin/dkmaint 743414276 90444 /opt/dk/bin/dkserver 2799338202 8542 /etc/opt/dk/newconfig/dksrvtab 1694574036 105080 /usr/lib/libdk.a 3322846207 102926 /usr/lib/libdk.sl 4261588173 19219 /usr/include/dk.h 136023583 74038 /usr/net/nls/listen Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHNE_14303 PHNE_17219 PHNE_17578 PHNE_18297 Equivalent Patches: None Patch Package Size: 590 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_18578 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHNE_18578.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_18578.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_18578. 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_18578.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_18578.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: SUBSYSTEM_SHUT After installation, in order for the dksrvtab changes to be effective in the active file, /etc/opt/dk/dksrvtab: 1. Shutdown Datakit (/opt/dk/sbin/dkitrc stop). 2. Merge /etc/opt/dk/newconfig/dksrvtab into /etc/opt/dk/dksrvtab, including any local customizations if required. 3. Reboot or restart Datakit (/opt/dk/sbin/dkitrc start).