From:	ADVAX::"tarpit!uunet!inland.com!allebrandi" "	'Tom Allebrandi - Inland Steel Research Labs'" 10-NOV-1991 04:04:01.39
To:		ARISIA.dnet.ge.com!EVERHART
CC:	
Subj:	RE: UUCP 1.3

Received: by ADVAX.dnet.ge.com (utk-mail11 v1.5.1) ; Sun, 10 Nov 91 04:02:00 EST
Received: by ge-dab.ge.com with UUCP id <16408>; Sun, 10 Nov 1991 04:01:31 -0500
Received: from uunet.UUCP by tarpit.aii.com (5.61/SMI-4.0)
	id AA01343; Sun, 10 Nov 91 03:15:15 -0500
Received: from uunet.uu.net (via LOCALHOST.UU.NET) by relay1.UU.NET with SMTP 
	(5.61/UUNET-internet-primary) id AA10931; Sun, 10 Nov 91 00:18:31 -0500
Received: from inland.UUCP by uunet.uu.net with UUCP/RMAIL
	(queueing-rmail) id 001716.9058; Sun, 10 Nov 1991 00:17:16 EST
Received: by inland.com (DECUS UUCP ///1.3-3/2.5/);
          Sat,  9 Nov 91 16:54:54 CST
Date:	Sat, 9 Nov 1991 17:54:54 -0500
Message-Id: <0095163D815C1740.22C006BA@inland.com>
From:	"Tom Allebrandi - Inland Steel Research Labs" <tarpit!uunet!inland.com!allebrandi>
Subject: RE: UUCP 1.3
To:	ARISIA.dnet.ge.com!EVERHART
X-Vms-Mail-To: UUCP%"EVERHART@ARISIA.dnet.ge.com"
X-Vms-Mail-Cc: ALLEBRANDI
 
Glenn - 
 
>  Are you folks planning an update for uucp etc. for the fall tape?
>If not, a local guy here was interested in getting the updates
>since 1.3 since he's having an accvio error enough to be bothersome.
>  Can I ask if you can send the diffs or patches or something, or if
>the current code or patches are on an FTP site somewhere?
 
Yes, we will be having either a 1.3B or a 1.4 on the fall tape. Jamie
hasn't decided on the version number yet.
 
However, if he is getting the accvio I think he is getting, it doesn't
matter what version he is running -- it's not our bug.
 
We have been plauged since the early days of DECUS UUCP by an access
violation in the Mail Handler. The problem is extremely intermittent.
Some people get it all the time, some people never get it.
 
Earlier this summer, I finally traced the problem to a bug in the
Pascal Run Time Library. I SPR'd the problem. Digital has responded to
the SPR, admits that it is a bug, and says that it will be fixed in a
future unnamed release. In the meantime, they have blessed the patch
that I developed.
 
The patch to PASRTL.EXE follows....
 
On a different note, I see that you are still at GE. How are things?
 
--- Tom		Allebrandi@Inland.Com
 
[9-Nov-1991]
 
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 1.3a have been known to exhibit
this behavior. This problem has been seen on all versions of VMS from
4.6 through 5.4-2.
 
This problem has been commonly referred to as "The Infamous ACCVIO"
 
The Access Violation itself has been traced to out of bounds array
reference in the Pascal Run Time library. The problem has been reported
to Digital who agrees that the bug exists and that it will be fixed in
a future release of VAX/VMS.
 
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)
not by Digital. (Digital has agreed that the patch is correct. The
caveat here is that they did not write it.) A number of people have
installed the patch already -- 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 and 5.4-2. 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 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
