Jon P wrote (somewhat tongue in cheek)
<snip>
When did IBM start creating minor CDE's for each csect in a load module?
</snip>

We all know that the answer is "never" and (to the unasked question) "never 
will".

It sounds like the idea is not to find information about the program that blew 
up but rather about the program that called the program (perhaps more than one 
level of indirection away) that blew up. That could be dangerous to do in a 
recovery routine (whose primary goal is to fix while doing no harm, and whose 
secondary goal is to capture diagnostic data, similarly while doing no harm).

SDWANAME, when it's not SDWARBAD, tries to find the module name.  PRB's might 
have an associated CDE (an example of a case where a PRB does not have an 
associated CDE is the PRB created for SYNCH). If the abending RB is a PRB, RTM 
uses that RB's RBCDE1 field (when non-zero) to locate the CDE and extract the 
name. For an IRB, it uses CSVQUERY based on the entry point address in the RB.

The other posters have mentioned a lot of situations that are not possible to 
deal with if using intended interfaces. Sure you could do a CSVQUERY for JPALPA 
and even a NUCLKUP. If you do such things you ought to make sure you have 
nested recovery to handle the case where a problem occurs within those 
routines. And a "general recovery routine" would have to cover the cross-memory 
case where the current primary is not the home address space (RB's are in the 
home address space).

Joe R started this whole discussion with a point about TSO TEST hanging. I 
proved that it does not always do so, so Joe needs to consider the possibility 
that he's doing something in his test environment that is causing this to 
happen.

Peter Relson
z/OS Core Technology Design


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

Reply via email to