On Mon, Mar 07, 2011 at 09:43:27PM +0800, Sam Liao wrote:
> +
> +     /* reverse call chain data */
> +     if (reverse_call && symbol_conf.use_callchain && sample->callchain) {

You probably want to check for nr > 1 here, as in:

        /* reverse call chain data */
-       if (reverse_call && symbol_conf.use_callchain && sample->callchain) {
+       if (reverse_call && symbol_conf.use_callchain && sample->callchain
+           && (sample->callchain->nr > 1)) {
                struct ip_callchain *chain;
                int i, j;
                u64 tmp_ip;

Otherwise, if you get a callchain with ->nr == 0, the loop with (nr - 2) will
go on for a long time.

 -Arun
--
To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to