RE: seeing memory leak in cimprovagt process

<[email protected]>
Newsgroups gmane.network.open-pegasus.general
Message-ID <[email protected]>
Hi All,

Thanks for all of your response.
We have configured cimserver "forceProviderProcesses=false", so that all the provider processes will be in the same context.
Now, we run "Valgrind" for cimserver process. And then, we have generated one event for our provider and stop the cimserver process after that.

Then from "Valgrind" memory leak report, we can see many definitely lost memory issue are coming from Pegasus. Please check the attached file for details of it. Is this a known issue?

Please give your valuable input. Thanks in advance.

Regards,
Pialy



From: Devchandra Leishangthem [mailto:[email protected]]
Sent: Friday, August 03, 2012 9:52 PM
To: Pialy Ghosh (WT01 - Manufacturing & Hi Tech)
Cc: Anirban Bhattacharyya (WT01 - Product Engineering Services); [email protected]
Subject: Re: seeing memory leak in cimprovagt process

Is the leak seen in a particular cimprovagt or for all the provider processes?
If It is seen in some particular agent processes, Then most probably it is leak in the corresponding provider.
See if running under a memory debugger helps for that particular agt processes.

Warm Regards
D>L> Meetei
9538270270
[IBM]
IBM India Software Lab, STG
6th Floor, A0202,
EGL -D,Bangalore, India



From:        <[email protected]>
To:        <[email protected]>,
Cc:        <[email protected]>
Date:        08/03/2012 05:37 PM
Subject:        seeing memory leak in cimprovagt process
________________________________



Hi,

We are seeing some memory leak in cimprovagt process. We are running open Pegasus, cimserver in a windows 64 bit OS. Our provider is running on cimserver.
After few days long run we can see, memory usages is increased. I have searched in internet and find out same kind of problem is mentioned by others also. So, just wanted to know, is this a known issue in Pegasus? If not, then we will come to know that, issue is coming from our provider.

Your valuable input will be very helpful for us to analyze the issue.

Thanks & Regards,
Pialy



Please do not print this email unless it is absolutely necessary.

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments.

WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email.

www.wipro.com

Please do not print this email unless it is absolutely necessary. 

The information contained in this electronic message and any attachments to this message are intended for the exclusive use of the addressee(s) and may contain proprietary, confidential or privileged information. If you are not the intended recipient, you should not disseminate, distribute or copy this e-mail. Please notify the sender immediately and destroy all copies of this message and any attachments. 

WARNING: Computer viruses can be transmitted via email. The recipient should check this email and any attachments for the presence of viruses. The company accepts no liability for any damage caused by any virus transmitted by this email. 

