Patch Name: PHSS_8966 Patch Description: s700_800 10.X LIBCL cumulative patch Creation Date: 96/10/28 Post Date: 96/11/05 Hardware Platforms - OS Releases: s700: 10.00 10.01 10.10 10.20 s800: 10.00 10.01 10.10 10.20 Products: N/A Filesets: OS-Core.CORE-SHLIBS,B.10.01,B.10.10,B.10.20 ProgSupport.LANG-MIN,B.10.01,B.10.10,B.10.20 Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHSS_8966 Symptoms: PHSS_8966: 1. SR 5003340596 : There is a memory leak when closing files that can cause a program to run out of memory if it opens and closes files many times. 2. SR 1653187393 : A file auto-opened with a sequential read or write statement will create a file whose maximum record length is 256 bytes. PHSS_8397: 1. Use of +Oparallel and shared libraries on HPUX 10.20 results in undefined externals __FTN_SET_AR and __FTN_300CHARS. 2. Systems cannot compile Fortran 90 programs or run Fortran 90 programs that were linked with a shared libcl. 3. SR 5003330738 : Reading and writing may be much slower under HP-UX 10.20 then on earlier releases. PHSS_6986: 1. SR 5003298067 : Reading a record from an ISAM file may cause the program to crash or exhibit other symptoms of writing off the end of a dynamically allocated memory block. Whether this problem will be observed depends on exactly what other IO commands are executed both before and after the ISAM file read. 2. SR 5003298075 : Programs may crash when using a REWRITE statement to alter an existing ISAM record. The REWRITE statement is used only with ISAM files. The occurrence of this problem is highly sensitive to the pattern of allocation and deallocation of memory blocks at run-time. However, if the problem occurs it will almost certainly result in a program crash while attempting to execute the REWRITE statement; delayed symptoms or silent incorrect behavior are very unlikely. 3. SR 5003290122 : If a program backspaces over an initial 64 byte record, the file pointer will be left in the wrong position and the next access to the file will read or write the wrong location in the file. This problem only occurs with the initial record, and that record must be exactly 64 bytes long. 4. SR 5003280859 : Arrays of 4-byte integers do not work correctly with namelists if the +autodblpad compiler switch is used. Only the first element of the array will be correctly accessed via the namelist. PHSS_5691: 1. SR 4701296160 : "Ada/unwind fails on 10.0" Users of Alsys Ada will experience problems with exception handling on HP-UX 10.0 without this patch. Exceptions may not be caught by the program's handlers, or may cause core dumps. This patch is essential for all Alsys Ada users. 2. SR 4701295998 : "C++ program compiled on 9.0 dumps core on 10.0" Only affects C++ programs using exception handling. Note that this fix is also included in HP-UX release 10.01. It is mentioned here so that users of HP-UX 10.00 may obtain the patch without updating their whole system, should they so wish. Defect Description: PHSS_8966: 1. Some memory was not freed when a file was closed. 2. The maximum record length was incorrectly being set when a sequential file was auto-opened. PHSS_8397: 1. The symbols __FTN_SET_AR and __FTN_300CHARS were not exported from the shared version of libcl. 2. The complete set of Fortran 90 functionality was not shipped with the 10.20 or earlier releases of HP-UX. 3. Changes were made to speed up the runtime IO system. It may still not be as fast as in HP-UX 10.01 or 10.10 due to changes for Fortran 90 but it is faster then the HP-UX 10.20 version. PHSS_6986: 1. SR 5003298067 : The problem is caused by the runtime IO library inappropriately reallocating a buffer to a smaller size. 2. SR 5003298075 : The problem was caused by an uninitialized variable in a dynamically allocated block. 3. SR 5003290122 : The defect was caused by incorrect control logic in a Fortran run-time library routine. 4. SR 5003280859 : The +autodblpad option causes integer arrays to be "padded" out to a length of 8 bytes for each array element. But the runtime library routines that implement access through a namelist treat the array as if it had not been padded. This causes accesses to all elements of the array, except to the first, to be incorrect. Either the wrong element is accessed, or some of the padding bytes are accessed. PHSS_5691: 1. SR 4701296160 : Several different problems are included under this SR. (a) Ada compiler incorrectly used the "sr4export" bit of unwind descriptors. (b) Unwind library for HP-UX 10.0 incorrectly handled Ada variable-sized frames and separate package bodies. 2. SR 4701295998 : An internal interface was changed at the 10.0 release which led to incompatibilities with some C++ programs that had been compiled on HP-UX 9.0. The problem was solved by reverting to the original interface. SR: 1653187393 4701295998 4701296160 5003298067 5003298075 5003290122 5003280859 5003330738 5003340596 Patch Files: /usr/lib/libcl.1 /usr/lib/libcl.a /usr/lib/pa1.1/libcl.1 /usr/lib/pa1.1/libcl.a /usr/lib/nls/msg/C/libcl.cat what(1) Output: /usr/lib/pa1.1/libcl.1: Trap Library version UX.10.20.01 - Tue 96/01/23 Unwind Library Version UX.10.20.02 - Wed 96/02/14 fs_amod.s $Revision: 1.9.1.1 $ libcl.sl 10.20 version B.10.22 10/28/96 /usr/lib/pa1.1/libcl.a: libcl.a 10.20 version B.10.22 10/28/96 fs_amod.s $Revision: 1.9.1.1 $ Unwind Library Version UX.10.20.02 - Wed 96/02/14 Trap Library version UX.10.20.01 - Tue 96/01/23 /usr/lib/libcl.1: Unwind Library Version UX.10.20.02 - Wed 96/02/14 Trap Library version UX.10.20.01 - Tue 96/01/23 libcl.sl 10.20 version B.10.22 10/28/96 /usr/lib/libcl.a: libcl.a 10.20 version B.10.22 10/28/96 Unwind Library Version UX.10.20.02 - Wed 96/02/14 Trap Library version UX.10.20.01 - Tue 96/01/23 /usr/lib/nls/msg/C/libcl.cat: None cksum(1) Output: 986925180 1097350 /usr/lib/pa1.1/libcl.1 164112768 1366588 /usr/lib/pa1.1/libcl.a 3677508200 1068449 /usr/lib/libcl.1 3305424051 1311468 /usr/lib/libcl.a 1749357884 28251 /usr/lib/nls/msg/C/libcl.cat Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHSS_5691 PHSS_6986 PHSS_8397 Equivalent Patches: None Patch Package Size: 4820 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 PHSS_8966 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHSS_8966.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/PHSS_8966.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/PHSS_8966. 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 PHSS_8966.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/PHSS_8966.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None