2024-04-23 02:07:02

by Namhyung Kim

[permalink] [raw]
Subject: [PATCH] perf annotate: Fix data type profiling on stdio

The loop in hists__find_annotations() never set the 'nd' pointer to NULL
and it makes stdio output repeating the last element forever. I think
it doesn't set to NULL for TUI to prevent it from exiting unexpectedly.
But it should just set on stdio mode.

Fixes: d001c7a7f473 ("perf annotate-data: Add hist_entry__annotate_data_tui()")
Signed-off-by: Namhyung Kim <[email protected]>
---
tools/perf/builtin-annotate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
index 6f7104f06c42..83812b9d5363 100644
--- a/tools/perf/builtin-annotate.c
+++ b/tools/perf/builtin-annotate.c
@@ -491,7 +491,7 @@ static void hists__find_annotations(struct hists *hists,
return;
}

- if (next != NULL)
+ if (use_browser == 0 || next != NULL)
nd = next;

continue;
--
2.44.0.769.g3c40516874-goog



2024-04-23 16:57:35

by Ian Rogers

[permalink] [raw]
Subject: Re: [PATCH] perf annotate: Fix data type profiling on stdio

On Mon, Apr 22, 2024 at 7:06 PM Namhyung Kim <[email protected]> wrote:
>
> The loop in hists__find_annotations() never set the 'nd' pointer to NULL
> and it makes stdio output repeating the last element forever. I think
> it doesn't set to NULL for TUI to prevent it from exiting unexpectedly.
> But it should just set on stdio mode.
>
> Fixes: d001c7a7f473 ("perf annotate-data: Add hist_entry__annotate_data_tui()")
> Signed-off-by: Namhyung Kim <[email protected]>

Acked-by: Ian Rogers <[email protected]>

Should we have a test to cover things like this?

Thanks,
Ian

> ---
> tools/perf/builtin-annotate.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/builtin-annotate.c b/tools/perf/builtin-annotate.c
> index 6f7104f06c42..83812b9d5363 100644
> --- a/tools/perf/builtin-annotate.c
> +++ b/tools/perf/builtin-annotate.c
> @@ -491,7 +491,7 @@ static void hists__find_annotations(struct hists *hists,
> return;
> }
>
> - if (next != NULL)
> + if (use_browser == 0 || next != NULL)
> nd = next;
>
> continue;
> --
> 2.44.0.769.g3c40516874-goog
>

2024-04-23 23:07:28

by Namhyung Kim

[permalink] [raw]
Subject: Re: [PATCH] perf annotate: Fix data type profiling on stdio

On Tue, Apr 23, 2024 at 9:57 AM Ian Rogers <[email protected]> wrote:
>
> On Mon, Apr 22, 2024 at 7:06 PM Namhyung Kim <[email protected]> wrote:
> >
> > The loop in hists__find_annotations() never set the 'nd' pointer to NULL
> > and it makes stdio output repeating the last element forever. I think
> > it doesn't set to NULL for TUI to prevent it from exiting unexpectedly.
> > But it should just set on stdio mode.
> >
> > Fixes: d001c7a7f473 ("perf annotate-data: Add hist_entry__annotate_data_tui()")
> > Signed-off-by: Namhyung Kim <[email protected]>
>
> Acked-by: Ian Rogers <[email protected]>

Thanks for your review!

>
> Should we have a test to cover things like this?

Ok, I'll try to add one for perf annotate.

Thanks,
Namhyung

2024-04-25 18:57:27

by Arnaldo Carvalho de Melo

[permalink] [raw]
Subject: Re: [PATCH] perf annotate: Fix data type profiling on stdio

On Tue, Apr 23, 2024 at 04:07:08PM -0700, Namhyung Kim wrote:
> On Tue, Apr 23, 2024 at 9:57 AM Ian Rogers <[email protected]> wrote:
> >
> > On Mon, Apr 22, 2024 at 7:06 PM Namhyung Kim <[email protected]> wrote:
> > >
> > > The loop in hists__find_annotations() never set the 'nd' pointer to NULL
> > > and it makes stdio output repeating the last element forever. I think
> > > it doesn't set to NULL for TUI to prevent it from exiting unexpectedly.
> > > But it should just set on stdio mode.
> > >
> > > Fixes: d001c7a7f473 ("perf annotate-data: Add hist_entry__annotate_data_tui()")
> > > Signed-off-by: Namhyung Kim <[email protected]>
> >
> > Acked-by: Ian Rogers <[email protected]>
>
> Thanks for your review!

Thanks, applied to perf-tools-next,

- Arnaldo

> >
> > Should we have a test to cover things like this?
>
> Ok, I'll try to add one for perf annotate.
>
> Thanks,
> Namhyung