ALERT: Some images may not load properly within the Knowledge Base Article. If you see a broken image, please right-click and select 'Open image in a new tab'. We apologize for this inconvenience.

4094 abend in TIRNCRYP after one line change in Gen action block


Article ID: 221946


Updated On:




A one line change in an action block caused a 4094 abend with the calling PStep transaction and associated load module.  The errors displayed in CICS output are:

14.04.30 S0161159  +GSVC118W (Task) TRAN dump 4094 1/0077 Tran XXXX  1338 Program YYYYYYYY Term * Userid ZZZZZ AbCode * 
14.04.30 S0161159  +CEE1000S z/OS INTERNAL ABEND. ABCODE = 4094 REASON = 0000002C                                       

ASRY 20210629140430 CEE0802C Heap storage control information was damaged.                                                                   
ASRY 20210629140430          From compile unit TIRNCRYP at entry point TIRNCRYP at compile unit offset +00000206 at entry offset +00000206 at address  
ASRY 20210629140430          18777796.                                  
ASRY 20210629140430 CEE0802C Heap storage control information was damaged.                                                                   
ASRY 20210629140430          The traceback information could not be determined.

The Gen 8.6 TIRNCRYX server encryption exit has not been customised from the default and encryption/decryption is not being used.


Release : 8.6

Component : CA Gen Run Time, Blockmode


For this type of abend, the useful information to collect is:
b. A dump or CICS auxtrace. For the latter, if currently suppress trace components then that needs to be changed i.e. use CETR PF4 and make sure trace is active for at minimum AP, TS, XM and XS. 

The abend could only be recreated in one CICS region i.e. in other regions the application ran successfully.
After the region was restarted the problem could not be recreated, so it appears the root cause was related to some transient storage corruption in that particular CICS region.

Additional Information

TIRNCRYP was the old name of server encryption exit TIRNCRYZ.
In Gen 8.5 when each user exit became its own DLL and the exit names were changed, Engineering made TIRNCRYP a routine included in TIRORUNC that itself calls TIRNCRYX (TIRNCRYX resides in DLL TIRNCRYZ). 
CA Gen 8.6 > Reference > User Exits > z/OS User Exits