IBM Support

Use of CANCEL, FORCE, and FORCE ARM

Troubleshooting


Problem

If a job appears to be stuck or hanging, the CANCEL command can be used to terminate the address space. Some jobs are non-cancelable, in which case the FORCE jjjjjjjj,ARM command must be used in place of the CANCEL command. This FORCE ARM command is comparable to a CANCEL, and is much different than the FORCE command issued without the ARM parameter specified.

Diagnosing The Problem

When a job is in this hung or stuck condition, the following steps are recommended:

1. Collect a console dump of the hung job
Before attempting to cancel the job, consider collecting a console dump of the address space.  This dump will be useful in the diagnosis of the cause of the hang.  
 DUMP COMM=(Dump of hang)                                    
 R xx,JOBNAME=(jjjjjjjj),CONT                      
(where jjjjjjjj is the jobname)                                                  
 R xx,SDATA=(ALLNUC,CSA,LPA,LSQA,PSA,RGN,SQA,SUM,TRT,SWA),END
2a. Attempt to cancel the job 
To cancel a TSO user, specify: 
 C U=uuuuuuuu   (where uuuuuuuu is the TSO user ID)
Otherwise, specify: 
 C jjjjjjjj   (where jjjjjjjj is the jobname)
If there are multiple jobs with the same name, you will receive:
  IEE842I jjjjjjjj   DUPLICATE NAME FOUND- REENTER COMMAND WITH 'A=' KEYWORD
 The following system command can be used to see what ASID's exist for that jobname:
  D A,jjjjjjjj
 
 When the ASID of the job to cancel is known, you can issue the following command:
  C jjjjjjjj,A=xxxx       (where jjjjjjjj is the jobname and xxxx is the hexadecimal ASID number )
 If the CANCEL command is accepted, you will see the following message and can proceed to step 3:
  IEE301I jjjjjjjj            CANCEL COMMAND ACCEPTED
 
 However, if this job does not accept CANCEL, you will see the following message and will need to proceed to step 2b:
  IEE838I jjjjjjjj           NON-CANCELABLE - ISSUE FORCE ARM

  
2b. Attempt to FORCE ARM the job 
    
FORCE ARM is similar to a CANCEL, and very different from a regular FORCE (without the ARM parameter). This command is used in place of a CANCEL for a non-cancelable job. 
 FORCE jjjjjjjj,ARM
 
This command results in the following message:
 IEE301I jjjjjjjj           FORCE ARM COMMAND ACCEPTED
   
  
3. Allow some time for the job to terminate.
   
Once the CANCEL or FORCE ARM has been accepted, a job might take seconds or minutes to clean up and terminate.  If the job does not terminate, you will need to consider a more forcible termination.  

   
4. Capture a dump that includes the hung job, as well as ASID 1 (*MASTER*)  and ASID 4 (TRACE).  Including the TRACE address space ensures that any captured system trace table snapshots are dumped.
 DUMP COMM=(Dump after unsuccessful cancel)                                    
 R xx,JOBNAME=(jjjjjjjj),ASID=(1,4),CONT                  
(where jjjjjjjj is the jobname)   
 R xx,SDATA=(ALLNUC,CSA,LPA,LSQA,PSA,RGN,SQA,SUM,TRT,SWA),END

  
5. FORCE the job
It is important to understand that using the FORCE command to terminate an address space results in task termination being skipped.  The address space immediately enters memory termination.  Use of the FORCE command can cause unpredictable results.  It should be used only as a last resort, with the understanding that an IPL might be necessary if the FORCE does not complete cleanly.  Upon understanding the risk, you might choose to proceed with the FORCE command:
 FORCE jjjjjjjj  
 
This command results in the following message:
 IEE301I jjjjjjjj             FORCE COMMAND ACCEPTED 
 FORCE causes an ABENDA22 to terminate the address space and might produce a message similar to the following:
 IEF743I INIT     FORCED - CODE SA22 - IN ADDRESS SPACE 0027
 IEF743I jjjjj    FORCED - CODE SA22 - IN ADDRESS SPACE 0027.
If the FORCE command is accepted but the address space still does not terminate, collect the following dump:
 DUMP COMM=(Dump after unsuccessful force)                                    
 R xx,JOBNAME=(jjjjjjjj),ASID=(1,4),CONT                   (where jjjjjjjj is the jobname)   
 R xx,SDATA=(ALLNUC,CSA,LPA,LSQA,PSA,RGN,SQA,SUM,TRT,SWA),END
  
To determine the reason that the job was initially hung, open a support ticket with the product or function that was in the hung state. To determine why the CANCEL or FORCE command was unsuccessful, open a support ticket with the z/OS Recovery Termination Manager (RTM) component.  Provide the dumps, as well as a SYSLOG that includes the previously mentioned commands.   

*NOTE:  The FORCE command supports a TCB= parameter, which can be used to cause an abnormal termination of the specified TCB.  This parameter is useful when a particular TCB is known to be causing the hang.
 
For a TSO user, specify the following command:
 FORCE  U=uuuuuuuu,TCB=xxxxxx
 
Otherwise, specify: 
 FORCE jjjjjjjj,TCB=xxxxxx
 
The TCB must be specified as a 6-digit hexadecimal address, NOT 8 digits with leading 00s.
This command results in the following message:
IEE301I  FORCE TCB COMMAND ACCEPTED
  

 

Document Location

Worldwide

[{"Type":"MASTER","Line of Business":{"code":"LOB56","label":"Z HW"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG90","label":"z\/OS"},"ARM Category":[{"code":"a8m0z00000009ySAAQ","label":"z\/OS-\u003ERTM \u0026 Dumping Services-\u003ERTM"}],"ARM Case Number":"","Platform":[{"code":"PF035","label":"z\/OS"}],"Version":"All Versions"}]

Document Information

Modified date:
30 May 2023

UID

ibm16998435