pcp
[Top] [All Lists]

Re: pmmgr mem leak or someone else's problem?

To: Ken McDonell <kenj@xxxxxxxxxxxxxxxx>
Subject: Re: pmmgr mem leak or someone else's problem?
From: fche@xxxxxxxxxx (Frank Ch. Eigler)
Date: Sat, 23 Jan 2016 19:53:28 -0500
Cc: PCP <pcp@xxxxxxxxxxx>
Delivered-to: pcp@xxxxxxxxxxx
In-reply-to: <56A41C5F.9000200@xxxxxxxxxxxxxxxx> (Ken McDonell's message of "Sun, 24 Jan 2016 11:35:43 +1100")
References: <56A41C5F.9000200@xxxxxxxxxxxxxxxx>
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)
kenj wrote:

> [...]
>
> === valgrind stdout === 
> ==6948== 132,000 bytes in 165 blocks are definitely lost in loss record 16 of 
> 16
> ==6948==    at 0x4C28192: operator new[](unsigned long) 
> (vg_replace_malloc.c:363)
> ==6948==    by 0x10FDC0: pmmgr_job_spec::compute_hostid(std::string const&) 
> (pmmgr.cxx:249)
> [...]

It's legitimate bug/leak.  Fix:


diff --git a/src/pmmgr/pmmgr.cxx b/src/pmmgr/pmmgr.cxx
index 26ef9fb7f248..31d2040a8a1a 100644
--- a/src/pmmgr/pmmgr.cxx
+++ b/src/pmmgr/pmmgr.cxx
@@ -278,6 +278,7 @@ pmmgr_job_spec::compute_hostid (const pcp_context_spec& ctx)
       hostid_fields.push_back (values[i].cp);
 
   (void) pmDestroyFetchGroup (fg);
+  delete[] values;
 
   // Sanitize the host-id metric values into a single string that is
   // suitable for posix-portable-filenames, and not too ugly for


- FChE

<Prev in Thread] Current Thread [Next in Thread>