CICS AICA — runaway task
A task kept the processor without giving up control for longer than the region's runaway interval (ICVR), so CICS ended it. Usually a loop in the program.
What happened
A transaction ended with abend AICA and CICS took a transaction dump. Other users may have seen the region slow down just before.
DFHAC2206 10:31:07 CICSPRD1 Transaction RPT2 failed with abend AICA. Updates to local
recoverable resources backed out.What it means
CICS watches how long a task keeps control of the processor without giving it up. The limit is the ICVR system initialization parameter, in milliseconds. IBM's default is 2000; it can be 0 (no runaway checking) or 250 up to 2,700,000, in multiples of 250. A task that goes past it is ended with AICA.
Only time with the processor counts. A request that can suspend the task resets the timer, so a loop that keeps issuing such requests is not caught by AICA. A transaction can also have its own runaway value (RUNAWAY); 0 there turns the check off for that transaction.
Typical causes
- A PERFORM UNTIL whose condition never becomes true.
- A search through a large table in storage, written so that it never stops.
- A program that does far more work in one task than it was designed for.
The look-alike AICA cannot catch
If the loop issues requests that can suspend it, the region just gets slow. Nothing abends. Find it by elapsed time and CPU: CEMT I TASK, or your site's CICS monitor. Then PURGE it (FORCEPURGE only if PURGE does not work) and disable the transaction until it is fixed.
Where to look
- The transaction dump: the program and offset where it was running.
- The program's loop: the condition that should end it.
- CEMT I TASK and your monitor, if the region is slow but nothing has abended.
How to fix it
- Find the loop in the program and fix its end condition.
- Test it with the data that triggered it.
- Do not just raise ICVR: a higher limit only lets the loop run longer.
Interview question
A CICS region is slow, one task has run for 15 minutes, but there is no AICA. Why not, and what do you do?
Stuck on something else?
Ask the community or search the full course.