Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here


Pls. help "Heap storage control info. damaged"

Pls. help "Heap storage control info. damaged"

Pls. help "Heap storage control info. damaged"

Hi All,
Mine is an IMS program and I get a 4038 abend at the end of the program, where it calls the ACR balancing routine. This abend happens inside the balancing sub routine and not in my program.

This is the message I get :

CEE3703I In HANC Control Block, the Eye Catcher is damaged.
CEE3704I Expected data at 1A333000 : HANC.
CEE0802C Heap storage control information was damaged.

I'm not able to use the HEAPCHK=ON in the JCL and check the heap allocation. Any help is much appreciated!

Also, when I remove the balancing routine, my program works fine.


RE: Pls. help "Heap storage control info. damaged"

Looks like the balancing routine is trashing heap storage.  Is the balancing routine LE-compatible?  

RE: Pls. help "Heap storage control info. damaged"

Hi 3gm,
Sorry for the delay in reply. Actually the balancing routine is a 3rd party vendor provided, only load available program and ours is a NON LE version.

I think the pgm is to definetly abend if the main program is run with any of the LE options then.. is this not true?
is there any other way I can fix this problem?

I also believe that this problem can be attributed to any index out of range happenning in the main program, which might affect the memory area of the balancing subroutine.
How do I exactly trap the index out of bound problem after I recompile my pgm with the SSRANGE option?


RE: Pls. help "Heap storage control info. damaged"

Well, the routine doesn't have to be LE-compatible if you call it from COBOL and it's assembler, so that would probably OK.  If the routine is COBOL, then you MAY need to get an LE-compatible version; I'm not sure on that one.  I assume the balancing routine is statically called (i.e. is link edited with the calling routine)?  If it's dynamically called and was link edited with the non-LE runtime modules, that could cause problems.

As for SSRANGE, I'd include the TEST(NONE,SYM) option as well.  That way, if a subscript or reference modification is out of range, the program will abend and you'll get a nicely formatted dump of COBOL storage including the line # of the statement where the out of range condition occurred.  You don't have to do anything special, just compile the program with those options and then run it.

Good luck.


Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members!

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close