Re: [PATCH 4/6] perf report: hint .perfconfig error when invalid sorting key

From: David Carrillo-Cisneros
Date: Wed Apr 12 2017 - 12:34:48 EST


> On Tue, Apr 11, 2017 at 11:49:17PM -0700, David Carrillo-Cisneros wrote:
>> My fat-fingering of sort keys in .perfconfig was a common cause of
>> perf report silently terminating without apparent error.
>>
>> This was because 1) error in setup_sorting in cmd_report was ignored
>> and 2) no message was log in UI browser that would prevent UI from
>> exit before user prompt. Fix both.
>
> there's UI init ahead of this code.. I had to move it
> below your code to spot any error message
>
> there's other errors further on.. perhaps we should move it even further ;-)
> or cancel the ui before the error is printed

Probably canceling ui on error is the more robust way to go. I will
look into it.

Thanks,
David

>
> jirka
>
>
> ---
> diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
> index 19a69ca0e9c9..abcf3aadca9e 100644
> --- a/tools/perf/builtin-report.c
> +++ b/tools/perf/builtin-report.c
> @@ -982,11 +982,6 @@ int cmd_report(int argc, const char **argv)
> if (report.header || report.header_only || report.show_threads)
> use_browser = 0;
>
> - if (strcmp(input_name, "-") != 0)
> - setup_browser(true);
> - else
> - use_browser = 0;
> -
> ret = setup_sorting(session->evlist);
> if (ret < 0) {
> if (sort_order)
> @@ -999,6 +994,11 @@ int cmd_report(int argc, const char **argv)
> goto error;
> }
>
> + if (strcmp(input_name, "-") != 0)
> + setup_browser(true);
> + else
> + use_browser = 0;
> +
> if ((report.header || report.header_only) && !quiet) {
> perf_session__fprintf_info(session, stdout,
> report.show_full_info);