Re: [PATCH 1/9] perf/jit: improve error messages from JVMTI

From: Arnaldo Carvalho de Melo
Date: Fri Oct 14 2016 - 11:21:11 EST


Em Fri, Oct 14, 2016 at 05:57:25AM -0700, Stephane Eranian escreveu:
> On Fri, Oct 14, 2016 at 4:13 AM, Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
> > Em Thu, Oct 13, 2016 at 03:05:40PM -0500, Nilay Vaish escreveu:
> >> Do we not need to release the memory for err_msg if the condition for
> >> the 'if' statement evaluates to false? Is it that we are going to
> >> kill the process, so no need to release the memory?

> > I guess that print_error() is called only when an error was returned
> > somewhere, that ret parameter, then if there was no error
> > (JVMTI_ERROR_NONE) in translating that numeric code to an string,
> > err_msg, it can then be used with warnx() (the main purpose of
> > print_error()) and then deallocated.
> >
> > For err != JVMTI_ERROR_NONE it silently goes back to the caller that
> > expected it to print something.
> >
> > I.e. probably it should have an else clause, something like:
> >
> > if (err == JVMTI_ERROR_NONE) {
> > warnx("%s failed with %s", msg, err_msg);
> > (*jvmti)->Deallocate(jvmti, (unsigned char *)err_msg);
> > } else {
> > warnx("%s failed with an unknown error %d", msg, (int)ret);
> > }
> >
> > Stephane?
> I will fix all of the comments over the week-end. I am away from office today.

I have almost all of them fixed, will fix this one too, if you agree
with the analysis.

- Arnaldo