Subscribe to this Blog

Your email:

IT Managers: Get the Techsys Advantage!

Click here to learn more about our FREE 7-Day trial.

Techsys Mainframe Blog

Current Articles | RSS Feed RSS Feed

z/OS Problem Determination Series - Day 14

 | Submit to Digg digg it | Submit to Reddit reddit | Add to delicious delicious | Submit to StumbleUpon StumbleUpon | Share on Facebook Facebook | Share on Twitter Twitter | Share on LinkedIn LinkedIn 

Today's discussion is related to the x22 abend codes. Up to this point, we have dealt with exception conditions that were cuased by the programmer or the person running the programmer. The x22 abends are typically caused by an outside force.

The x22 abend series is not one that seems to correlate with a single SVC that initiates these abends. If someone can make sense of how SVC 22 (MGCR/QEDIT) is related to any of these, please educate me!

The first two x22 abends that we want to discuss are S122 and S222. These abends are both initiated as a result of the master console operator, or someone via SDSF, cancelling your job. The S222 abend is a straight operator cancel command (C JOBNAME), while the S122 abend is a cancel with a DUMP command (C JOBNAME, DUMP). It is very important to remember that if you cancel your job using the first method, you will NOT receive a SYSUDUMP. You must use the second method, to get the S122 abend and the corresponding SYSUDUMP.

The S322 abend is issued when the time limit for your job has been exceeded. The system programmer at your shop sets artificial limits by JOBCLASS and other criteria in the JES paramters and SMF exit on the maximum CPU time allowed by your program. Therefore, we have to choose a JOBCLASS to correspond with our anticipated CPU usage. If we exceed this value, due to a program error that results in a loop, our job is cancelled with the S322 abend. This is done to preserve the integrity of the other users, jobs, and workload running on z/OS - not to punish you. Some shops let you override this value in your JCL, allowing you to alter the value without making a change to the system configuration.

The S522 abend is caused when your job has been waiting longer than a preset time. In most systems this is 15 minutes, but I have seen it as high as an hour. The most common occurrence of the S522 abend it a TSO timeout. If you don't hit enter in TSO within 15 minutes, you are logged off automatically to free up resources. Another common, although I haven't used a real tape drive in quite some time, is the MOUNT for your tape on a tape drive by the tape operator. If the tape is not mounted within 15 minutes, your job is cancelled.

The S722 abend is generated when the output limit is exceeded by your job. For instance, if you are generating a report and your program starts looping you will ultimately receive this abend if limits are in place. Some shops let you override this value in your JCL, allowing you to alter the value without making a change to the system configuration.

The S822 abend occurs when the REGION requested by your job is not available to the JES initiator. If the private area size (where your job runs) is 8-10MB below the line, and your job requests 12MB REGION, you will receive this error. The typical solution is to make sure your job can run above the line (where you have close to 2GB of REGION available. The other alternative is to lowere your REGION request to the 8-10MB range that is avalable on your system.

A SA22 abend occurs when the master console operator or system programmer has to FORCE your job out of the system. Most likely a CANCEL command was issued and the operating system couldn't get rid of your job. There is usually a system problem when an application program cannot be removed via the CANCEL command. Other possibilities include an operator reply that wasn't responded to, or a system software problem. It is usually good to get a standalone dump (dump the entire operating system) when this occurs, and have IBM review the dump.

The remaining x22 abends are rare and there is not a high liklihood that you will ever see any of these. If you know of one that wasn't mentioned, let me know. Always, you can go to IBM's LookAt web page to get further information.

Tomorrow, we will wrap up the z/OS Problem Determination (Introduction) Series. There are still a few common abends that didn't fit into any of the groups we discussed this week. 

Comments

The x22 abend, while not directly related to the MGCR(E) macro, is caused by an outside influence, ie a CANCEL command. Since SVC 34 (x'22') is used to issue commands, there is a minor link.
Posted @ Tuesday, May 26, 2009 4:17 PM by Wayne
Thanks for the comment! I tried to make that connection, but suspected there was some "old time" reference from the System 360 days that would pull this one into perspective.  
 
I asked a few people, but even the guys that typically "make something up" (mostly to get me to go away) didn't have good answers either...  
 
We will call this an "official answer" until corrected by someone else. 
 
RJ
Posted @ Tuesday, May 26, 2009 4:32 PM by Ralph Johnson
Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics

Receive email when someone replies.