Updated: 24-SEP-2003 (Use your browsers' Reload button to ensure you're viewing the most recent version)
VMS722_RMS-V0400 Alpha V7.2-2 RMS ECO Summary
*OpenVMS] VMS722_RMS-V0400 Alpha V7.2-2 RMS ECO Summary
New Kit Date: 19-AUG-2002
Modification Date: Not Applicable
Modification Type: NEW KIT
Copyright (c) Compaq Computer Corporation 2001, 2002. All rights reserved.
OP/SYS: OpenVMS Alpha
COMPONENT: RMS
SOURCE: Compaq Computer Corporation
ECO INFORMATION:
ECO Kit Name: VMS722_RMS-V0400
DEC-AXPVMS-VMS722_RMS-V0400--4.PCSI
ECO Kits Superseded by This ECO Kit: VMS722_RMS-V0300
ECO Kit Approximate Size: 2816 Blocks
Kit Applies To: OpenVMS Alpha V7.2-2
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), or later, must be installed BEFORE
installation of this, or any required kit:
VMS722_UPDATE-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-2. This kit addresses the
following problems:
PROBLEMS ADDRESSED IN VMS73_RMS-V0400 KIT
o RMS: Fix to prevent possible process hangs and system crashes
when files with global buffers are accessed.
An application accessing a file with global buffers enabled
might experience any one of several symptoms ranging from an
IVLOCKID being returned to RMS through a possible SSRVEXCEPTN
ue to corruption of an RMS internal control structure.
Prior to this change, it is possible for an internal table
maintained by RMS (the Global Buffer Interlock Table) within
its global buffer sections to overflow. This can potentially
result in corruption to adjoining control structures. No user
data are compromised; however, the process may hang or the
system crash dependent on what is overwritten. This problem
is most prevalent on systems where there is a high turnover of
processes.
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Fix for a lock hang on a global buffer resource.
The symptoms of the hang are as follows:
- A global buffer resource has in its granted queue a
process PW lock and a system CR lock.
- The conversion queue for this resource has a long line of
NL-to-PW or NL-to-EX requests blocked by the PW granted
lock.
This is not a lock manager problem. The PW global buffer lock
holder is waiting for the system CR lock to be released. The
release of the system CR lock is dependent on a flag
(internally managed by RMS) indicating a writer wants access
to the resource and a reference count maintained in an
internal RMS structure. Until the system CR lock is released
and the flag cleared by the last referencer, the process
holding the PW lock will continue to block any other processes
lining up in the conversion queue.
This fix corrects a race condition where if a process was
interrupted (stopped or aborted by a $delprc) while actively
using the system CR lock, it was possible for the cleanup of
the internal RMS structure to be bypassed. This would cause
the reference count to get out of sync and result in the
system CR lock not getting properly released after a writer
requested access to the resource.
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Avoid an exec-mode infinite loop if RMS ever attempts to
add a duplicate key value to a compressed index bucket.
An index bucket should never have a duplicate key value.
There is the potential, however, some inconsistency
(corruption) in a lower level could result in such an attempt
in the case of a compressed key. A correction has been added
to issue a nonfatal RMS bugcheck (ISAM) and avoid the loop.
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Fix for some records being potentially skipped over in a
reverse key search.
If the very last bucket in the data bucket chain for a
particular key-of-reference is empty (no valid records), the
potential exists for any valid records in the next-to-the-last
bucket (and only this bucket) being skipped over in the
backwards scan done by a reverse key search.
This problem is restricted to a reverse key search.
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Correction for circumflex returned in resultant string
for search error cases.
When a one-character wildcard % is used in a search, if no
file is found (an error is returned), the resultant string
returned in the user NAM[L] structure has a circumflex (^)
character inappropriately inserted just before the %. This
affects a number of DCL utilities which display the resultant
string with their error messages (e.g., DELETE, TYPE, RENAME
and COPY). For example:
$ delete %.jnk;*
%DELETE-W-SEARCHFAIL, error searching for SYS$COMMON:[FOO]^%.JNK;*
-RMS-E-FNF, file not found
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Set the return length of the auxiliary buffer for calls
to SYS$FILESCAN.
The return length of the auxiliary buffer ("retlen" optional
parameter) that was passed to SYS$FILESCAN was not being set
when the Field Flags argument ("fldflags" parameter) was
absent. This change sets the return length value
unconditionally when one has been requested.
Images Affected:[SYS$LDR]RMS.EXE
o CONVERT: Fix for remote file DAP protocol regression.
The convert utility fails with the following error when the
input file is a sequential file on a remote foreign (non-VMS)
system and the output file is a sequential file on a VMS
system if and only if /SORT is explicitly specified or implied
by /FDL:
%CONV-F-READERR, Error reading (IBM_filename)
-RMS-F-BUG_DAP, Data Access Protocol error detected;
DAP code = 0001A008
The problem is not reproducable using a remote VMS system.
Images Affected:[SYSEXE]CONVERT.EXE
[SYSLIB]CONVSHR.EXE
PROBLEMS ADDRESSED IN VMS722_RMS-V0300 KIT
o RMS: Fix to prevent possible process hangs and system crashes
when files with global buffers are accessed.
An application accessing a file with global buffers enabled
might experience any one of several symptoms ranging from an
IVLOCKID being returned to RMS through a possible SSRVEXCEPTN
due to corruption of an RMS internal control structure.
Prior to this change, it is possible for an internal table
maintained by RMS (the Global Buffer Interlock Table) within
its global buffer sections to overflow. This can potentially
result in corruption to adjoining control structures. No user
data are compromised; however, the process may hang or the
system crash dependent on what is overwritten. This problem
is most prevalent on systems where there is a high turnover of
processes.
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Fix for a lock hang on a global buffer resource.
The symptoms of the hang are as follows:
- A global buffer resource has in its granted queue a
process PW lock and a system CR lock.
- The conversion queue for this resource has a long line of
NL-to-PW or NL-to-EX requests blocked by the PW granted
lock.
This is not a lock manager problem. The PW global buffer lock
holder is waiting for the system CR lock to be released. The
release of the system CR lock is dependent on a flag
(internally managed by RMS) indicating a writer wants access
to the resource and a reference count maintained in an
internal RMS structure. Until the system CR lock is released
and the flag cleared by the last referencer, the process
holding the PW lock will continue to block any other processes
lining up in the conversion queue.
This fix corrects a race condition where if a process was
interrupted (stopped or aborted by a $delprc) while actively
using the system CR lock, it was possible for the cleanup of
the internal RMS structure to be bypassed. This would cause
the reference count to get out of sync and result in the
system CR lock not getting properly released after a writer
requested access to the resource.
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Avoid an exec-mode infinite loop if RMS ever attempts to
add a duplicate key value to a compressed index bucket.
An index bucket should never have a duplicate key value.
There is the potential, however, some inconsistency
(corruption) in a lower level could result in such an attempt
in the case of a compressed key. A correction has been added
to issue a nonfatal RMS bugcheck (ISAM) and avoid the loop.
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Fix for some records being potentially skipped over in a
reverse key search.
If the very last bucket in the data bucket chain for a
particular key-of-reference is empty (no valid records), the
potential exists for any valid records in the next-to-the-last
bucket (and only this bucket) being skipped over in the
backwards scan done by a reverse key search.
This problem is restricted to a reverse key search.
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Correction for circumflex returned in resultant string
for search error cases.
When a one-character wildcard % is used in a search, if no
file is found (an error is returned), the resultant string
returned in the user NAM[L] structure has a circumflex (^)
character inappropriately inserted just before the %. This
affects a number of DCL utilities which display the resultant
string with their error messages (e.g., DELETE, TYPE, RENAME
and COPY). For example:
$ delete %.jnk;*
%DELETE-W-SEARCHFAIL, error searching for SYS$COMMON:[FOO]^%.JNK;*
-RMS-E-FNF, file not found
Images Affected:[SYS$LDR]RMS.EXE
o RMS: Set the return length of the auxiliary buffer for calls
to SYS$FILESCAN.
The return length of the auxiliary buffer ("retlen" optional
parameter) that was passed to SYS$FILESCAN was not being set
when the Field Flags argument ("fldflags" parameter) was
absent. This change sets the return length value
unconditionally when one has been requested.
Images Affected:[SYS$LDR]RMS.EXE
o CONVERT: Fix for remote file DAP protocol regression.
The convert utility fails with the following error when the
input file is a sequential file on a remote foreign (non-VMS)
system and the output file is a sequential file on a VMS
system if and only if /SORT is explicitly specified or implied
by /FDL:
%CONV-F-READERR, Error reading (IBM_filename)
-RMS-F-BUG_DAP, Data Access Protocol error detected;
DAP code = 0001A008
The problem is not reproducable using a remote VMS system.
Images Affected:[SYSEXE]CONVERT.EXE
[SYSLIB]CONVSHR.EXE
RELATED ARTICLES:
Detailed articles describing the problems listed above may exist in the
OPENVMS database(s). To view these articles, open the appropriate product
database and perform a query using either of the following search strings:
'VMS722_RMS-V0400' or 'VMS722_RMS'.
ECO KIT ORDERING INSTRUCTIONS:
If after an evaluation you wish to obtain this kit, request it
electronically using the appropriate Advanced Electronic Services
(AES) Service Tool. If you are not familiar with how to request
kits electronically, open the DIA, WIS or DSNLINK database and
review the article entitled:
[AES] How To Electronically Request ECO Kits Using Service Tools
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.
INSTALLATION INSTRUCTIONS:
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 VMS73_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
SPECIAL INSTALLATION INSTRUCTIONS:
o 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=V4.0
- De-assign the logicals assigned
For example, a sample command file to install the
VMS722_RMS-V0200 kit would be:
$
$ DEFINE/SYS NO_ASK$BACKUP TRUE
$ DEFINE/SYS NO_ASK$REBOOT TRUE
$!
$ PROD INSTALL VMS722_RMS/PROD=DEC/BASE=AXPVMS/VER=V4.0
$!
$ DEASSIGN/SYS NO_ASK$BACKUP
$ DEASSIGN/SYS NO_ASK$REBOOT
$!
$ exit
All trademarks are the property of their respective owners.
==========================================================================
| Table of Kit Image Information |
+----------------------------+----------+-----------------+--------------+
| | Overall | Image File | Image Link |
| Image Name | Checksum | Identification | Date/Time |
+----------------------------+----------+-----------------+--------------+
| CONVERT.EXE | 47CD6602 | X-8 | 6-JUN-2002 |
| | | 16:03:40.92 |
+----------------------------+----------+-----------------+--------------+
| CONVSHR.EXE | 48D8FA1E | X1-012 | 6-JUN-2002 |
| | | 16:03:25.17 |
+----------------------------+----------+-----------------+--------------+
| DDIF$RMS_EXTENSION.EXE | C5BFE824 | X-3 | 24-SEP-2001 |
| | | 16:52:59.74 |
+----------------------------+----------+-----------------+--------------+
| RECLAIM.EXE | 5CA6C349 | X-6 | 6-JUN-2002 |
| | | 16:03:44.89 |
+----------------------------+----------+-----------------+--------------+
| RMS.EXE | F093000E | V1.0 | 11-JUL-2002 |
| | | 17:37:02.99 |
+----------------------------+----------+-----------------+--------------+
| SDARMS$SHARE.EXE | 392538A1 | X-9 | 11-JUL-2002 |
| | | 17:38:19.68 |
+----------------------------+----------+-----------------+--------------+
|