lkml.org 
[lkml]   [2013]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 08/14] perf report: Cache cumulative callchains
On Fri, Nov 01, 2013 at 04:07:22PM +0900, Namhyung Kim wrote:
> Hi Rodrigo,
>
> On Thu, 31 Oct 2013 11:13:34 +0000, Rodrigo Campos wrote:
> > On Thu, Oct 31, 2013 at 03:56:10PM +0900, Namhyung Kim wrote:
> >> @@ -538,6 +586,7 @@ iter_finish_cumulative_entry(struct add_entry_iter *iter,
> >> evsel->hists.stats.total_period += sample->period;
> >> hists__inc_nr_events(&evsel->hists, PERF_RECORD_SAMPLE);
> >>
> >> + free(iter->priv);
> >
> > And here I'm seeing a double free when trying the patchset with other examples.
> > I added a printf to the "if (node == NULL)" case and I'm hitting it. So it seems
> > to me that, when reusing the entry, every user is freeing it and then the double
> > free.
> >
> > This is my first time looking at perf code, so I might be missing LOT of things,
> > sorry in advance :)
>
> Don't say sorry! You're very helpful and found a real bug!

:-)


> > I'm not really sure which is the fix for this. Also just in case I tried
> > assigning "iter->priv = NULL" after it's free'd and it """fixes""" it.
>
> I think the right fix is assigning "iter->priv = NULL" as you said. But
> I changed this patch a bit for v3 so need to check it again.

Ohh, great. I'll wait for v3 to play more with this :-)





Thanks a lot,
Rodrigo


\
 
 \ /
  Last update: 2013-11-01 16:01    [W:0.105 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site