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 [email protected] with the message: INFO IBM-MAIN

Reply via email to