Updated: 24-SEP-2003 (Use your browsers' Reload button to ensure you're viewing the most recent version)
CSCPAT_0253 I/O Routines ECO Summary
Copyright (c) Digital Equipment Corporation 1994. All rights reserved.
OP/SYS: OpenVMS VAX
COMPONENT: I/O Routines
SOURCE: Digital Equipment Corporation
ECO INFORMATION:
CSCPAT Kit: CSCPAT_0253 V1.9 (CSCPAT_0253019)
CSCPAT Kit Size: 1944 Blocks
Engineering Cross Reference: Not Applicable
Kit Applies To: OpenVMS VAX V5.2, V5.2-1, V5.3, V5.3-1,
V5.3-2, V5.4, V5.4-1, V5.4-2,
V5.4-3, V5.5, V5.5-1
System Reboot Necessary: Yes
ECO KIT SUMMARY:
An ECO (patch) kit exists for IO_ROUTINES.EXE on OpenVMS VAX V5.2
through V5.5-1. This kit addresses the following problems:
o IO_ROUTINES patch to resolve device affinity leakage problems
on systems running OpenVMS VAX V5.2 and V5.3-1. The most common
manifestation of these problems is an UNEXPIOINT bugcheck on
multiprocessor VAX 88x0 systems with UNIBUS devices. The
bugcheck is caused by the failure of the routine IOC$LAST_CHAN
to honor device affinity to the primary processor. This patch
kit was a part of CSCPAT_0146, but CSCPAT_0146 also fixed an
unexpected hardware interrupt problem for OpenVMS VAX
V5.0 - V5.1-1.
This problem is corrected in OpenVMS VAX V5.3-2.
o This problem was called the "PC±4" Problem on VAX 6000 Model
400 Systems. We expect this fix to have a small impact on
system performance based on the rate of system page faults
incurred. In brief, this fix prevents simultaneous access of
the invalid PTE by causing an interprocessor interrupt when
the first CPU is ready to set the valid bit. This action
synchronizes the CPUs, guaranteeing the validity of the PTE
before another CPU attempts to access it. This patch kit
completely replaces CSCPAT_0185.
This problem is corrected in OpenVMS VAX V5.3.
o An SMP synchronization problem in EXE$TIMEOUT which results
in INVEXCEPTN bugchecks at EXE$TIMEOUT+052 with R5 = -1
(^XFFFFFFFF). This patch kit completely replaces CSCPAT_0189.
This problem is corrected in OpenVMS VAX V5.4.
o The CPU module (M7620) of the MicroVAX 3500, VAXstation 3500,
MicroVAX 3600, and VAXstation 3600 needs to be at a revision K
or higher. There is a problem in earlier revisions with the way
the microcode handles DMA. Multiple successive writes to the
Q-bus Map Registers could lock out the Q-bus DMA transfers in a
way that can cause Device DMA timeouts. This is a software
workaround to allow earlier revisions to work with OpenVMS VAX.
This workaround is included in OpenVMS VAX V5.4-1.
o INVEXCEPTN bugchecks at COM$FLUSHATTNS+01F due to race conditions
caused when the device lock is released (SMP only). The fix
avoids a race condition by not giving up the device lock until
the attention AST list has been processed completely. This ECO
kit replaces CSCPAT_0194.
NOTE: Some systems will hang but not crash when this condition
occurs.
This problem is corrected in OpenVMS VAX V5.4-1.
o XQPERR Bugcheck at IOC$DISMOUNT+0025E caused by a lock
conversion failure of an EXMODE device lock for a tape mounted
foreign. This problem will be corrected in a future release of
OpenVMS VAX.
o Unsynchronized access to UCB$W_QLEN field of disk UCBs causes
the queue length field to never be set properly in SMP
environments. This problem is most clearly visible under SPM
and MONITOR. The queue length to access a particular disk
never goes to zero, resulting in 100% busy time for the disk.
This problem is fixed in OpenVMS VAX V5.5-1.
o An affinity problem occurs when initiating I/O for MSCP disk or
tape device in an SMP environment. The problem occurs due to
the different way the drivers for these devices use the bits
UCB$V_BSY and UCB$L_IOQFL.
This problem is fixed in OpenVMS VAX V5.5-1.
o CDRP$L_RWCPTR was not checked to see if it contained a non-zero
value before RWAITCNT was incremented. A test is now performed
on this field.
This problem is fixed in OpenVMS VAX V5.5-1.
o A device mounted foreign may become inaccessible after a
dismount or may appear to be allocated to a nonexistent process.
The system must be rebooted to regain access to the device.
CSCPAT_0253 corrects this problem in most cases. However, the
problem may still occur on some systems after this ECO kit has
been installed.
To fix this problem, a new ECO kit, CSCPAT_0245, was created.
This kit provides a new image that will allow users to manually
release allocated devices. For more information on CSCPAT_0245,
refer to the following article in the ".CSCPAT" database entitled:
*OpenVMS] CSCPAT_0245 Remedial Dismount ECO Summary
This problem is fixed in OpenVMS VAX V6.0.
o Dismount of foreign tape leads to XQPERR bugcheck at
IOC$DISMOUNT+0025E. The problem is caused by a lock conversion
failure of an EXMODE device lock.
This problem is fixed in OpenVMS VAX V5.5-1.
o When moving the "black hole" page allocation back to INIT from
SYS$SCS, SCS is not always loaded. ALOSPT needs to be changed
to use the "black hole" page's PFN rather than a PFN of 1FFFFF
when allocating an SPTE. Marking PFN 1FFFFF "VALID" in the
SPTE can cause hardware problems when the VAX 9000 prefetcher
runs into this "oddball" SPTE.
This problem is fixed in OpenVMS VAX V5.5-1.
o An SMP system may hang with many IPL 6 requests on the fork
queue. If a crash is forced and the dump file examined, the
first queue entry is usually created by IOC$FREE_UCB. Other
symptoms might include:
* Parent processes hang when their subprocesses terminate.
* CTRL/C, CTRL/Y, CTRL/Z or any "out of band AST" processing
for terminals does not respond.
* Nonpaged pool fills up.
* Mailbox I/O may not complete as expected.
* Corrupted IPL 6 fork queue if running a version of SPM
which just assumes its IPL 6 fork request has already
been serviced. The corruption occurs when SPM reinserts
its fork block multiple times.
This problem is fixed in OpenVMS VAX V6.0.
NOTE: Systems from V5.0 through V5.5-2 may be affected by
this problem. This kit fixes this problem for OpenVMS
VAX V5.0 through V5.5-1 ONLY.
o A PGFIPLHI bugcheck is seen at a variety of addresses in
MBDRIVER, although it usually occurs at or near
EXE$WRTMAILBOX+0F83. The problem occurs because MBDRIVER
does not take into account that a process' CCB is in pageable
P1 space. This problem is very timing and disk load dependent.
NOTE: This fix has been made in IOSUBNPAG, not MBDRIVER, and
thus affects all drivers.
This problem is fixed in OpenVMS VAX V6.0.
o Various fixes to host based disk shadowing (SHDRIVER).
o When a host receives a controller error, Host Based Volume
Shadowing (HBVS) processing removes whatever device is at SHAD
index 0 even if that device is not the one that received the
error. Once the index 0 member is gone, any further errors are
ignored. The new code will handle the errors in a consistent
manner and with the correct volume.
o An INVEXCEPTN bugcheck can occur if a hard device error is
returned while a Bad Block Replacement operation is in progress.
o Various fixes to the Lock Manager (SYS$CLUSTER).
o MSCPSERV crashes in VC_ERR when the server loses connection to
a satellite while performing volume processing for a HBVS Shadow
set. This will cause the system to crash with an MSCPSERV
bugcheck at MSCP+00F1D.
o During the VC_ERR routine, if a GUS (Get Unit Status) is on the
fork and wait queue, a call to deallocate nonpaged pool destroys
the contents of R1 and R2. This leads to pool corruption and/or
a bugcheck.
o Due to the scaling of shadowing node failure processing, lengthy
I/O outages (cluster hang or long pauses) in a large scale cluster
are possible. The same outage can also occur in a smaller cluster
if several nodes lose contact or fail simultaneously. With this
kit installed, the scaling has been optimized.
o Various LOCKING bug problems are fixed in SYS$CLUSTER.EXE. These
fixes allow for improved cluster performance. The problems are
listed below:
* Locks are granted out of order when a resource is remastered
between two nodes and is then moved to a third node.
* If a two phase conversion in progress is canceled while
doing accounting of BLOCKASTs on a resource, a fatal bugcheck
may occur.
* During dynamic remastering, performance is degraded when large
lock trees are moved.
* Locks are granted out of order as a result of a deadlock found
in the midst of a tree remaster. This causes multiple
incompatible locks to be granted which can lead to database
corruption as well as Lock Manager bugchecks.
o Due to a race condition between devices, a Cache Flush ACB can
be enqueued twice on the same queue. This results in a crash or
queue corruption.
o Merges of HBVS shadow sets take an exceptionally long time to
complete.
o Certain devices such as ESE20 and RF73H have I/O sizes that are
too small for COPY and MERGE operations.
o Under certain circumstances, the SHADOW_SERVER may hang in a
delay mode if unforeseen variances in CPU speed and I/O device
speeds occur. The SHADOW_SERVER is designed to "backoff" when
it determines there is application I/O to the same device. The
mechanism to determine this is the amount of time the individual
server I/Os take to complete. There was a point where the speed
of the I/O would always indicate we should delay. This has been
changed to only allow 5 successive delays. If that occurs, the
time is boosted to break us out of delay.
o The value of the device sector size is zeroed making valid
geometry information unavailable to calculate the proper I/O
size.
RELATED ARTICLES:
Detailed articles describing the problems listed above may exist
in the OpenVMS database. To view these articles, open the appropriate
product database and perform a query using the search string
'CSCPAT_0253'.
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 (Patch) Kits Using Service Tools
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.
==========================================================================
| Table of Kit Image Information |
+----------------------------+----------+-----------------+--------------+
| | Overall | Image File | Image Link |
| Image Name | Checksum | Identification | Date/Time |
+----------------------------+----------+-----------------+--------------+
| DISMNTSHR.EXE |%X552271D7| DMTSHRR01052 | 11-JAN-1991 |
| | | 08:26:05.92 |
+----------------------------+----------+-----------------+--------------+
| DISMNTSHR.EXE |%X8E4686CF| DISMTSHR05053 | 14-JAN-1991 |
| | | 10:31:00.99 |
+----------------------------+----------+-----------------+--------------+
| DISMNTSHR.EXE |%X1B9C6D6C| DISMOUR03054 | 12-NOV-1991 |
| | | 12:50:51.60 |
+----------------------------+----------+-----------------+--------------+
| DADDRIVER.EXE |%XF584D087| V-6U8R1 | 12-NOV-1991 |
| | | 12:57:42.99 |
+----------------------------+----------+-----------------+--------------+
| DADDRIVER.EXE |%X3DD216C8| V-4A1 | 17-FEB-1992 |
| | | 12:43:00.22 |
+----------------------------+----------+-----------------+--------------+
| LADDRIVER.EXE |%X26DAA9C4| V1.088 R1 | 12-NOV-1991 |
| | | 12:55:37.57 |
+----------------------------+----------+-----------------+--------------+
| LADDRIVER.EXE |%X26DAA9C4| V1.088 R1 | 17-FEB-1992 |
| | | 12:41:44.95 |
+----------------------------+----------+-----------------+--------------+
| EXEC_INIT.EXE |%X9C486CA0| X-24 | 12-NOV-1991 |
| | | 13:01:22.73 |
+----------------------------+----------+-----------------+--------------+
| FILESERV.EXE |%X0BA19430| X-3 | 30-SEP-1992 |
| | | 04:13:08.69 |
+----------------------------+----------+-----------------+--------------+
| IO_ROUTINES.EXE |%X02C4581A| IORTNR01052 | 9-JAN-1991 |
| | | 16:10:59.95 |
+----------------------------+----------+-----------------+--------------+
| IO_ROUTINES.EXE |%X20C3FD1F| IO_RTNR05053 | 14-JAN-1991 |
| | | 10:08:38.37 |
+----------------------------+----------+-----------------+--------------+
| IO_ROUTINES.EXE |%X457CEC45| 06_054 | 12-NOV-1991 |
| | | 13:01:48.06 |
+----------------------------+----------+-----------------+--------------+
| IO_ROUTINES.EXE |%XE64E15C3| V55R27 | 16-NOV-1992 |
| | | 13:32:10.87 |
+----------------------------+----------+-----------------+--------------+
| IO_ROUTINES.EXE |%X32F3FC3E| 06_054 | 17-FEB-1992 |
| | | 12:45:39.63 |
+----------------------------+----------+-----------------+--------------+
| MSCP.EXE |%X80B4DE11| X-82U14R1 | 12-NOV-1991 |
| | | 12:56:02.89 |
+----------------------------+----------+-----------------+--------------+
| MSCP.EXE |%X976E6AFB| X-17A2 | 26-OCT-1992 |
| | | 12:02:57.16 |
+----------------------------+----------+-----------------+--------------+
| MSCP.EXE |%XD9FAABDF| X-16A1 | 17-FEB-1992 |
| | | 12:41:55.89 |
+----------------------------+----------+-----------------+--------------+
| SHADOW_SERVER.EXE |%X642BBAB3| X-5A1 | 30-SEP-1992 |
| | | 04:23:14.43 |
+----------------------------+----------+-----------------+--------------+
| SHADOW_SERVER.EXE |%X828FB20F| V1.00-12U8 | 17-FEB-1992 |
| | | 12:42:27.40 |
+----------------------------+----------+-----------------+--------------+
| SHDRIVER.EXE |%XF63C1333| X-68U11R1 | 12-NOV-1991 |
| | | 12:56:33.94 |
+----------------------------+----------+-----------------+--------------+
| SHDRIVER.EXE |%XFC8FEEB4| V55R | 20-NOV-1992 |
| | | 12:06:18.13 |
+----------------------------+----------+-----------------+--------------+
| SHDRIVER.EXE |%X371255BD| V543R | 17-FEB-1992 |
| | | 12:41:58.30 |
+----------------------------+----------+-----------------+--------------+
| SYS$CLUSTER.EXE |%X1E6FFAAB| X-12 | 12-NOV-1991 |
| | | 12:57:58.50 |
+----------------------------+----------+-----------------+--------------+
| SYS$CLUSTER.EXE |%X178C85D4| X-13 | 30-SEP-1992 |
| | | 04:17:08.85 |
+----------------------------+----------+-----------------+--------------+
| SYS$CLUSTER.EXE |%XE6EEF18B| X-12 | 17-FEB-1992 |
| | | 12:42:46.56 |
+----------------------------+----------+-----------------+--------------+
| SYSLOA9RR.EXE |%X0CCE24BB| X-22/V5.21/CSG6 | 9-AUG-1990 |
| | | 11:12:37.26 |
+----------------------------+----------+-----------------+--------------+
| SYSLOA9RR.EXE |%X44928D1E| X-22/V5.3X/CSG6 | 9-AUG-1990 |
| | | 11:09:48.59 |
+----------------------------+----------+-----------------+--------------+
|