[omniORB] Memory leak checkers compatible with omni

Dmitry Samersoff dms at wplus.net
Wed Nov 10 18:14:46 GMT 2004


Jan Olderdissen wrote:

 > I've been running two commercial memory leak checking tools against an
 > application that makes heavy use of omniORB 4.0.3 on Win2k/XP. Sadly,
 > haven't had good luck with either of them. Results below.


I use valgrind, mpatrol and memtrace under linux.

I) Valgrind - excellent, but:

1. It doesn't allow to check leaks between two points of program
    (e.g between open() and close() )

2. It reports strange leaks like
"0 bytes in 25 blocks are definitely lost in loss record 1 of 22"

3. It reports lots of leaks in typecodes
208 bytes in 3 blocks are definitely lost in loss record 13 of 22
....
    by 0x405A81EF: omni::TypeCode_alias::NP_unmarshalComplexParams
    by 0x405B37ED: omni::TypeCode_marshaller::unmarshal
    by 0x405A2263: CORBA::TypeCode::unmarshalTypeCode(cdrStream&)
    by 0x405B51E7: CORBA::TypeCode_member::operator<<=(cdrStream&)
    by 0x40553816: CORBA::Any::operator<<=(cdrStream&)
    by 0x8088CF3: _0RL_cd_AFBEE869D0B7BC7D_e4000000::unmarshalArguments
....

I can't understand is it true memory leaks or just reports ...


II) mpatrol -
      Very good, has lots of turning parameters but

1. too big overhead, server slowdown more than working under valgrind.
2. time to time server doesn't start due mutex deadlock
3. debug symbol resolution works strange

III) MemTrace - reasonable
(patched version here: http://devnull.wplus.net/pub/memtrace.zip)

Very basic leak checker, but it have no viewable performance disgrade - 
so it could be kept enabled on QA server.


-- 
Dmitry Samersoff
dms at samersoff.net, http://devnull.wplus.net
ICQ: 3161705
* There will come soft rains ...




More information about the omniORB-list mailing list