Getting an assertion failure when instrumenting takes a large amount of memory
The application I am instrumenting allocates large amounts of memory, so much that it exceeds the default 256M heap limit imposed by AIX 5's libc, so I have to compile the application with -Wl,-bmaxdata:0x80000000. When running under insure, the program runs for a while and allocates approx 168M before it crashes with the following:
### Memory/HeapImp.cc:1822: assertion failed
### @(#)$;RCSfile: HeapImp.cc,v $ $Revision: 32.13 $ $Date: 2004/06/18 00:48:50 $
Program received signal SIGTRAP, Trace/breakpoint trap.
I suspect that it may have something to do with the extensive use of the heap the application is doing. Is there something I should be doing differently? Here are the version stamps:
Insure++ Version 7.0.4 (build 2005-06-23)
g++ (GCC) 3.3.3
AIX 5.2
### Memory/HeapImp.cc:1822: assertion failed
### @(#)$;RCSfile: HeapImp.cc,v $ $Revision: 32.13 $ $Date: 2004/06/18 00:48:50 $
Program received signal SIGTRAP, Trace/breakpoint trap.
I suspect that it may have something to do with the extensive use of the heap the application is doing. Is there something I should be doing differently? Here are the version stamps:
Insure++ Version 7.0.4 (build 2005-06-23)
g++ (GCC) 3.3.3
AIX 5.2
Tagged:
0
Comments
You might check
vmstat
ulimit -a
and see and stack and data sizes are set to and bump them up. On AIX there is also an environment variable LDR_CNTRL that you may need to set. Take a look at
http://groups.google.com/group/comp.unix.a...239bd3f49329812
Hopefully the url comes out in this post if not just do a search for LDR_CNTRL on http://groups.google.com and you should be able to find it.