A copy of the assembler listing might be helpful.

Tony Thigpen

Sebastian Welton wrote on 9/5/19 5:39 AM:
A colleague of mine has been developing an MPF exit which calls System REXX but 
this seems to have thrown up a weird type of error. The program compiles fine, 
is placed in LNKLST, MPFLST is updated and so on however upon the first two 
invocations of the exit a S0C4 with reason code 11 abend occurs but after 
reactivating the exit again, it all works fine. Neither of us is an experienced 
assembler programmer but looking through the code it seems fine: Eventually I 
managed to get a dump which throws up the following information:

Dump Title: 
COMPON=CNZ,COMPID=SC1CK,ISSUER=CNZMIREC,MODULE=CNZS1MPF+1B46CF1A,ABEND=S00C4,REASON=00000011

  PIDS/5752SC1CK RIDS/GENMSGTR#L AB/S00C4 PRCS/00000011 REGS/0C0DA
  RIDS/CNZMIREC#R
  Symptom             Description
  -------             -----------
  PIDS/5752SC1CK      Program id: 5752SC1CK
  RIDS/ITCAUTOT#L     Load module name: GENMSGTR
  AB/S00C4            System abend code: 00C4
  PRCS/00000011       Abend reason code: 00000011
  REGS/0C0DA          Register/PSW difference for R0C: 0DA
  RIDS/CNZMIREC#R     Recovery routine csect name: CNZMIREC
  OTHER SERVICEABILITY INFORMATION
  Recovery Routine Label:  CNZMIPCE
  Subfunction:             Consoles
  SERVICEABILITY INFORMATION NOT PROVIDED BY THE RECOVERY ROUTINE
  Csect name
  Date Assembled
  Module Level
Time of Error Information
  PSW: 07041000 80000000 00000000 1ECDE102
   Instruction length: 06   Interrupt code: 0011
   Failing instruction text: 60224110 D088D7D7 10001000
   Translation exception address: 00000000_1F701800
   Breaking event address: 00000000_1ECDE05E

Basically the MPF exit just traps certain messages which are then passed to a 
System REXX, evaluated and then an action is performed depending upon certain 
criteria so nothing really too complex and as I said, it works once the initial 2 
failures have gone by. We've looked at the CTXT Data Areas and the code looks fine 
in regards to that so we're going on the possibility that the error lies elsewhere. 
Just for information, this is running on z/OS 2.3 but on a ZD&T system (allows 
him to develop this type of stuff without affecting anyone else) with 24GB of 
memory allocated.

Looking at the S0C4 error code, we also suspect that it is the second problem 
although the program does obtain storage:

•       Page-translation exception. This error is caused by one of the 
following:
o       A program that was running disabled attempted to reference storage 
while that storage was paged out. To correct the error, page-fix the storage 
before a program running disabled attempts to reference it.
o       A program attempted to reference storage that had not been obtained. To 
correct the error, allocate the storage before attempting to reference it.
o       A program running in a subspace attempted to reference storage that was 
not accessible to the subspace at the time of error. To correct the error, 
ensure that the program running in a subspace references only the storage 
assigned to that subspace, or storage that can be referenced by all subspaces.

I'm not too sure where he obtained the initial assembler program from but am 
told that it worked elsewhere and I can post excerpts here if required. Any 
pointers, hints or tips would be gratefully accepted.

Sebastian.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN



----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to