Smart questions
Smart answers
Smart people
INTELLIGENT WORK FORUMS
FOR COMPUTER PROFESSIONALS

Member Login




Remember Me
Forgot Password?
Join Us!

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips now!
  • 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!

Join Tek-Tips
*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.
Jobs from Indeed

Link To This Forum!

Partner Button
Add Stickiness To Your Site By Linking To This Professionally Managed Technical Forum.
Just copy and paste the
code below into your site.

Pls. help "Heap storage control info. damaged"

manojgovindan (Programmer) (OP)
4 Feb 03 18:26
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.

Thanks,
Manoj.
3gm (Programmer)
5 Feb 03 11:16
Looks like the balancing routine is trashing heap storage.  Is the balancing routine LE-compatible?  
manojgovindan (Programmer) (OP)
6 Feb 03 20:26
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?

Thanks,
Manoj.
3gm (Programmer)
6 Feb 03 22:01
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.

Glenn

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