Update: resolved.
Thanks to Prakash for quick turn-around testing and valgrind reports of 
potential fixes.

The remaining items in the valgrind report fit into two categories and can be 
ignored: 

1- uses Utl{link/chain/pool} code (eg. 
SipMessage::SipMessageFieldProps::initNames) 
According to Scott: "These are the internal linking structures used by all the 
UtlContainer classes. 
Rather than suffer the overhead and potential heap fragmentation problems 
associated with the frequent allocation and 
freeing of many many small objects, these are allocated in large blocks and 
never returned - they are stored in pools 
for reuse instead. The only way those pools are ever emptied is when the 
process exits." 

2- small number of leaks in code that probably does not clean up correctly on 
shutdown. Most of these are 1,2,3 blocks.
 
Two cases (SipTransaction::doFirstSend and SipTransaction::recurseDnsChildren) 
show 20-60 separate blocks. 
I compared two valgrind reports, one contained results from many hours (50-70) 
into the soak test, 
the other contained results of one hour of soak test. 
The number of leaks was similar in both reports (22/29 for one hour, 29/52 for 
many hours). 
The leak appears to be caused by undeleted SipMessageEvents and the contained 
SipMessages. 

I don't think this is a problem since the number isn't growing much over time 
and an examination of the code 
shows theses items are normally deleted properly. These are probably just lost 
during the shutdown process. 

-ke

_______________________________________________
sipx-dev mailing list [email protected]
List Archive: http://list.sipfoundry.org/archive/sipx-dev
Unsubscribe: http://list.sipfoundry.org/mailman/listinfo/sipx-dev
sipXecs IP PBX -- http://www.sipfoundry.org/

Reply via email to