Re: [diamon-discuss] [BUG] perf data convert to ctf fail.

Alexandre Montplaisir <[email protected]> Fri, 16 Jan 2015 02:55:01 -0500
Newsgroups dev.linux.lists.diamon-discuss
Message-ID <[email protected]>
Hi Wang,

I can reproduce your issue, using Babeltrace commit 36336d933 (from Jan 
6th). I had it working at some point before, so there must have been 
some changes to the Babeltrace API since then.

If I update to Babeltrace master (9f476966), I then hit 
https://bugs.lttng.org/issues/874 . Fixing it manually I can get it 
building, but then the "perf data convert" command now fails with a new 
error:

perf data convert --to-ctf=./ctf
perf: event.c:292: bt_ctf_event_create: Assertion 
`event_class->stream_class->event_header_type' failed.
Aborted

I've CC'ed Mathieu and Jérémie, perhaps they can give us some pointers 
as to what should be updated in the perf patch set?

Cheers,
Alex


On 2015-01-16 12:23 AM, Wang Nan wrote:
> Hi Jiri Olsa,
>
> We are working on your perf convert to ctf patches and trying to
> convert perf.data into CTF trace. By introducing 8 patches from your
> repository (the last 8 patches of branch perf/core_ctf_convert) we can
> use 'perf data convert --to-ctf' command. However, it doesn't work properly:
>
>   $ perf record ls
>   $ perf data convert --to-ctf ./out.ctf
> close: Bad file descriptor
> Failed to create CTF stream
> [ perf data convert: Converted 'perf.data' into CTF data './out.ctf' ]
> [ perf data convert: Converted and wrote 0.000 MB (1 samples) ]
>
> After some debug we found that the problem raises from libbaleltrace:
> in bt_ctf_writer_create_stream() --> bt_ctf_trace_create_stream(), it tries
> to create a stream from stream_class, but doesn't provide a stream_id. When
> bt_ctf_trace_create_stream() tries to allocate an id for it, the stream_class
> has been freezed.
>
> Could you please have a look at this problem?
>
> Thank you!
>