[bit.listserv.vmxa-l] Forwarding a warning from Dick Newson

MAINT@PUCC.BITNET (Melinda Varian) (02/06/90)

<>  <>  <>  <>  <>  <>  <>  <>  <>  <>  <>  <>  <>  <>  <>  <>  <>  <>

Date: 6 February 90, 14:04:32 SET
From: Dick Newson                              NEWSON   at CERNVM
To:   MAINT at PUCC

Melinda,
         this is another quick note to alert VM/XA 2.0 (and 2.1)
users that there is a nasty bug out there.  It is a bug in 2.0 and
not just 2.1 !!  The bug is fixed in 2.1 by PTF UM13204 which is an
update to module HCPHVC, filetype A39788HP.  The AUX entry reads:

A39788HP PUT UM13204 PRG006 RUNNING A HEAVY PAGING LOAD

which is TOTALLY misleading !!!   The bug happens every time you
IPL VM/XA 2.1 second level !!  It has nothing to do with paging
load.  The bug is a bit of Russian roulette in that it adds one to
the wrong word.  It is supposed to update a counter in the PLSBK
but instead adds one to the word at X'70' in to the page following
the PLSBK !!  This is usually a SAVE page used for system saveareas.
If the hapless savearea is inactive at the time, no harm done. If
the savearea is active but SAVEWRK6 is not used, again no harm done.
But if it is active AND uses SAVEWRK6 then the contents of that word
get incremented by one.  This can lead to PRG005 or PRG006 or all
kinds of other incorrect processing or failures.  Fun huh ??

The fix in 2.1 also applies unchanged to 2.0 and I strongly urge
all 2.0 uses to apply it.  It turns out that 2.1 running second
level issue diagnose X'2F0'.  It can handle the spec check that
comes back (not supported in 2.0) but the damage is done in HVC
regardless of whether there is a processing routine for the diagnose
or not.  HCPDGN (new with H36104HP in 2.0) defines diagnose codes
X'200' through X'3FC' as unsupported and all give spec checks.

I'll copy the fix here since it is so simple and obvious.
(I'm having difficulty persuading the Change Team that it is a
2.0 bug because 2.0 doesn't support diagnose X'2F0'!!)

./ * PREREQ: NONE
./ * CO-REQ: NONE
./ * IF-REQ: NONE
./ I 09499690          $ 9499730 40                   10/31/89 16:25:34
         LR    R9,R4         SAVE THE DIAG CODE                @VA39788
         SL    R9,PFX512     SUBTRACT 200 FROM THE DIAG NUMBER @VA39788
*                            TO GET INDEX INTO PLSDIAG2        @VA39788
./ R 09500640          $ 9500720 80                   10/31/89 16:25:34
         L     R3,0(R2,R9)        GET NUMBER SO FAR            @VA39788
./ R 09501020          $ 9501100 80                   10/31/89 16:25:34
         ST    R3,0(R2,R9)        SAVE THE NEW NUMBER          @VA39788

dick....