Smart/RESTART job gets S0C4 abends after application Cobol program changes
search cancel

Smart/RESTART job gets S0C4 abends after application Cobol program changes

book

Article ID: 278962

calendar_today

Updated On:

Products

Smart Restart

Issue/Introduction

After some declaration of variables in an application Cobol program were changed, a Smart/RESTART Job got several  abends S0C4 in a Smart/RESTART load module. Attempted to provide more storage with the Smart/RESTART CKPT_SIZE parameter but it did not help. 
 

SYSTEM COMPLETION CODE=0C4  REASON CODE=00000004                     
 TIME=09.17.04  SEQ=49497  CPU=0000  ASID=0105                       
 PSW AT TIME OF ERROR  478D0F00   B41E96C4  ILC 4  INTC 04           
   ACTIVE MODULE           ADDRESS=00000000_341CD000  OFFSET=0001C6C4
   NAME=RFA$TSR                                                      
   DATA AT PSW  341E96BE - 40404040  40404040  40404000              
   GR 0: 00000000_00000030   1: 00000000_000F232C                    
      2: 00000000_00006CC4   3: 00000000_00000000                    
      4: 00000000_007A3D90   5: 00000000_007FF8F8                    
      6: 00000000_0007A290   7: 00000000_00F8B000                    
      8: 00000000_00000000   9: C9C5C1E5_800060D0                    
      A: 00000000_000F2000   B: 00000000_00012100                    
      C: 00000000_00031248   D: 00000000_000F2294                    
    E: 00000000_00031606   F: 00000000_B41E96C0                    

Resolution

The Smart/RESTART CKPT_SIZE parameter has nothing to do with the problem.
  
The abend S0C4 in load module RFA$TSR was caused by a storage overlay. 
  
Note the DATA AT PSW are X'40' characters . 
 
Most likely, the changed variables are associated with the files I/O areas (records), causing I/O buffer overlays. You need to check your declarations of variables to avoid the memory overlays over the load module RFA$TSR. 
  
The overlay over the Smart/RESTART load module is not always the same as it depends on the affected storage areas, but the solution is to have the right length in the declaration of variables in the application Cobol program.