Investigating interval control waits

If you have a task that is not running and interval control seems to be involved, you can use this information to understand the possible causes.

About this task

The following is a list of possible causes, and suggestions to consider before you carry out a detailed investigation. If these do not give you enough information in order to solve the problem, go to Finding the reason for a DELAY request not completing for further guidance. If, in the course of your preliminary investigations, you find that the task is waiting because the terminal where it is due to start is unavailable, turn to Investigating terminal waits.

Procedure

  • A terminal task that should have been initiated with an EXEC CICS START command did not start when you expected it to. CEMT INQ TASK does not recognize the task, because it has not yet been attached.

    One approach is to identify the terminal where the subject task should have started, and see if that terminal is unavailable. You can use CEMT INQ TERMINAL to find the status of the terminal.

  • You have found that a task is waiting on resource type ICGTWAIT.
    This means that the task has issued an EXEC CICS RETRIEVE WAIT command, and the data to be retrieved is not available.
    1. Find the target TERMID for other tasks issuing EXEC CICS START commands to supply more data.
      The resource name gives you the name of the terminal running the task in the ICGTWAIT and therefore the target TERMID.
    2. If there are no tasks in the system that would issue START commands for this TERMID, you need to determine whether this is reasonable.
    3. If there are such tasks in the system, check to see why they are not issuing the required START commands.
      They might, for example, be waiting for terminal input.
    4. Look at the deadlock timeout interval (DTIMOUT) and the system purge value (SPURGE) for the task issuing the EXEC CICS RETRIEVE WAIT command.
      If there is no DTIMOUT value or SPURGE=NO has been specified, the task will wait indefinitely for the data.
    Note: The task waiting on resource ICGTWAIT might not be the one that you first set out to investigate. Any AID task scheduled to start at the same terminal cannot do so until the current task has terminated.
  • You have found that the task is waiting on resource type ICWAIT. This means that the task issued an EXEC CICS DELAY command that has not yet completed.
    1. Check that the interval or time specified on the request was what you intended.
      If you believe that the expiry time of the request has passed, that suggests a possible CICS® error.
    2. Consider the possibility that the task was the subject of a long DELAY that was due to be canceled by some other task. If the second task failed before it could cancel the delay, the first would not continue until the full interval specified on DELAY had expired.
  • A task that issued EXEC CICS POST did not have its ECB posted when you expected it to. Check to make sure the interval or time you specified was what you intended.
  • A task that issued EXEC CICS WAIT EVENT was not resumed when you thought it should have been.
    Assuming the WAIT was issued sometime after a POST:
    1. Check to make sure that the interval or time specified on the POST was what you intended.
    2. If it is, check to see whether the ECB being waited on was posted. If it has been posted, that indicates a possible CICS error.

Results

If none of the simple checks outlined here help you to solve the problem, read the following information.