OpenVMS VAXRMS09_U2055 VAX V5.5 - V5.5-2H4 RMS ECO Summary
Copyright (c) Digital Equipment Corporation 1995. All rights reserved.
PRODUCT: RMS Journaling for OpenVMS
OP/SYS: OpenVMS VAX
COMPONENT: Record Management Services (RMS)
SOURCE: Digital Equipment Corporation
ECO INFORMATION:
ECO Kit Name: VAXRMS09_U2055
ECO Kits Superseded by This ECO Kit: VAXRMS08_U2055
VAXRMS07_U2055
VAXRMS06_U2055
VAXRMS05_U2055 (CSCPAT_1183)
VAXRMS03_U2055
ECO Kit Approximate Size: 1570 Blocks
Kit Applies To: OpenVMS VAX V5.5, V5.5-1, V5.5-2,
V5.5-2HF, V5.5-2H4
System Reboot Necessary: Yes
ECO KIT SUMMARY:
An ECO kit exists for RMS Journaling on OpenVMS VAX V5.5 through
V5.5-2H4. This kit addresses the following problems:
Problems Addressed in VAXRMS09_U2055:
o ANALYZE/RMS fails with an Access Violation (ACCVIO) error.
This was caused by a change to the FILMNTMSG.EXE image. The
ANALYZE/RMS command looked for a message with only two
arguments but FILMNTMSG was sending a message with three
arguments.
Problems Addressed in VAXRMS08_U2055:
o The OpenVMS VAX V5.5-2 FILMNTMSG.EXE image is common to the
VAXVERI02_061 and VAXRMS07_U2055 kits. In order to eliminate
a possible image regression problem, this kit updates the
FILMNTMSG.EXE image to the same level as the image in the
VAXVERI02_061 kit.
Problems Addressed in VAXRMS07_U2055:
o Attempting to use RECOVER.EXE from the VAXRMS06_U2055 kit
causes the following error message:
$ RECOVER/FORWARD
%DCL-W-ACTIMAGE, error activating image DTI$SHARE
-CLI-E-IMGNAME, ...
-SYSTEM-F-SHRIDMISMAT, ident mismatch with
shareable image
Problems Addressed in VAXRMS06_U2055:
o The VAXRMS05_U2055 kit contained an incorrect RECOVER.EXE
image. If the VAXRMS05_U2055 kit is installed after the
NET-APP-SUP-400 License Pak, RMS Journaling will be disabled
due to license problems. The error message displayed is:
%RMSREC-F-JNLNOTAUTH,...
-LICENSE-F-NOLICENSE
Problems Addressed in VAXRMS05_U2055:
o Applications using Deferred Write on Shared Sequential Files
may fail to synchronize correctly after selecting the wrong
event flag for a write QIO upon file/vbn blocking AST. This
may cause the process to stall waiting for EFN 29 in user mode
even though the RMS operation is completed (STS set).
This problem is fixed in OpenVMS VAX V6.1.
o An infinite loop may occur if the XQP fails to update the
FIB values for a successful extend operation in the
context of a process in an overdrawn quota state. The
possibility exists that an FTL$_BADEBKHBK RMS bugcheck
may also occur due to this problem.
o A global buffer descriptor (GBD) will not be recovered if
it becomes lost to the GBD queue associated with an RMS
global buffer section. This problem is more likely to
occur on a file with a small number of global buffers set
and which is accessed on a system that has an idle
process killer or commonly uses 'STOP/ID' to terminate
processes. The following symptoms may occur due to
this problem:
+ Either corrupted global buffer header (GBH) or global
buffer descriptor (GBD) queue
+ Looping condition on queue of global buffer descriptors
(GBDs)
+ RMS-F-CRMP error, with RMS-F-DME reported as the secondary
error in RAB$L_STV
+ SSRVEXCEPT, Unexpected system service exception
+ RMS bugcheck FTL$_FILE_LOCK (R2 = FFFFFFC7 - inconsistency
in RMS file lock data)
+ RMS bugcheck FTL$_ISAM (R2 = FFFFFFD4 - internal ISAM
error). Typically an ISAM bugcheck indicates the indexed
file is corrupted and needs to be converted. However, if
the ISAM bugcheck is in fact due to the lost GBD problem,
an ANALYZE/RMS/CHECK of the file will report no errors.
For this to be a possibility, the file had to have global
buffers enabled on it at the time of the ISAM bugcheck.
o When a power failure, system crash or a 'STOP/ID' occurs, if a
process has any modified buckets whose write-back-to-disk has
been deferred with the deferred write option, the indexed file
may be left with a secondary index data record (SIDR) pointing
to a nonexistent primary data record. (Note: Enabling RMS RU
Journaling automatically enables deferred write). An RMS$_BUG
status may be returned to the user during a subsequent attempt
to $GET or $FIND by a secondary key. This fix causes an
RMS$_RNF status to be returned.
o A process may hang indefinitely or return FNF or DNF errors
in the context of multi-threaded and/or AST driver servers
that have multiple $CREATEs, $OPENs and/or $PARSEs outstanding.
The symptoms include:
+ The process hangs (executing inside both RMS and the XQP),
and file lookups fail with RMS$_FNF or RMS$_DNF errors and
a secondary status of SS$_NOSUCHFILE.
+ A file of the same name is returned from a superior
directory, also of the same name (e.g., a lookup of
[A.A]B.C might return [A]B.C).
This problem is fixed in OpenVMS VAX V6.1.
Problems Address in the VAXRMS03_U2055 Kit:
o The previous remedial version of the RMS FDLSHR and EDF images
brought out a problem which shows up when utilizing the ADARTL
to open a file.
This problem is fixed in OpenVMS VAX V6.0.
************************ CAUTION **************************
* *
* Both FDLSHR.EXE and EDF.EXE must be replaced together. *
* Failure to do so may cause problems. *
* *
* The FDLSHR.EXE provided with this kit is only upwardly *
* compatible. Images linked against this new FDLSHR image *
* can NOT be run using an old version of this shareable *
* image. This also affects the utility images EDF and *
* CONVERT in this kit. They must, therefore, always be *
* replaced together with the new FDLSHR.EXE. *
* *
* o Using a newly linked customer application or the *
* provided EDF.EXE against an old FDLSHR will fail *
* to start up and cause the error: *
* *
* %DCL-W-ACTIMAGE, error activating image FDLSHR *
* -CLI-E-IMGNAME, image file xxxx *
* -SYSTEM-F-SHRIDMISMAT, ident mismatch with *
* shareable image *
* *
*************************************************************
o Two new EDIT/FDL problems occur with implementation of the
latest EDF/FDLSHR images:
a. The 'EDIT/FDL/NOINTERACTIVE' loses the information for
segmented keys. This command is used to optimize FDL files
for indexed files.
b. EDIT/FDL no longer allows the usage of the 'PRINT' record
attribute for relative files.
This problem is fixed in OpenVMS VAX V6.0.
o SYS$FILESCAN with an empty input string sometimes causes an
ACCVIO if the input string is next to inaccessible memory.
This problem is fixed in OpenVMS VAX V6.1.
o Multiple streams or accessors reading the same record on an
alternate index with RAB$M_WAT set in the RAB$L_ROP field may
cause a lock-step loop swapping the same bucket and record locks.
This is most likely to occur when a single process uses multiple
streams.
This problem is fixed in OpenVMS VAX V6.0.
o EXEC/KERNEL rundown deadlock may occur when using global buffers.
If a process that has the same file open twice is killed by a
utility which does a $FORCEX and then a $DELPRC, that process as
well as any process attempting to access the same global section
may hang.
This problem is fixed in OpenVMS VAX V6.0.
o Coordination of terminal logicals and search lists does not
always function as expected. For example, if the following
sequence is followed:
$ DEFINE/TRANS=TERM z a,b
$ DEFINE a c,d
$ DEFINE b e,f
$ DIRECTORY z
the list shown is a and e, instead of a and b.
This problem is fixed in OpenVMS VAX V6.1.
o In a three-way bucket split with duplicate keys, the ID assigned
to a new record in the middle bucket is incorrect if only one
record is added to the middle bucket. ANALYZE/RMS will view
this as a data corruption and report the following error:
"Record at offset %X'nnnn' has a missing or illegal RRV."
This problem is fixed in OpenVMS VAX V6.0.
o In a CONVERT/FAST with an FDL requesting a descending packed
decimal, the secondary key fails to initialize the index for the
key.
This problem is fixed in OpenVMS VAX V6.0.
o CONVERT/FAST with an FDL requesting a collated key that has
duplicate NCS values but unique binary values generates an
invalid RMS file that may cause a looping condition when reading
via the collated key if it is a secondary key.
This problem is fixed in OpenVMS VAX V6.0.
o Since OpenVMS VAX V5.4, a multibuffer count greater than 255 for
local buffers can be requested using an XABITM connected to the
RAB; however, requesting more than 255 local buffers for an indexed
file will cause the RMS code to enter an infinite loop during
SYS$CONNECT.
This problem is fixed in OpenVMS VAX V6.0.
o Every call to CONV$PASS_FILES will cause a small amount of
virtual memory to be lost. The amount lost is proportional to
the output filename size.
This problem is fixed in OpenVMS VAX V6.0.
o Index file corrupter occurs due to key compression expansion gain.
The key expansion may use more bytes than were used by a deleted
key combined with the following key. If the excess key expansion
is greater than the unused bytes available within the data
bucket, the excess bytes will overflow the end of the data
bucket.
This problem is fixed in OpenVMS VAX V6.0.
o RMS$_RTB and RMS$_UBF errors sometimes occur during convert.
- RMS$_UBF errors occur if convert's input file contains
zero-length records
- If a file is created with no MRS and records bigger than hex
200, it will produce RMS$_RTB when it is converted without
specifying an output MRS either from an existing output file
or through an FDL.
This problem is fixed in OpenVMS VAX V6.0.
o Under certain conditions, a system crash may corrupt a shared
sequential file using deferred write. For this to happen, the
crashed system must have appended the last record to the
sequential file, and another node in the cluster must have
acquired the file lock since the append.
This problem is fixed in OpenVMS VAX V6.0.
o Various fixes are included for callable FDL routines.
- Fix FDL$GENERATE to always output FILL lines for keys.
- Fix FDL$PARSE to allow CHANGES yes on alternate keys.
- Fix FDL$GENERATE to output DIRECTORY_ENTRY correctly.
- Fix numeric field truncation problem.
- Allow for blank or non-terminated NAME fields (these
previously resulted in a virtual memory error).
- Fix default protection if only OWNER is specified.
- Ensure that FDL$RELEASE releases all memory FDL$PARSE
allocates.
These problems are fixed in OpenVMS VAX V6.0.
o Various fixes are included for EDIT/FDL.
- EDIT/FDL will now allow data compression on non-string keys.
- Data record compression question is now independent of key
type
- EDIT/FDL/NOINTERACTIVE will now return input error status.
- EDIT/FDL will add missing areas on ADD KEY and TOUCHUP.
- Touchup script will now desegment keys if so requested.
- DCL qualifier /NUMBER_KEYS now works with EDIT/FDL.
These problems are fixed in OpenVMS VAX V6.0.
o ANALYZE/RMS fails to produce correct statistics for files with
more than 2 Gigabytes of data.
This problem is fixed in OpenVMS VAX V6.0.
o System Service $UPDATE ACCVIOs in file xfr mode FAB$M_SQO. When
executing the RMS run-time service $UPDATE on a DECnet remote
file access, an ACCVIO will occur if in file transfer mode
(FAV$M_SQO). The ACCVIO will cause the process to be deleted,
unless the SYSGEN parameter BUGCHECKFATAL is set to 1. In this
case, the system will crash.
This problem is fixed in OpenVMS VAX V6.0.
o Using a shared sequential data file, a record could be
overwritten. If a shared data file is opened and closed, stale
record attributes could be used, causing a previously written
record to be overwritten.
This problem is fixed in OpenVMS VAX V6.0.
o When using the system service $FORCEX, a process may hang.
This problem is fixed in OpenVMS VAX V6.0.
o The RMS Journaling detached recovery process can hang when
recovering a large number of files. If this occurs, the system
must be rebooted.
This problem is fixed in OpenVMS VAX V6.0.
o RMS may crash due to stack corruption from STALL in the
READ_RU_ACE routine.
This problem is fixed in OpenVMS VAX V6.0.
o ACL information is not being passed by SYS$DISPLAY to the XAB
buffer after SYS$OPEN, due to an OpenVMS VAX V5.4 change in the
files system (XQP).
This problem is fixed in OpenVMS VAX V6.0.
o OpenVMS VAX V5.4 changes for SYS$DISPLAY includes calls to routines
that may STALL. This results in an RMS unexpected system service
exception (SSRVEXCEPT). The registers AP and R3 are destroyed over
an RMS stall, causing an access violation (ACCVIO).
This problem is fixed in OpenVMS VAX V6.0.
o CONVERT/RECLAIM may access violate (ACCVIO) on files using key
compression.
This problem is fixed in OpenVMS VAX V6.0.
o CONVERT/RECLAIM may corrupt index buckets for files using key
compression.
This problem is fixed in OpenVMS VAX V6.0.
o ANALYZE/RMS incorrectly reports "Record exceeds max record size"
on a file used with RU Journaling.
This problem is fixed in OpenVMS VAX V6.0.
o RMS stall code does not save R3 and AP registers before stalling.
This causes several RMS problems.
This problem is fixed in OpenVMS VAX V6.0.
o RMS might hang when recovering a recovery unit. This will only
occur when the logical DEFINE/EXE/SYS RMSREC$LOG is defined to
401.
This problem is fixed in OpenVMS VAX V6.0.
o The following sequence causes the $PUT to a sequential file to
get a "put not at end of file" error.
$start_ru
$connect
$abort_ru
.
$start_ru
.
$put
This problem is fixed in OpenVMS VAX V6.0.
o "Record stream already active" error is returned when $CONNECT is
called with RAB$L_STS not equal to zero.
This problem is fixed in OpenVMS VAX V6.0.
o If a $RELEASE function is performed on another node's file, RMS
will always attempt to release the lock on the current record,
ignoring the RFA specified in RAB$W_RFA. If the current record
has already been unlocked, this would result in an RMS$_RNL
(Record not locked) error. If not, it will result in the
current record being erroneously released.
This problem is fixed in OpenVMS VAX V6.0.
o The EDIT/FDL optimization script fails to suggest optimal bucket
sizes for certain files.
This problem is fixed in OpenVMS VAX V6.0.
o CONVERT/APPEND fails with RMS-F-UBF status. It does not deal
correctly with variable length output files aborting with the
RMS-F-UBF status if it does not determine an appropriate buffer
size from the input file.
This problem is fixed in OpenVMS VAX V6.0.
o Illegal RRV corruption is caused by RMS journaling. Control bits
are being copied from record K+1 to record K, causing an
ANALYZE/RMS RRV error.
This problem is fixed in OpenVMS VAX V6.0.
o GET-BY-KEY is sometimes optimized into GET-BY-RFA to increase
performance. The user can try to get a record with one key, and
end up with another record with another key.
This problem is fixed in OpenVMS VAX V6.0.
o Dynamic Memory Exhausted (RMS$_DME) and other resource errors
occur when the default number of threads for RU journaling is set
to 60. The default has been lowered to 30.
This problem is fixed in OpenVMS VAX V6.0.
o Incorrect data might be returned during access of a sequential
file. This can only occur when the file is greater than 8
million blocks and is accessed in sequential mode.
This problem is fixed in OpenVMS VAX V6.0.
o ANALYZE/RMS will return an "illegal flag combination" error if
there is an illegal flag combination in the record control byte
for RU journaling. If you begin with a full bucket, start a
transaction, add a record that causes a bucket split, update this
record to be longer than it was before and abort the transaction,
a record is left in the file with an illegal combination of
flags.
This problem is fixed in OpenVMS VAX V6.0.
o A stream file written to an ANSI tape through RMS might contain
garbage (usually decimal digits) when copied back to disk,
especially if the file contained non-default delimiters (such as
LF, VT or FF).
This problem is fixed in OpenVMS VAX V6.0.
o INVEXCPTN BUGCHECK occurs under certain conditions for RU
journaling with process in RWSCS. Multiple servers converting
the RMS$RU_RECOVERY lock (doorbell lock) from CR->EX will create
a deadlock.
This problem is fixed in OpenVMS VAX V6.0.
o Wildcards do not work correctly with RMS journaling recovery.
The "recover /forward /until=time *.*" command does not work.
It uses different time values for different files found by the
wildcarding.
This problem is fixed in OpenVMS VAX V6.0.
o A sequential $PUT on a file, after a $PUT which returns an error
(for example, because of a file extend failure or ASTLM
depletion) causes an RMS internal CPU loop.
This problem is fixed in OpenVMS VAX V6.0.
o NXTRECID value 0 should be valid and treated as high value.
ANALYZE/RMS will incorrectly flag each and every record in a
bucket which has a value of 0 in the NXTRECID field of the bucket
header. Deletes of records that originally were inserted in such
a bucket could lead to RMS$_BUG status returns.
This problem is fixed in OpenVMS VAX V6.0.
o If a user has an indexed file with RU journaling enabled and
opens it remotely for read-only access while also requesting that
key information be filled out in key XABs, the user will receive
an RMS-E-DDTM_ERR error from RMS.
This problem is fixed in OpenVMS VAX V6.0.
o Code that rapidly reads and updates large, unshared sequential
files with read-ahead enabled could cause an RMS bugcheck,
characterized with R2 = FFFFFFE5 (NOLCLBUF).
This problem is fixed in OpenVMS VAX V6.0.
o DECwindows access to node::[.subdirectory] crashes RMS.
This problem is fixed in OpenVMS VAX V6.0.
o Files with large (512+ bytes) collating sequences will possibly
cause ANALYZE/RMS to ACCVIO.
This problem is fixed in OpenVMS VAX V6.0.
o Continued processing on an indexed file after failing to allocate
new buckets required to perform an $update operation (growing
record) could cause data corruption. Typically, this would cause
the record to be updated to be lost and potentially this could
lead to an RMS bugcheck characterized by R2 = FFFFFFCC
(OPT_BROKE).
This problem is fixed in OpenVMS VAX V6.0.
o Under certain circumstances an RMS $PUT call may hang indefinitely.
This only happens for applications using Deferred Write on
Shared Sequential Files.
This problem is fixed in OpenVMS VAX V6.1.
INSTALLATION NOTES:
In order for the corrections in this kit to take effect, the system
must be rebooted. If the system is a member of a VAXcluster, the
entire cluster should be rebooted.
This patch can be found at any of these sites:
Colorado Site
Georgia Site
Files on this server are as follows:
vaxrms09_u2055.README
vaxrms09_u2055.CHKSUM
vaxrms09_u2055.CVRLET_TXT
vaxrms09_u2055.a-dcx_vaxexe
|