When the client views their CICS log they see messages DFHPI0002 CICSQL81 A severe error (code X'100A') has occurred in module DFHPITL.
DFHAP1301 CICSQL81 Language Environment has detected a corruption of its control blocks. The dump trace exception entries point to a runaway task - AICA and the active module at the time of abend is IN25PGM2 which is the CA InterTest for CICS monitoring program.
Testing with the CA InterTest ICT= PARAMETER resolved the problem as outlined below.
The dump trace exception entries point to a runaway task - AICA and the active module at the time of abend is IN25PGM2 which is the CA InterTest for CICS monitoring program.
AP 1942 APLI *EXC* - Runaway FUNCTION(START_PROGRAM)
PROGRAM(CCSAUTOD) CEDF_STATUS(CEDF) EXECUTION_SET(FULLAPI)
ENVIRONMENT_TYPE(EXEC) SYNCONRETURN(NO) LANGUAGE_BLOCK(1D6FA114)
COMMAREA(00000000 , 00000000) LINK_LEVEL(4) SYSEIB_REQUEST(NO)
.
PSW: 078D2400 80000000 00000000 000C99CC Instruction Length: 2
Interrupt Code: 01
Execution key at Program Check/Abend: 8 Addressing Mode: 31
Space at Program Check/Abend: Basespace
.
.
Going to the PSW who was in control when the runaway was detected, this points into module:
| ...y....IN25PGM2 |
| CABA910 ~RMID( |
| RESERVE)~ 201410 |
| 24 12.25 ....... |
| CA INTERTEST FOR |
| CICS R9.1 |
Z/OS
CICS
The research leads us to suspect that the RUNAWAY condition (which causes the initial AICA abend and the following INTE abends) is simply caused by the inevitable overhead of CA InterTest for CICS monitoring the user program.
The CA InterTest ICT= PARAMETER resolved the problem.
From the CA InterTest User's Guide:
ICT: Instruction Counter for Preventing AICA Abends
This command instructs CA InterTest for CICS to issue a DFHKC
TYPE=WAIT,DCI=CICS macro each time the specified program executes nnnnn
instructions. Use this option to prevent incorrect AICA abends in high
CPU-utilization programs where overhead was increased by the CA InterTest
monitoring activity.
To set the instruction counter to prevent an AICA abend, enter:
ICT=nnnnn
nnnnn specifies the number of instructions. Replace nnnnn with a decimal
number between 1 and 65,534.