From: SourceForge.net <no...@so...> - 2008-09-24 01:25:24
|
Bugs item #2081465, was opened at 2008-08-28 21:15 Message generated for change (Comment added) made by buccella You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=712784&aid=2081465&group_id=128809 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Provider Group: Memory Leak Status: Open Resolution: None Priority: 5 Private: No Submitted By: Chris Buccella (buccella) Assigned to: Tyrel Datwyler (tyreld) Summary: OS_Base OperatingSystem Provider leaks some memory Initial Comment: In OSBase_OperatingSystem.c, CIM_OS_DISTRO is calloc'd, but never free'd. get_operatingsystem_data is called (a alot, when indications are enabled) and CIM_OS_DISTRO gets calloc'd memory in get_os_distro(). There is a free() in _fini(), but _fini() is never called. ---------------------------------------------------------------------- >Comment By: Chris Buccella (buccella) Date: 2008-09-23 21:25 Message: I was testing indications using cmpi-base. I noticed that memory usage was increasing on each attempted indication delivery. get_os_distro() is called on each interval, so I simply saw sfcb memory usage creep up over time. This was found while trying to track down 1877578. I suppose ensuring it was the provider process that was growing in size would have been a good idea before pointing fingers (-: ---------------------------------------------------------------------- Comment By: Tyrel Datwyler (tyreld) Date: 2008-09-23 18:24 Message: Chris, can you describe your approach to observing the suspected leak (ie. system load, scripts for recreation, etc). ---------------------------------------------------------------------- Comment By: Tyrel Datwyler (tyreld) Date: 2008-09-02 13:48 Message: Logged In: YES user_id=640104 Originator: NO The _init() and _fini() functions are library constructors and destructors. The are called on library load and unload respectively. Adding an _OSBASE_TRACE call to both shows that they are called, and that CIM_OS_DISTRO is properly freed when the provider is unloaded. However, the use of these init/cleanup functions is frowned upon in favor of a newer means for exporting such function, and can be tracked here: http://sourceforge.net/tracker/index.php?func=detail&aid=2089383&group_id=128809&atid=712784 Is there any valgrind data that may help point towards the actual culprit? ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=712784&aid=2081465&group_id=128809 |