Peter Relson wrote:

Yes, you are misreading the dump. Not that it's obvious...

Thanks for that explanation!  Makes perfect sense - I should have
thought about it myself :-)

My guess is that my earlier caution is what came to pass. You did not show the time of error regs. You should have. You will probably see that the high half of reg 14 is not zero. And therefore the part of the expansion that picks up the PC number did not fetch from the intended location (because you did not tell the expansion that you are, or even might be, AMODE 64). And if you looked at reg 14, it probably was not the PC number for ESTAEX. Once the PC number was fetched the PC was issued and apparently it's a PC that requires authorization that you do not have. Hence PIC 2.

Hmm - you seem to be on the best path for sure - but every
dump of the registers is telling me that the high-halves are all zero.

*but*

What is more important is this:



                 GPRS AT TIME OF ERROR

1JOB AOUT STEP AOUT TIME 170714 DATE 20083 ID = 000
                        PAGE 00000023


      0-3  00000000  1F9A4010  1F9A42B0  1F9A4010

      4-7  01700D58  1F9A4090  1F90A7A8  1F98D160

      8-11 1F9A4010  1F9A4090  FFFFFF0F  01602080

     12-15 1F90B080  1F9A4090  00000000  1F9A4090


Somehow R14 is zero - which likely doesn't work too well either :-)

Looking at the expansion of ESTAEX - perhaps (somehow) R14 got some bits
in the high-half (as you suggest) before the ESTAEX, then this expanded code
wouldn't work in AMODE 64 (seems like you'd bump into an exception before
you got to the PC - but maybe this is just *really* lucky?)

So - if R14 has bits in the high-half, and we're in AMODE 64 and we have:

000016D8 1813 2863+ LR 1,3 LOAD PARAMETER REG 1 02-IHBIN 000016DA 5061 0010 00000010 2864+ ST 6,16(1,0) STORE USER EXIT ADDRESS @P3C 01-ESTAE 000016DE 94DF 1000 00000000 000000DF 2865+ NI 0(1),223 TURN OFF FLAG BITS 01-ESTAE 000016E2 9604 1000 00000000 00000004 2866+ OI 0(1),4 FLAGS FOR ESTAEX @L1C 01-ESTAE 000016E6 5020 1008 00000008 2867+ ST 2,8(0,1) MODIFY LIST - PARAM ADDR 01-ESTAE 000016EA 9201 1003 00000003 00000001 2868+ MVI 3(1),1 SET VERSION NUMBER 01-ESTAE 000016EE 4100 0000 00000000 2869+ LA 0,0(0,0) CREATE & PARMLST EQ 0 @L1C 01-ESTAE 000016F2 58E0 0010 00000010 2870+ L 14,16(0,0) GET CVT ADDRESS 01-ESTAE 000016F6 58EE 0304 00000304 2871+ L 14,772(14,0) GET SFT ADDRESS 01-ESTAE 000016FA 58EE 00B0 000000B0 2872+ L 14,176(14,0) GET LX/EX 01-ESTAE 000016FE B218 E000 00000000 2873+ PC 0(14) ISSUE PC 01-ESTAE


Then - thing could easily go *very* wrong... But, each of the L's of R14 isn't going to change the bits in the high-half... and R14 has zero in the high-half at the time of the error... or - maybe the dump just isn't telling me that something else is in there.


Thanks for the suggestion!  I'll give clearing R14 a try!

 - Dave R. -


--
[email protected]                        Work: (919) 676-0847
Get your mainframe programming tools at http://www.dignus.com

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to