SEARCH CONTACT US SUPPORT SERVICES PRODUCTS STORE
United States    
COMPAQ STORE | PRODUCTS | SERVICES | SUPPORT | CONTACT US | SEARCH
gears
compaq support options
support home
software & drivers
ask Compaq
reference library
support forum
frequently asked questions
support tools
warranty information
service centers
contact support
product resources
parts for your system
give us feedback
associated links
.
} what's new
.
} contract access
.
} browse patch tree
.
} search patches
.
} join mailing list
.
} feedback
.
patches by topic
.
} DOS
.
} OpenVMS
.
} Security
.
} Tru64 Unix
.
} Ultrix 32
.
} Windows
.
} Windows NT
.
connection tools
.
} nameserver lookup
.
} traceroute
.
} ping
OpenVMS VAXRMS02_071 VAX V7.1 RMS ECO Summary

TITLE: OpenVMS VAXRMS02_071 VAX V7.1 RMS ECO Summary New Kit Date : 07-FEB-2001 Modification Date: Not Applicable Modification Type: New Kit NOTE: An OpenVMS saveset or PCSI installation file is stored on the Internet in a self-expanding compressed file. For OpenVMS savesets, the name of the compressed saveset file will be kit_name.a-dcx_vaxexe for OpenVMS VAX or kit_name.a-dcx_axpexe for OpenVMS Alpha. Once the OpenVMS saveset is copied to your system, expand the compressed saveset by typing RUN kitname.dcx_vaxexe or kitname.dcx_alpexe. For PCSI files, once the PCSI file is copied to your system, rename the PCSI file to kitname-dcx_axpexe.pcsi, then it can be expanded by typing RUN kitname-dcx_axpexe.pcsi. The resultant file will be the PCSI installation file which can be used to install the ECO. Copyright (c) Compaq Computer Corporation 1998. All rights reserved. OP/SYS: DIGITAL OpenVMS VAX COMPONENT: RMS SOURCE: Compaq Computer Corporation ECO INFORMATION: ECO Kit Name: VAXRMS02_071 ECO Kits Superseded by This ECO Kit: VAXRMS01_071. ECO Kit Approximate Size: 1026 Blocks Kit Applies To: OpenVMS VAX V7.1 System/Cluster Reboot Necessary: Yes Rolling Re-boot Supported: Yes Installation Rating: INSTALL_1 1 - To be installed on all systems running the listed version(s) of OpenVMS. Kit Dependencies: The following remedial kit(s) must be installed BEFORE installation of this kit: None In order to receive all the corrections listed in this kit, the following remedial kits should also be installed: None ECO KIT SUMMARY: An ECO kit exists for RMS and global buffer processing on OpenVMS VAX V7.1. This kit addresses the following problems: PROBLEMS ADDRESSED IN VAXRMS02_071 KIT: o Mark the Buffer Descriptor as busy for asynch multistreamed block IO autoextends. Performing multistreamed asynchronous Block IO to a sequential file could result in random data corruption and/or sporadic SS$_BADPARAM errors if an autoextend occurs. Images Affected: [SYS$LDR]RMS.EXE o Fix to prevent an inconsistent primary index structure. This problem is characterized by an ANALYZE/RMS_FILE of an indexed file reporting the following error: "Index bucket references missing data bucket with VBN nnn" When the index bucket is examined, the problem is determined to be that the primary index structure has duplicate index entries. There should never be duplicate entries in the index structure. Any file that has a prevalence of deleted records as the last records in a data bucket that is subsequently a candidate for a bucket split could potentially encounter this problem. A convert of the file will rebuild the primary index structure and leave the file in a consistent state. This problem is fixed in OpenVMS VAX V7.2. Images Affected: [SYS$LDR]RMS.EXE o Modification to the global buffer hashing interlock mechanism. The hashing interlock mechanism, which was implemented in V7.2, has been redesigned to eliminate the timer-based strategy that was used during periods of high contention. A system could become overburdened by Timer Queue activity (IPL 8) when the contention for an interlock reached a threshold. This Timer Queue activity precluded the interlock owner from releasing the interlock and resulted in excessive Timer Queue activity consuming the primary CPU. Images Affected: [SYS$LDR]RMS.EXE o Correction for processes exiting with RMS IORNDN non-fatal bugcheck. Processes may disappear with RMS IORNDN non-fatal bugchecks when an EXIT is requested by an Executive-mode application (such as ACMS). This is a very small timing window, so processes with a large number of files increases the probability of the problem occurring. If the SYSGEN parameter BUGCHECKFATAL is not enabled, then the process will be terminated; if it is enabled, then the system will crash with a RMSBUG (R2=FFFFFFF0, IORNDN) bugcheck. Images Affected: [SYS$LDR]RMS.EXE o FAL resource identifier file owner fix Creation of a file over the network into a directory owned by a resource identifier strips the high order 2 bits of the owner field, corrupting the ownership information. Checking the owner on the remote system will reveal a UIC looking value derived from the low order bits of the identifier. Directory commands to a remote system will also strip the high order 2 bits from a general identifier on the remote system, formatting the result in UIC format. The stripping of the high order 2 bits of the owner value may result in the following errors being returned to a non-privileged user performing a COPY/LOG to a remote directory owned by a resource identifier: %COPY-S-COPIED, {file spec.} copied to {remote file spec.} %COPY-E-CLOSEOUT, error closing {file specification} as output -RMS-E-PRV, insufficient privilege or file protection violation This fix is included in OpenVMS VAX V7.2. Images Affected: [SYS$LDR]RMS.EXE [SYSEXE]FAL.EXE o SPR_VMS_V5: # 06022 o SPR_VMS_V5: # 05990 o SPR_VMS_V5: # 02759 o SPR_VMS_V5: # 02144 o SPR_VMS_V5: # 00675 o V6: # 00287 o Prevent RMS pool corruption when accessing bad .DIR file Access to a corrupted directory could result in the user's process being deleted from the system through an EXEC mode exception (a system bugcheck would occur if the SYSGEN parameter BUGCHECKFATAL were set). Images Affected: [SYS$LDR]RMS.EXE o Support for SET RMS_DEFAULT /CONTENTION_POLICY to address locking fairness issues. The new Alpha global buffer read-mode lock support introduced in V7.2-1H1 is functionally compatible with both VAX and older Alpha releases. Operations in mixed clusters produce correct results. However, there is a locking fairness issue that may arise with mixed cluster operations. In a mixed cluster environment with very high contention for specific buckets, it is possible for accesses to write-shared files on nodes using read-mode bucket locking to dominate access to a bucket. Nodes without this support might be unable to access the bucket for a protracted period of time. It is also possible to observe comparable behavior on all OpenVMS versions when dealing with accesses to write-shared files without global buffers enabled -- even on a standalone system. A similar fairness issue between lock conversions and new lock requests may be observed in which the new lock requests may remain ungranted for an extended period of time. This kit includes support in RMS for a new option to improve fairness under high contention conditions for write-shared files, but selecting this option may noticably increase locking overhead. The option may be set at a process or system level. Since many applications will never encounter this issue, the default system behavior leaves this option disabled. A future lock management enhancement should make this fairness workaround unnecessary for later releases. The option is controlled using the /CONTENTION_POLICY qualifier to the DCL command SET RMS_DEFAULT. The following are valid PROCESS keywords (/SYSTEM not specified): NEVER Never use the higher overhead option to improve fairness for any write-shared files accessed by this process; minimal overhead. SOMETIMES Use this option for fairer bucket access (but higher overhead) to any write-shared files with global buffers enabled that are accessed by this process. ALWAYS Use this option for fairer bucket access (but higher overhead) to all write-shared files accessed by this process. SYSTEM_DEFAULT (Default) Use system setting. Note that this keyword is disallowed with /SYSTEM. The following are valid SYSTEM keywords (/SYSTEM specified): NEVER (Default) Never use the higher overhead option to improve fairness for any write-shared files accessed on the system; minimal overhead. SOMETIMES Use this option for fairer bucket access (but higher overhead) to any write-shared files with global buffers enabled that are accessed on the system. ALWAYS Use this option for fairer bucket access (but higher overhead) to all write-shared files accessed on the system. In addition to the RMS image, modifications to the following images are required: - [SYSEXE]SET.EXE - [SYSEXE]SHOW.EXE - [SYSMSG]CLIUTLMSG.EXE - replacement of modified SET.CLD in [SYSLIB]DCLTABLES.EXE These modified images are available in the VAXCLIU04_071 kit. The interface to this new functionality is not available until this CLIUTL kit is installed. Until the CLIUTL TIMA kit is available and installed, the default of NEVER for the CONTENTION_POLICY option cannot be overriden. Images Affected: [SYS$LDR]RMS.EXE o Fix CONVERT/RECLAIM of RU_DELETE'd records. A CONVERT/RECLAIM of a fixed record length file with no compression enabled that has been used with RU journaling may inappropriately reclaim buckets containing valid user records. This results in data loss. This fix is included in OpenVMS VAX V7.2. Images Affected: [SYSLIB]CONVSHR.EXE o Fix to prevent callable convert from producing accvio on repeated calls. The CONVERT utility may return an access violation and/or sort_on errors when it is repeatedly invoked from within an application utilizing the callable interface. Additionally, an invalid file structure may be created when the callable interface is invoked repeatedly from within an application. Images Affected: [SYSLIB]CONVSHR.EXE o Expand statistic display fields for Convert The record count and/or bucket counts displayed by the statistics function and ^T function of Convert were previously limited to 8 digits. This resulted in a field of "*"s being displayed when greater than 8 digits were required for displaying. Images Affected: [SYSEXE]CONVERT.EXE [SYSEXE]RECLAIM.EXE PROBLEMS ADDRESSED IN VAXRMS01_071 KIT: o RMS has implemented a new algorithm for global buffer management that dramatically improves scalability. The performance associated with the previous algorithm effectively limited the maximum number of global buffers on large, shared files. With this change, customers may increase the number of global buffers on these files to the full limit of 32,767 to fully exploit large memory systems. Access to the global section used for RMS global buffers is now mainly synchronized using inline atomic instruction sequences rather than distributive locking. This change allows more concurrent access to the section (particularly on SMP machines). As has always been true, increasing the number of global buffers on specific files may require some system resources to be increased in size. Note that these enhancements required changes to the internal structures representing RMS global buffers. This will lead to some erroneous values being displayed by the System Dump Analyzer (SDA) in two RMS structures (global buffer descriptors and global buffer headers). This is a display anomaly only. o RMS and FAL have been enhanced to support time transfers using 128-bit UTC format. Currently, RMS and FAL exchange date-time file attributes using an 18-byte ASCII string which includes a 2-digit year. Since the date is pivoted at 1970 (YY's from 70 to 99 map to 1970 through 1999 and YY's from 00 to 69 map to 2000 through 2069), OpenVMS RMS is Year 2000 compliant in regards to file access using DECNET FAL. The DAP specification provides for using a 128-bit UTC binary date as an alternative to the ASCII format. This enhancement allows non-VMS operating systems to access file dates on OpenVMS in a completely Year 2000 compliant manner. Alternative workarounds: + Apply this remedial kit. + There is no temporary workaround for avoiding the secondary key inconsistency. However, a convert of the file after the problem has occurred will rebuild the secondary indexes and leave the file in a consistent state. o The last data record(s) added at the end of a relative file may be lost (overwritten) after an "explicit" call to the RMS $EXTEND service for a relative file that is being shared by two or more concurrent writers. This problem is restricted to an explicit $EXTEND; autoextends done transparently by RMS for a relative file work correctly. NOTE: Until this remedial kit can be installed, this problem can be prevented by not doing any explicit $EXTEND for a shared write relative file. Let the autoextend feature of RMS take care of any extends needed. See "Relative File Extend Size" section in Chapter 3 (Performance Considerations) of the Guide to OpenVMS File Applications for a description of how RMS derives the value it uses for its autoextend feature. Alternative Workarounds: + Apply this remedial kit. + Do not do an explicit $EXTEND for a relative file. Let the autoextend feature of RMS take care of any extends needed. Autoextends work correctly. See "Relative File Extend Size" section in Chapter 3 (Performance Considerations) of the Guide to OpenVMS File Applications for a description of how RMS derives the value it uses for its autoextend feature. o Stored semantics is a file attribute used to indicate that a file contains compound documents (i.e., contains a number of integrated components including text, graphics, and scanned images). Support for setting this file attribute is provided through RMS using an item list XAB (XABITM) user interface. In specifying the item list for setting this attribute (XAB$_STORED_SEMANTICS), a user may request a return length (the length of the stored semantics ACE added by the file system to the file). RMS without the fix returns a length of zero if the file is on a SMFS device despite the fact that the stored semantics attribute was successfully added to the file. Alternative workarounds: + Apply this remedial kit. + In actuality, the XABITM XAB$_STORED_SEMANTICS request succeeds. There is just no temporary workaround for the correct length of the ACE being returned to the return length address provided in the XABITM item list. o Fix for appender lock timing window hang for shared write, RU journaled sequential file. This hang requires all of the following conditions: a shared write sequential file, multi-record streaming enabled, RU journaling enabled on the file, and heavy write contention among sharers at the end-of-file. It has only been reported by one site, and even then there was a lapse of over one year between two occurrences. Alternative workarounds: + Apply this remedial kit. + There is no temporary workaround. Changing the application to use only a single record stream on the journaled file would theoretically work, but this would most likely involve too much of a design change to the application to be a viable workaround. Disabling RU journaling would also not be a viable workaround. o Changes to the security profile of a file that was installed with the /OPEN qualifier were not reflected cluster wide until an INSTALL/REPLACE was performed on each node. With this correction, the protection information is dynamically propagated. Alternative workarounds: + Apply this remedial kit. + Following the change in the protection information, perform an INSTALL/REPLACE on all other nodes in the cluster. o Fix to properly handle a special bucket split case to prevent an exec-mode ACCVIO occurring during a bucket split. This problem is restricted to a file with KEY compression enabled containing a secondary key allowing duplicates with a nearly full SIDR data bucket. An ACCVIO (access violation) may occur during a bucket split operation if both the last valid record in the bucket contains a long list of duplicates and starts before the calculated split point and the memory page adjacent to the page mapping the current buffer is not valid. If the SYSGEN parameter BUGCHECKFATAL is not enabled, then the process will be terminated; if it is enabled, then the system will crash with a SSRVEXCEPT ACCVIO. The file will not be left corrupted. A temporary workaround if the problem ever occurs on a file would be to convert the file using a revised FDL in which key compression is disabled until the remedial kit is applied. Alternative workarounds: + Apply this remedial kit. + Convert the file using a revised FDL in which key compression is disabled until the remedial kit is applied. o Fix to correct a unique situation where the delete of a record in a file with key compression enabled could possibly cause the resulting key expansion to overflow the current bucket. This problem is restricted to a file with key compression enabled. A nonfatal RMS bugcheck (R2 value FFFFFFD4 (Internal ISAM Error)) could occur during a record delete operation on a prologue 3 file. The ISAM error would be returned when the deletion of a record caused the expansion of the compressed key value of the next record in the bucket to exceed the available space in the data bucket. This would occur if the primary data bucket containing the key was nearly full and the record that followed the record being deleted was compressed to the extent that only one physical byte of the key was stored in the data record. The file will not be left corrupted. A temporary workaround if the problem ever occurs on a file would be to convert the file using a revised FDL in which key compression is disabled until the remedial kit is applied. This problem was introduced in OpenVMS V6.0. Alternative workarounds: + Apply this remedial kit. + Convert the file using a revised FDL in which key compression is disabled until the remedial kit is applied. o Fix to prevent process hangs when RMS rundown is invoked from within an EXEC-mode AST. If RMS rundown is invoked from within an EXEC-mode AST, the process will hang indefinitely waiting on the delivery of pending ASTs. As documented in Section 2.5 of the RMS Reference Manual, RMS services should not be called from within an EXEC-mode AST. If however, an EXEC-mode AST routine fails due to an unhandled condition, RMS rundown will be indirectly invoked by the image exit (resulting in a process hang). The rundown routine has been modified to abort RMS rundown with an RMS$_BUSY return status if it has been invoked from within an EXEC-mode AST. Alternative workarounds: + Apply this remedial kit. + While the use of STOP/ID is typically strongly discouraged, due to the nature of this loop, STOP/ID must be used to terminate the process. o Fix to prevent a nonfatal RMS bugcheck (ENQDEQFAIL) when a timeout on a lock request coincides with a system detected SS$_DEADLOCK condition for the same resource. If an RMS $GET is performed with the WAT and TMO options specified (wait for lock and timeout request after specified number of seconds) in the RAB$L_ROP (record options) field, it is possible for a nonfatal RMS bugcheck (ENQDEQFAIL; R2=FFFFFFF4) to be signaled when the timeout occurs. This can happen if an SS$_DEADLOCK condition is detected by the system (which cancels the lock request) but the timeout AST routine is triggered before RMS receives the AST notification that the request has been cancelled. Alternative workarounds: + Apply this remedial kit. + Ensure that the DEADLOCK_WAIT SYSGEN parameter and the time out value specified in the RAB are different values. o If a foreign host initiates a buffered block-mode file transfer with a block size that is not a multiple of the OpenVMS standard 512 byte block, the output file may contain extraneous null bytes. FAL was padding its internal buffer with nulls to position the transfer on a 512-byte boundary. The nulls would appear at or around the 64th block of the file (the size of FAL's internal buffer). With this modification, FAL no longer pads the buffer to be on a 512-byte boundary. Alternative workarounds: + Apply this remedial kit. + Use a buffer size that is a multiple of 512 bytes. o When reading a file with undefined record format from a remote node, FAL fills in the DAP buffer completely and returns it to the requesting application. This can cause the application to receive more data than it was expecting, resulting in a NETBTS error. With this change, the USZ (user size) field is used in the DAP packet to specify how much data the user application is requesting. o A $DISPLAY operation failed to fill in the XAB$_NET XABITMs if a network access was not necessary. This would occur even if the information was available locally in the Network Work Area. Alternative workarounds: + Apply this remedial kit. + Attach a NAM block or some other structure that requires access to the remote node for information. o OpenVMS FAL misrepresents the carriage control attributes of stream format files (STM) to non-OpenVMS systems. With this correction, the carriage control is no longer unconditionally changed to EMBEDDED in the DAP ATTRIBUTES message. This problem was specific to stream (STM) format files. o This problem only occurs when the convert transfer_mode (/TRANSFER_MODE=CONVERT) option is used with a file that exceeds 255 blocks in size. Alternative workarounds: + Apply this remedial kit. + There is no temporary workaround. If possible, use the convert utility to do the transfer. INSTALLATION NOTES: This kit requires a system reboot. Compaq 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. All trademarks are the property of their respective owners.



This patch can be found at any of these sites:

Colorado Site
Georgia Site



Files on this server are as follows:

vaxrms02_071.README
vaxrms02_071.CHKSUM
vaxrms02_071.CVRLET_TXT
vaxrms02_071.a-dcx_vaxexe
vaxrms02_071.CVRLET_TXT

privacy and legal statement