On Mon, 22 Jan 2024 17:43:31 +0100 Pierre Gondois <pierre.gondois@xxxxxxx> wrote: > if (!cpu_list) > @@ -415,7 +419,6 @@ static unsigned long long parse_file(struct tracecmd_input *handle, > if (tracecmd_append_cpu_data(ohandle, cpus, cpu_list) < 0) > die("Failed to append tracing data\n"); > > - current = end; > for (cpu = 0; cpu < cpus; cpu++) { > /* Set the tracecmd cursor to the next set of records */ > if (cpu_data[cpu].offset) { I tried running the code with valgrind, and it it went into an infinite loop, saying that the code at line 728 had a conditional jump based on an uninitialized variable. That line is here: do { if (repeat) sprintf(output_file, "%s.%04d", output, c++); else strcpy(output_file, output); current = parse_file(handle, output_file, start_ns, end_ns, percpu, cpu, count, type, &end_reached); if (!repeat) break; start_ns = 0; } while (!end_reached && (current && (!end_ns || current < end_ns))); <<<<-- Line 728 Debugging it, I found that the above "current = end;" removal removed the only initialization of current. Just an FYI, I'll write a fix. Thanks, -- Steve
![]() |