www.wipro.com
image001.gif (image/gif, 1.1 KB) - not displayed
valgrind_all_report.txt (text/plain, 13.6 KB)
upp:  130 Fedora-Core-6-hack3-ld25
==5349==
==5349== IN SUMMARY: 97003 errors from 702 contexts (suppressed: 130 from 1)
==5349==
==5349== malloc/free: in use at exit: 232,639 bytes in 1,233 blocks.
==5349== malloc/free: 658,748 allocs, 657,515 frees, 89,156,559 bytes allocated.
==5349==
==5349== searching for pointers to 1,233 not-freed blocks.
==5349== checked 21,682,800 bytes.
==5349==
==5349== Thread 1:
==5349==
==5349== 12 bytes in 1 blocks are definitely lost in loss record 7 of 101
==5349==    at 0x4005B65: operator new(unsigned) (vg_replace_malloc.c:163)
==5349==    by 0x798AD6D: ???
==5349==    by 0x79861EE: ???
==5349==    by 0x79862A8: ???
==5349==    by 0x52C58F2: ???
==5349==    by 0x52B2A5C: ???
==5349==    by 0x52B76E0: ???
==5349==    by 0x4376059: Pegasus::BasicProviderManagerRouter::processMessage(Pegasus::Message*) (BasicProviderManagerRouter.cpp:391)
==5349==    by 0x4363234: Pegasus::ProviderManagerService::_processMessage(Pegasus::CIMRequestMessage*) (ProviderManagerService.cpp:850)
==5349==    by 0x436489E: Pegasus::ProviderManagerService::handleCimRequest(Pegasus::AsyncOpNode*, Pegasus::Message*) (ProviderManagerService.cpp:388)
==5349==    by 0x436561C: Pegasus::ProviderManagerService::handleCimOperation(void*) (ProviderManagerService.cpp:268)
==5349==    by 0x462DEDD: Pegasus::ThreadPool::_loop(void*) (ThreadPool.cpp:222)
==5349==
==5349==
==5349== 20 bytes in 5 blocks are definitely lost in loss record 24 of 101
==5349==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==5349==    by 0x55064C9: ???
==5349==    by 0x798AB2A: ???
==5349==    by 0x79861F6: ???
==5349==    by 0x79862A8: ???
==5349==    by 0x52C58F2: ???
==5349==    by 0x52B2A5C: ???
==5349==    by 0x52B76E0: ???
==5349==    by 0x4376059: Pegasus::BasicProviderManagerRouter::processMessage(Pegasus::Message*) (BasicProviderManagerRouter.cpp:391)
==5349==    by 0x4363234: Pegasus::ProviderManagerService::_processMessage(Pegasus::CIMRequestMessage*) (ProviderManagerService.cpp:850)
==5349==    by 0x436489E: Pegasus::ProviderManagerService::handleCimRequest(Pegasus::AsyncOpNode*, Pegasus::Message*) (ProviderManagerService.cpp:388)
==5349==    by 0x436561C: Pegasus::ProviderManagerService::handleCimOperation(void*) (ProviderManagerService.cpp:268)
==5349==
==5349==
==5349== 41,128 (20 direct, 41,108 indirect) bytes in 1 blocks are definitely lost in loss record 32 of 101
==5349==    at 0x4005B65: operator new(unsigned) (vg_replace_malloc.c:163)
==5349==    by 0x52D9F30: ???
==5349==    by 0x79864F4: ???
==5349==    by 0x798B67F: ???
==5349==    by 0xCD949A: start_thread (in /lib/libpthread-2.5.so)
==5349==    by 0xC3042D: clone (in /lib/libc-2.5.so)
==5349==
==5349==
==5349== 40,621 (20 direct, 40,601 indirect) bytes in 1 blocks are definitely lost in loss record 38 of 101
==5349==    at 0x4005B65: operator new(unsigned) (vg_replace_malloc.c:163)
==5349==    by 0x52D27F0: ???
==5349==    by 0x5464CFC: ???
==5349==    by 0x54BE24F: ???
==5349==    by 0x54D92F5: ???
==5349==    by 0x54B3D7C: ???
==5349==    by 0x54AEE81: ???
==5349==    by 0x54B2629: ???
==5349==    by 0x54B2A6A: ???
==5349==    by 0x54ABE33: ???
==5349==    by 0xCD949A: start_thread (in /lib/libpthread-2.5.so)
==5349==    by 0xC3042D: clone (in /lib/libc-2.5.so)
==5349==
==5349==
==5349== 32 bytes in 1 blocks are definitely lost in loss record 41 of 101
==5349==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==5349==    by 0x55065F0: ???
==5349==    by 0x54AB040: ???
==5349==    by 0x54AB126: ???
==5349==    by 0x54A9F95: ???
==5349==    by 0x54BE7B8: ???
==5349==    by 0x54674A9: ???
==5349==    by 0x54566E2: ???
==5349==    by 0x54567B2: ???
==5349==    by 0x52C58F2: ???
==5349==    by 0x52B2A5C: ???
==5349==    by 0x52B76E0: ???
==5349==
==5349==
==5349== 45 (44 direct, 1 indirect) bytes in 1 blocks are definitely lost in loss record 53 of 101
==5349==    at 0x4005B65: operator new(unsigned) (vg_replace_malloc.c:163)
==5349==    by 0x572FB52: ???
==5349==    by 0x572834B: ???
==5349==    by 0x5700C59: ???
==5349==    by 0x5702634: ???
==5349==    by 0x56899AF: ???
==5349==    by 0x569DC27: ???
==5349==    by 0x56C3FFB: ???
==5349==    by 0x562D018: ???
==5349==    by 0x54A9E4A: ???
==5349==    by 0x54BE7B8: ???
==5349==    by 0x54674A9: ???
==5349==
==5349==
==5349== 288 bytes in 2 blocks are possibly lost in loss record 61 of 101
==5349==    at 0x40046FF: calloc (vg_replace_malloc.c:279)
==5349==    by 0xB51D49: _dl_allocate_tls (in /lib/ld-2.5.so)
==5349==    by 0xCD9B92: pthread_create@@GLIBC_2.1 (in /lib/libpthread-2.5.so)
==5349==    by 0x5506519: ???
==5349==    by 0x798AB2A: ???
==5349==    by 0x79861F6: ???
==5349==    by 0x79862A8: ???
==5349==    by 0x52C58F2: ???
==5349==    by 0x52B2A5C: ???
==5349==    by 0x52B76E0: ???
==5349==    by 0x4376059: Pegasus::BasicProviderManagerRouter::processMessage(Pegasus::Message*) (BasicProviderManagerRouter.cpp:391)
==5349==    by 0x4363234: Pegasus::ProviderManagerService::_processMessage(Pegasus::CIMRequestMessage*) (ProviderManagerService.cpp:850)
==5349==
==5349==
==5349== 33,816 (72 direct, 33,744 indirect) bytes in 3 blocks are definitely lost in loss record 62 of 101
==5349==    at 0x4005B65: operator new(unsigned) (vg_replace_malloc.c:163)
==5349==    by 0x52D2908: ???
==5349==    by 0x7989065: ???
==5349==    by 0x52B2B26: ???
==5349==    by 0x52B76E0: ???
==5349==    by 0x4376059: Pegasus::BasicProviderManagerRouter::processMessage(Pegasus::Message*) (BasicProviderManagerRouter.cpp:391)
==5349==    by 0x4363234: Pegasus::ProviderManagerService::_processMessage(Pegasus::CIMRequestMessage*) (ProviderManagerService.cpp:850)
==5349==    by 0x436489E: Pegasus::ProviderManagerService::handleCimRequest(Pegasus::AsyncOpNode*, Pegasus::Message*) (ProviderManagerService.cpp:388)
==5349==    by 0x436561C: Pegasus::ProviderManagerService::handleCimOperation(void*) (ProviderManagerService.cpp:268)
==5349==    by 0x462DEDD: Pegasus::ThreadPool::_loop(void*) (ThreadPool.cpp:222)
==5349==    by 0x462C4F6: _start_wrapper (Thread.cpp:69)
==5349==    by 0xCD949A: start_thread (in /lib/libpthread-2.5.so)
==5349==
==5349==
==5349== 80 bytes in 1 blocks are definitely lost in loss record 64 of 101
==5349==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==5349==    by 0x400544A: realloc (vg_replace_malloc.c:306)
==5349==    by 0x57282DF: ???
==5349==    by 0x5700C59: ???
==5349==    by 0x5702634: ???
==5349==    by 0x56899AF: ???
==5349==    by 0x569DC27: ???
==5349==    by 0x56C3FFB: ???
==5349==    by 0x562D018: ???
==5349==    by 0x54A9E4A: ???
==5349==    by 0x54BE7B8: ???
==5349==    by 0x54674A9: ???
==5349==
==5349==
==5349== 112 bytes in 2 blocks are possibly lost in loss record 67 of 101
==5349==    at 0x4005B65: operator new(unsigned) (vg_replace_malloc.c:163)
==5349==    by 0x45BC54A: Pegasus::CIMProperty::CIMProperty(Pegasus::CIMName const&, Pegasus::CIMValue const&, unsigned, Pegasus::CIMName const&, Pegasus::CIMName const&, bool) (CIMProperty.cpp:69)
==5349==    by 0x4640D45: Pegasus::XmlReader::getPropertyReferenceElement(Pegasus::XmlParser&, Pegasus::CIMProperty&) (XmlReader.cpp:2797)
==5349==    by 0x4648B75: void Pegasus::GetPropertyElements<Pegasus::CIMInstance>(Pegasus::XmlParser&, Pegasus::CIMInstance&) (XmlReader.cpp:2825)
==5349==    by 0x4644C11: Pegasus::XmlReader::getInstanceElement(Pegasus::XmlParser&, Pegasus::CIMInstance&) (XmlReader.cpp:3315)
==5349==    by 0x4645EE7: Pegasus::XmlReader::getObject(Pegasus::XmlParser&, Pegasus::CIMInstance&) (XmlReader.cpp:3396)
==5349==    by 0x43E5B36: Pegasus::XmlStreamer::decode(Pegasus::Buffer const&, unsigned, Pegasus::CIMInstance&) (XmlStreamer.cpp:70)
==5349==    by 0x43DE6B0: Pegasus::AutoStreamer::decode(Pegasus::Buffer const&, unsigned, Pegasus::CIMInstance&) (AutoStreamer.cpp:122)
==5349==    by 0x43F6D7F: Pegasus::FileBasedStore::_loadAllInstances(Pegasus::CIMNamespaceName const&, Pegasus::CIMName const&, Pegasus::Array<Pegasus::CIMInstance>&) (FileBasedStore.cpp:1309)
==5349==    by 0x43F6FA9: Pegasus::FileBasedStore::enumerateInstancesForClass(Pegasus::CIMNamespaceName const&, Pegasus::CIMName const&) (FileBasedStore.cpp:1972)
==5349==    by 0x43FFE49: Pegasus::CIMRepository::enumerateInstancesForClass(Pegasus::CIMNamespaceName const&, Pegasus::CIMName const&, bool, bool, Pegasus::CIMPropertyList const&) (CIMRepository.cpp:1727)
==5349==    by 0x413168A: Pegasus::SubscriptionRepository::getSubscriptions(Pegasus::CIMNamespaceName const&) const (SubscriptionRepository.cpp:416)
==5349==
==5349==
==5349== 168 bytes in 7 blocks are definitely lost in loss record 71 of 101
==5349==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==5349==    by 0x5505B9B: ???
==5349==    by 0x798A20B: ???
==5349==    by 0x798D805: ???
==5349==    by 0x791742C: ???
==5349==    by 0xB4F202: call_init (in /lib/ld-2.5.so)
==5349==    by 0xB4F312: _dl_init (in /lib/ld-2.5.so)
==5349==    by 0xB52D89: dl_open_worker (in /lib/ld-2.5.so)
==5349==    by 0xB4EE45: _dl_catch_error (in /lib/ld-2.5.so)
==5349==    by 0xB52491: _dl_open (in /lib/ld-2.5.so)
==5349==    by 0xCCEC4C: dlopen_doit (in /lib/libdl-2.5.so)
==5349==    by 0xB4EE45: _dl_catch_error (in /lib/ld-2.5.so)
==5349==
==5349==
==5349== 2,592 (416 direct, 2,176 indirect) bytes in 13 blocks are definitely lost in loss record 88 of 101
==5349==    at 0x4005B65: operator new(unsigned) (vg_replace_malloc.c:163)
==5349==    by 0x54769D5: ???
==5349==    by 0x54776AC: ???
==5349==    by 0x54A9EA6: ???
==5349==    by 0x54B291F: ???
==5349==    by 0x54B2A47: ???
==5349==    by 0x54ABE33: ???
==5349==    by 0xCD949A: start_thread (in /lib/libpthread-2.5.so)
==5349==    by 0xC3042D: clone (in /lib/libc-2.5.so)
==5349==
==5349==
==5349== 4,096 bytes in 1 blocks are possibly lost in loss record 95 of 101
==5349==    at 0x40053C0: malloc (vg_replace_malloc.c:149)
==5349==    by 0x4546A12: Pegasus::SCMOInstance::_clone() (SCMO.cpp:4040)
==5349==    by 0x4547B32: Pegasus::SCMOInstance::clone(bool) const (SCMO.cpp:4032)
==5349==    by 0x52DA2CA: ???
==5349==    by 0x545D783: ???
==5349==    by 0x5464D8B: ???
==5349==    by 0x54BE24F: ???
==5349==    by 0x54D92F5: ???
==5349==    by 0x54B3D7C: ???
==5349==    by 0x54AEE81: ???
==5349==    by 0x54B2629: ???
==5349==    by 0x54B2A6A: ???
==5349==
==5349==
==5349== 32,768 bytes in 1 blocks are possibly lost in loss record 99 of 101
==5349==    at 0x40054BB: realloc (vg_replace_malloc.c:306)
==5349==    by 0x4544CC9: Pegasus::_getFreeSpace(Pegasus::SCMBDataPtr&, unsigned, Pegasus::SCMBMgmt_Header**) (SCMO.cpp:6519)
==5349==    by 0x4544EB7: Pegasus::_setString(Pegasus::String const&, Pegasus::SCMBDataPtr&, Pegasus::SCMBMgmt_Header**) (SCMO.cpp:6564)
==5349==    by 0x454EC58: Pegasus::SCMOClass::_setProperty(unsigned long long, bool*, Pegasus::CIMProperty const&) (SCMO.cpp:968)
==5349==    by 0x454EEC8: Pegasus::SCMOClass::_setClassProperties(Pegasus::OrderedSet<Pegasus::CIMProperty, Pegasus::CIMPropertyRep, 32>&) (SCMO.cpp:719)
==5349==    by 0x454BE58: Pegasus::SCMOClass::SCMOClass(Pegasus::CIMClass const&, char const*) (SCMO.cpp:375)
==5349==    by 0x40AF7D0: Pegasus::CIMServer::_scmoClassCache_GetClass(Pegasus::CIMNamespaceName const&, Pegasus::CIMName const&) (CIMServer.cpp:253)
==5349==    by 0x455812C: Pegasus::SCMOClassCache::_addClassToCache(char const*, unsigned, char const*, unsigned, unsigned long long) (SCMOClassCache.cpp:228)
==5349==    by 0x45585CE: Pegasus::SCMOClassCache::getSCMOClass(char const*, unsigned, char const*, unsigned) (SCMOClassCache.cpp:347)
==5349==    by 0x52C9779: ???
==5349==    by 0x52D2C45: ???
==5349==    by 0x52D9D9C: ???
==5349==
==5349== LEAK SUMMARY:
==5349==    definitely lost: 884 bytes in 34 blocks.
==5349==    indirectly lost: 117,630 bytes in 982 blocks.
==5349==      possibly lost: 37,264 bytes in 6 blocks.
==5349==    still reachable: 76,861 bytes in 211 blocks.
==5349==         suppressed: 0 bytes in 0 blocks.
==5349== Reachable blocks (those to which a pointer was found) are not shown.
==5349== To see them, rerun with: --show-reachable=yes
--5349--  memcheck: sanity checks: 4713 cheap, 189 expensive
--5349--  memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use
--5349--  memcheck: auxmaps: 0 searches, 0 comparisons
--5349--  memcheck: SMs: n_issued      = 359 (5744k, 5M)
--5349--  memcheck: SMs: n_deissued    = 37 (592k, 0M)
--5349--  memcheck: SMs: max_noaccess  = 65535 (1048560k, 1023M)
--5349--  memcheck: SMs: max_undefined = 4 (64k, 0M)
--5349--  memcheck: SMs: max_defined   = 1359 (21744k, 21M)
--5349--  memcheck: SMs: max_non_DSM   = 331 (5296k, 5M)
--5349--  memcheck: max sec V bit nodes:    15084 (765k, 0M)
--5349--  memcheck: set_sec_vbits8 calls: 32573 (new: 16873, updates: 15700)
--5349--  memcheck: max shadow mem size:   6365k, 6M
--5349-- translate:            fast SP updates identified: 154,654 ( 92.0%)
--5349-- translate:   generic_known SP updates identified: 9,495 (  5.6%)
--5349-- translate: generic_unknown SP updates identified: 3,878 (  2.3%)
--5349--     tt/tc: 799,279 tt lookups requiring 4,451,551 probes
--5349--     tt/tc: 799,279 fast-cache updates, 13 flushes
--5349--  transtab: new        84,174 (1,814,208 -> 29,499,367; ratio 162:10) [0 scs]
--5349--  transtab: dumped     0 (0 -> ??)
--5349--  transtab: discarded  30,237 (647,382 -> ??)
--5349-- scheduler: 396,558,355 jumps (bb entries).
--5349-- scheduler: 4,713/2,145,285 major/minor sched events.
--5349--    sanity: 4714 cheap, 189 expensive checks.
--5349--    exectx: 30,011 lists, 24,284 contexts (avg 0 per list)
--5349--    exectx: 1,413,385 searches, 1,576,365 full compares (1,115 per 1000)
--5349--    exectx: 2,056,567 cmp2, 9,146 cmp4, 0 cmpAll
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.