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

Jiri Olsa <[email protected]> Fri, 16 Jan 2015 09:14:28 +0100
Newsgroups dev.linux.lists.diamon-discuss
Message-ID <[email protected]>
On Fri, Jan 16, 2015 at 02:55:01AM -0500, Alexandre Montplaisir wrote:
> 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

hum, haven't seen this one before.. I'll check with latest babeltrace

> 
> 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) ]

Any chance you're not using proper library? I'm always
lazy to properly install that and need to run perf with
LD_LIBRARY_PATH set, like:

  LD_LIBRARY_PATH=/opt/libbabeltrace/lib ./perf ....


> >
> >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.

probably it's some issue wrt the babeltrace changes
Alexandre mentioned.. I'll check

thanks,
jirka