Hi SeokHo, On Sun, Dec 3, 2017 at 10:50 PM, Song Seok Ho <[email protected]> wrote: > If perf_session__new() returns NULL with use_browser set to 2 via --gtk option > previously, perf dies quietly without printing any errors. > > The reason behind this is that GTK is not yet initialized when the caller > inside perf_session__new() is trying to print error message to the screen. > > Reorder code to print the messages to stdio when GTK is not yet ready.
I'm ok with this change, but it needs to consider other error messages too. There are more pr_err() calls between perf_session__new() and setup_browser(), so I think they have same problem. Thanks, Namhyung > > Signed-off-by: Song Seok Ho <[email protected]> > --- > tools/perf/builtin-report.c | 14 +++++++------- > 1 file changed, 7 insertions(+), 7 deletions(-) > > diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c > index 1394cd8d96f7..0cd80b8c432e 100644 > --- a/tools/perf/builtin-report.c > +++ b/tools/perf/builtin-report.c > @@ -918,13 +918,6 @@ int cmd_report(int argc, const char **argv) > return -EINVAL; > } > > - if (report.use_stdio) > - use_browser = 0; > - else if (report.use_tui) > - use_browser = 1; > - else if (report.use_gtk) > - use_browser = 2; > - > if (report.inverted_callchain) > callchain_param.order = ORDER_CALLER; > if (symbol_conf.cumulate_callchain && !callchain_param.order_set) > @@ -949,6 +942,13 @@ int cmd_report(int argc, const char **argv) > if (session == NULL) > return -1; > > + if (report.use_stdio) > + use_browser = 0; > + else if (report.use_tui) > + use_browser = 1; > + else if (report.use_gtk) > + use_browser = 2; > + > if (report.queue_size) { > ordered_events__set_alloc_size(&session->ordered_events, > report.queue_size); > -- > 2.15.1 >

