OpenVMS VMS721_RMS-V0100 Alpha V7.2-1 RMS ECO Summary
TITLE: OpenVMS VMS721_RMS-V0100 Alpha V7.2-1 RMS ECO Summary
Modification Date: 08-DEC-00
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 2000. All rights reserved.
OP/SYS: OpenVMS Alpha
COMPONENT: RMS
SOURCE: Compaq Computer Corporation
ECO INFORMATION:
ECO Kit Name: VMS721_RMS-V0100
DEC-AXPVMS-VMS721_RMS-V0100--4.PCSI
ECO Kits Superseded by This ECO Kit: None
ECO Kit Approximate Size: 3072 Blocks
Kit Applies To: OpenVMS Alpha V7.2-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:
VMS721_UPDATE-V0100
VMS721_PCSI-V0100
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 on OpenVMS Alpha V7.2-1. This kit addresses the
following problems:
Problems Addressed in VMS721_RMS-V0100:
o RMS: Put or update to an indexed file may ACCVIO.
A LDQ (load quad) instruction generated by the Bliss-64
compiler (default quadword alignment) may result in an attempt
being made to read or write 4 bytes beyond the end of an RMS
internal buffer which ends exactly on a page boundary with an
adjacent inaccessible page.
The process may either:
+ Terminate (if SYSGEN parameter BUGCHECKFATAL not enabled)
with an access violation (ACCVIO); or
+ Crash the system (if BUGCHECKFATAL enabled) with a
SSRVEXCEPT ACCVIO.
There are too many variables (for example, bucket size, number
of buffers, record location, number of keys) to predict in
advance that a file is vulnerable to this problem. However,
we do know that the right combination of conditions must be
rare since the problem has been dormant for several releases.
It was introduced with the conversion of several Bliss-32 RMS
modules to Bliss-64 as part of the support for 64-bit
addresses added to Alpha V7.0.
This fix is included in the next release after OpenVMS Alpha
V7.2-1H1.
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.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
o Fix for potential application (or system) hang associated
with global buffer hashing interlock.
This kit includes fixes for two problems with the global
buffer hashing interlock implementation that have the
potential of blocking the progress of other processes and
thus inducing an application hang:
+ Close potential window when a process is deleted.
Expand the interlocked instruction for one bit to
include whole quadword so that modify of both
interlock and pid gets done as an atomic operation.
Otherwise, a process could be deleted after it had
set the interlock but before its pid had been
assigned, which could result in there being no way to
detect that an interlock was held by a nonexistent
process.
+ Vary the timer delay before each retry for a process
waiting for an interlock to be released. With
sufficient contention, it was found that the system
timer processing at IPL 8 could block progress for
the process currently holding the interlock when
expiration times were all restricted to 1 Msec.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
o Correct the resultant directory string size in NAML for
remote file specifications.
The size of the resultant directory string in a NAML
block structure was being set incorrectly when parsing
remote file specifications.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
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.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
o Fix RUF bugcheck when SS$_CURTIDCHANGE returned.
The system may crash with a RUF, Fatal error detected by
Recovery Unit Facility bugcheck. R0 in the crash has the
error code:
SDA> e/cond r0
SYSTEM-F-CURTIDCHANGE, already a change to the process
default transaction in progress
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
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
noticeably 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
VMS721_CLIU-V0100 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 overridden.
o Fix to prevent large cluster factor giving 63-block
bucket.
When running EDIT/FDL, the calculated bucket sizes are
always rounded up to the closest disk-cluster boundary,
with a maximum bucket size of 63. This can cause
problems when the disk-cluster size is large, but the
"natural" bucket size for the file is small, because the
bucket size is rounded up to a much larger value than
required. Larger bucket sizes increase record and bucket
lock contention, and can seriously impact performance.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
o 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.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
o Correction for CONVSHR SORT_ON and invalid alternate key
structures.
Three issues with the CONVERT utility have been
addressed:
+ Attempts to CONVERT a prologue 3 indexed file with
greater than 3 keys (key 3 and above) and with the
primary key being segmented with the segments not in
ascending order, results in invalid key structures
being generated for key 3 and above.
+ Using the callable interface to convert multiple
files, results in a SORT_ON error if any previous
file contains no records and has at least one
alternate key defined.
+ Using the /SECONDARY qualifier with values greater
than eight results in invalid alternate key
structures being generated.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
o Prevent ISI error on close from CONVERT/RECLAIM.
CONVERT/RECLAIM reports the following error during image
rundown:
"%RMS-F-ISI, invalid internal stream identifier (ISI) value"
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
o Fix %CONVERT-I-SEQ errors converting sequential file.
Attempts to convert a sequential file to an indexed
format may report %CONVERT-I-SEQ errors despite convert's
invocation of the SORT utility. These errors may be
reported if any of the input file's records are shorter
than the primary key's highest segment.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
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.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
o Prevent RMS-F-AID errors converting multiple input files.
Converting multiple indexed input files with different
area attributes can result in an RMS-F-AID, invalid area
ID.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
o Correct propagation of LRL value to output file.
The convert of a file could potentially leave the LRL
field for the output file as zero despite the value
existing for the input file. This is inconsistent with
previous versions of CONVERT. The LRL value is required
for some file organizations.
This fix is included in the next release after OpenVMS
Alpha V7.2-1.
INSTALLATION NOTES:
The images in this kit will not take effect until the system is
rebooted. If there are other nodes in the VMScluster, 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.
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 VMS721_RMS /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.
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:
dec-axpvms-vms721_rms-v0100--4.README
dec-axpvms-vms721_rms-v0100--4.CHKSUM
dec-axpvms-vms721_rms-v0100--4.pcsi-dcx_axpexe
vms721_rms-v0100.CVRLET_TXT
|