From:	MERC::"uunet!DRYCAS.CLUB.CC.CMU.EDU!synful+vmsnet-errors" 20-JUL-1992 10:01:02.11
To:	mccall!vmsnet-newsgate
CC:	
Subj:	Infamous ACCVIO returns with VMS 5.5 upgrade

Warning!

With VMS 5.5 (and by implication 5.5-1) you get a new PASRTL.EXE. The
bug that causes the "infamous accvio" has not yet been fixed. Since you
get a new image, you may start getting "infamous accvio's" again.

If you don't have the patch handy, or haven't a clue what I am
referring to, the description follows my signature.

--- Tom
Tom Allebrandi             | Mail guru   - DECUS UUCP Development Team
Inland Steel Research Labs | Chairperson - VMSnet Working Group, DECUS VAX SIG
East Chicago, IN           | Internet:  allebrandi@inland.com
219 399 6306               | UUCP:      ...!uunet!inland!allebrandi
                           | DECUServe: allebrandi

[17-Jul-1992 - Changes: Updated DECUS UUCP and VMS version information]

Under a certain set of circumstances, the cause of which is unknown,
the DECUS UUCP Mail Handler crashes with an Access Violation. All
versions of the Mail Handler up through 2.0 have been known to exhibit
this behavior. This problem has been seen on all versions of VMS from
4.6 through 5.5. It should occur on VMS 5.5-1 as well.


This problem has been commonly referred to as "The Infamous ACCVIO"

The Access Violation itself has been traced to an out of bounds array
reference in the Pascal Run Time library. The problem has been reported
to Digital who has stated that it will be fixed in a future release of
VAX/VMS. (The recommended fix is NOT in the PASRTL.EXE distributed with
VMS 5.5. VMS 5.5-1 does not replace PASRTL.EXE, so the problem remains
there as well.)

The following is a patch for the Pascal RTL which fixes the out of
bounds array reference. This patch was developed by me (Tom Allebrandi)
and NOT DIGITAL. (Digital has stated that the results of the patch are
correct, you just need to keep in mind that they did not develop it.) A
number of people have installed the patch -- none have reported any ill
effects of doing so.  Also, none of those who have installed the patch
have since reported an "Infamous ACCVIO".

Please contact me directly if you have questions or comments.


--- PASRTL patch for the DECUS UUCP Infamous Accvio ---

This patch has been tested on VMS 5.2-1, 5.3, 5.4-2, 5.5, and 5.5-1. I
am not an expert at writing patch scripts -- make sure that you
understand every message that is generated.

1) Set your default directory to SYS$COMMON:[SYSLIB].

2) Make a backup copy of PASRTL.EXE. (Probably by COPYing it to
   something line PASRTL.EXE_UNPATCHED.)

3) Cut out the following command procedure and execute it.

4) If all looks well, check to see if PASRTL.EXE is installed. If it
   is, "INSTALL REPLACE" it.

Be sure to keep your backup copy of PASRTL.EXE handy. You will likely
want to restore it before doing any VMS upgrade. 

$!--- Cut here ---
$ patch pasrtl.exe
examine/instruction pas$writeln2+2
examine/long .+2
define jmp_target=\
examine/long
define pc_base=.
define writeln2=pc_base+jmp_target
define patch_point=writeln2+103
define beql_target=patch_point+14
verify /instruction patch_point
"movl b^0ec(r7),r0"
"cmpl r0,b^0f0(r7)"
"beql beql_target"
exit
examine/instruction patch_point
examine/instruction
replace/instruction .
"cmpl r0,b^0f0(r7)"
exit
"cmpl r0,b^0e8(r7)"
exit
update
exit
$!--- End of patch ---

--- Tom
Tom Allebrandi             | Mail guru   - DECUS UUCP Development Team
Inland Steel Research Labs | Chairperson - VMSnet Working Group, DECUS VAX SIG
East Chicago, IN           | Internet:  allebrandi@inland.com
219 399 6306               | UUCP:      ...!uunet!inland!allebrandi
                           | DECUServe: allebrandi

