**************************** ECO SUMMARY INFORMATION **************************** Release Date: 29-OCT-2003 Kit Name: VMS722_LIBRTL-V0100 DEC-AXPVMS-VMS722_LIBRTL-V0100--4.PCSI Kit Applies To: OpenVMS ALPHA V7.2-2 Approximate Uncompressed Kit Size: 4352 blocks Installation Rating: Installat Reboot Required: Yes - rolling reboot Superseded Kits: None Mandatory Kit Dependencies: VMS722_UPDATE-V0100 VMS722_PCSI-V0100 Optional Kit Dependencies: None VMS722_LIBRTL-V0100.PCSI-DCX_AXPEXE Checksum: 3187983438 ======================================================================= Hewlett-Packard OpenVMS ECO Cover Letter ======================================================================= ECO NUMBER: VMS722_LIBRTL-V0100 PRODUCT: OpenVMS Alpha OPERATING SYSTEM V7.2-2 UPDATE PRODUCT: OpenVMS Alpha OPERATING SYSTEM V7.2-2 1 KIT NAME: VMS722_LIBRTL-V0100 2 KIT DESCRIPTION: 2.1 Installation Rating: INSTALL_3: To be installed by customers experiencing the problems corrected. This installation rating, based upon current CLD information, is provided to serve as a guide to which customers should apply this remedial kit. (Reference attached Disclaimer of Warranty and Limitation of Liability Statement) 2.2 Reboot Requirement: Reboot Required. HP strongly recommends that a reboot is performed immediately after kit installation to avoid system instability. If you have other nodes in your OpenVMS cluster, they must also be rebooted in order to make use of the new image(s). If it is not possible or convenient to reboot the entire cluster at this time, a rolling re-boot may be performed. 2.3 Version(s) of OpenVMS to which this kit may be applied: OpenVMS Alpha V7.2-2 2.4 New functionality or new hardware support provided: No. 3 KITS SUPERSEDED BY THIS KIT: - None 4 KIT DEPENDENCIES: Page 2 4.1 The following remedial kit(s), or later, must be installed BEFORE installation of this, or any required kit: - VMS722_PCSI-V0100 - VMS722_UPDATE-V0100 4.2 In order to receive all the corrections listed in this kit, the following remedial kits, or later, should also be installed: - None 5 FILES PATCHED OR REPLACED: o [SYSLIB]LIBRTL.EXE (new image) Image Identification Information image name: "LIBRTL" image file identification: "X01-001" image file build identification: "X71Z-0050170003" link date/time: 10-OCT-2003 00:59:23.78 linker identification: "A11-39" Image Checksum: 1048654176 o [SYSLIB]LIBRTL_INSTRUMENTED.EXE (new image) Image Identification Information image name: "LIBRTL_INSTRUMENTED" image file identification: "X01-001" image file build identification: "X71Z-0050170003" link date/time: 10-OCT-2003 01:10:24.55 linker identification: "A11-39" Image Checksum: 1959319942 6 PROBLEMS ADDRESSED IN THIS KIT 6.1 New problems addressed in the VMS722_LIBRTL-V0100 kit Page 3 6.1.1 User threaded applications ACCVIO at random addresses. 6.1.1.1 Problem Description: User threaded applications using the C Malloc/free functions ACCVIO at random addresses. This ACCVIO appears to happen only on systems with more than four processors. Images Affected: - [SYSLIB]LIBRTL.EXE 6.1.1.2 CLDs, and QARs reporting this problem: 6.1.1.3 CLD(s) CFS.91844, 70-16-43 6.1.1.4 QAR(s) None. 6.1.1.5 Problem Analysis: Lib$vm_malloc's memory free lists were getting corrupted. The code generated by the DEC C V5.7-006 compiler for the MACROs used to insert and remove entries from the VM_MALLOC internal lookaside lists is not thread safe. The problem is due to code optimizations made by the C compiler. The malloc list header is a quadword containing a flink and a token. The C statement: oldtop.quad = *(quad *)LIST; should generate a LDQ instruction but with the optimization two LDL instructions are used to load the flink and token. The values loaded are therefore unreliable when later used in a compare and store quadword operation. 6.1.1.6 Work-arounds: None. Page 4 6.1.2 csign returns erroneous results 6.1.2.1 Problem Description: When the total digits argument to STR$DIVIDE is less than or equal to 4, the csign returns 1 (negative) for quotient values that are zeros in the first four decimal places and non-zero beyond the 4th decimal place. For example, -0.0000036 will return as -0.0000. The return of the negative sign indicator causes some products, such as Basic RTL, to print out "-0" rather than "0". Images Affected: - [SYSLIB]LIBRTL.EXE 6.1.2.2 CLDs, and QARs reporting this problem: 6.1.2.3 CLD(s) 70-16-57,CFS.99137 6.1.2.4 QAR(s) None. 6.1.2.5 Problem Analysis: The assignment value to the sign was correct. The code logic has been enhanced to set the csign argument to positive if there is a zero result to be returned in the user-specified precision. 6.1.2.6 Work-arounds: None. 6.1.3 Overflow not detected. 6.1.3.1 Problem Description: Calls to LIB$CVT_DX_DX using string descriptor class, DSC$K_CLASS_SD, with longword type, DSC$K_DTYPE_L, and non-zero scales do not detect overflow. Images Affected: - [SYSLIB]LIBRTL.EXE Page 5 6.1.3.2 CLDs, and QARs reporting this problem: 6.1.3.3 CLD(s) None. 6.1.3.4 QAR(s) 75-13-1049 6.1.3.5 Problem Analysis: The macro used for longword to longword scaling had no overflow detection. 6.1.3.6 Work-arounds: None. 6.1.4 Potential application hangs 6.1.4.1 Problem Description: Some LIB$ RTL routines are not thread-safe because they use event flag zero (0) when they should be using EFN$C_EFN. Using these LIB$ RTL routines can cause a potential application hang since event flag zero can be set/cleared from two or more potential threads affecting other threads. Note that this fix is required to run new versions of the SAS software. Images Affected: - [SYSLIB]LIBRTL.EXE 6.1.4.2 CLDs, and QARs reporting this problem: 6.1.4.3 CLD(s) CFS.100354,70-16-59 6.1.4.4 QAR(s) None. Page 6 6.1.4.5 Problem Analysis: See problem Description 6.1.4.6 Work-arounds: None. 7 INSTALLATION INSTRUCTIONS: 7.1 Installation Command Install this kit with the POLYCENTER Software installation utility by logging into the SYSTEM account, and typing the following at the DCL prompt: PRODUCT INSTALL VMS722_LIBRTL /SOURCE=[location of Kit] The kit location may be a tape drive, CD, or a disk directory that contains the kit. Additional help on installing PCSI kits can be found by typing HELP PRODUCT INSTALL at the system prompt 7.2 Scripting of Answers to Installation Questions During installation, this kit will ask and require user response to several questions. If you wish to automate the installation of this kit and avoid having to provide responses to these questions, you must create a DCL command procedure that includes the following definitions and commands: - $ DEFINE/SYS NO_ASK$BACKUP TRUE - $ DEFINE/SYS NO_ASK$REBOOT TRUE - Add the following qualifiers to the PRODUCT INSTALL command and add that command to the DCL procedure. /PROD=DEC/BASE=AXPVMS/VER=V1.0 - De-assign the logicals assigned For example, a sample command file to install the VMS722_LIBRTL-V0100 kit would be: $ $ DEFINE/SYS NO_ASK$BACKUP TRUE $ DEFINE/SYS NO_ASK$REBOOT TRUE $! $ PROD INSTALL VMS722_LIBRTL/PROD=DEC/BASE=AXPVMS/VER=V1.0 $! Page 7 $ DEASSIGN/SYS NO_ASK$BACKUP $ DEASSIGN/SYS NO_ASK$REBOOT $! $ exit 8 COPYRIGHT AND DISCLAIMER: (C) Copyright 2003 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP and/or its subsidiaries required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Neither HP nor any of its subsidiaries shall be liable for technical or editorial errors or omissions contained herein. The information in this document is provided "as is" without warranty of any kind and is subject to change without notice. The warranties for HP products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty. DISCLAIMER OF WARRANTY AND LIMITATION OF LIABILITY THIS PATCH IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED TO THE EXTENT PERMITTED BY APPLICABLE LAW. IN NO EVENT WILL COMPAQ BE LIABLE FOR ANY LOST REVENUE OR PROFIT, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, WITH RESPECT TO ANY PATCH MADE AVAILABLE HERE OR TO THE USE OF SUCH PATCH.