Re: [PATCH 06/11] perf data: Switch to multiple cpu stream files

From: Wang Nan
Date: Fri Mar 13 2015 - 02:04:31 EST


On 2015/3/13 3:59, JÃrÃmie Galarneau wrote:
> On Thu, Mar 12, 2015 at 3:17 PM, Arnaldo Carvalho de Melo
> <acme@xxxxxxxxxx> wrote:
>> Em Thu, Mar 12, 2015 at 09:40:09PM +0800, Wang Nan escreveu:
>>> On 2015/3/12 20:34, Jiri Olsa wrote:
>>>> On Thu, Mar 12, 2015 at 07:37:02PM +0800, Wang Nan wrote:
>>>>> Hi Jiri,
>>>>>
>>>>> Have you noticed that this patch causes a endianess problem?
>>>>>
>>>>> Without this patch:
>>>>>
>>>>> $ perf data convert --to-ctf ./out.ctf
>>>>> [ perf data convert: Converted 'perf.data' into CTF data './out.ctf' ]
>>>>> [ perf data convert: Converted and wrote 0.000 MB (11 samples) ]
>>>>>
>>>>> With this patch:
>>>>>
>>>>> $ perf data convert --to-ctf ./out.ctf
>>>>> perf: event-types.c:1855: bt_ctf_field_type_set_native_byte_order: Assertion `byte_order == 1234 || byte_order == 4321' failed.
>>>>> Aborted
>>>>>
>>>>> I'll look into this problem if you haven't solved it yet. Please let me know if you have already
>>>>> have some solutions.
>>>>
>>>> hum, never seen this.. any other details?
>>>
>>>
>>>
>>> My perf is -tip tree (commit 4b52a8d), with patch 'perf data: Add tracepoint events fields CTF conversion support'
>>> applied. Babeltrace is fresh new git clone (commit 48d711a).
>>>
>>> you moved perf.data
>>>> through different endian server or something like that?
>>>>
>>>
>>> Never.
>>
>> Just reproduced this:
>>
>> [acme@ssdandy linux]$ perf data convert --to-ctf=./ctf-data/
>> perf: event-types.c:1855: bt_ctf_field_type_set_native_byte_order:
>> Assertion `byte_order == 1234 || byte_order == 4321' failed.
>> Aborted (core dumped)
>> [acme@ssdandy linux]$
>>
>>
>> perf: event-types.c:1855: bt_ctf_field_type_set_native_byte_order: Assertion `byte_order == 1234 || byte_order == 4321' failed.
>>
>> Program received signal SIGABRT, Aborted.
>> 0x00007ffff5b345d7 in raise () from /lib64/libc.so.6
>> Missing separate debuginfos, use: debuginfo-install audit-libs-2.4.1-5.el7.x86_64 bzip2-libs-1.0.6-12.el7.x86_64 elfutils-libelf-0.160-1.el7.x86_64 elfutils-libs-0.160-1.el7.x86_64 glib2-2.40.0-4.el7.x86_64 glibc-2.17-78.el7.x86_64 libgcc-4.8.3-9.el7.x86_64 libuuid-2.23.2-21.el7.x86_64 nss-softokn-freebl-3.16.2.3-9.el7.x86_64 numactl-libs-2.0.9-4.el7.x86_64 perl-libs-5.16.3-285.el7.x86_64 popt-1.13-16.el7.x86_64 python-libs-2.7.5-16.el7.x86_64 slang-2.2.4-11.el7.x86_64 xz-libs-5.1.2-9alpha.el7.x86_64 zlib-1.2.7-13.el7.x86_64
>> (gdb) bt
>> #0 0x00007ffff5b345d7 in raise () from /lib64/libc.so.6
>> #1 0x00007ffff5b35cc8 in abort () from /lib64/libc.so.6
>> #2 0x00007ffff5b2d546 in __assert_fail_base () from /lib64/libc.so.6
>> #3 0x00007ffff5b2d5f2 in __assert_fail () from /lib64/libc.so.6
>> #4 0x00007ffff510034a in bt_ctf_field_type_set_native_byte_order (type=<optimized out>, byte_order=<optimized out>) at event-types.c:1855
>> #5 0x00007ffff5101b59 in bt_ctf_stream_class_freeze (stream_class=0x8acc20) at stream-class.c:478
>> #6 0x00007ffff50fbdc5 in bt_ctf_event_create (event_class=event_class@entry=0x133d590) at event.c:324
>> #7 0x00000000004e158d in process_sample_event (tool=0x7fffffffdc40, _event=<optimized out>, sample=0x7fffffffd840, evsel=0x8b1040, machine=<optimized out>) at util/data-convert-bt.c:518
>> #8 0x00000000004b011d in __ordered_events__flush (oe=oe@entry=0x8b0210) at util/ordered-events.c:214
>> #9 0x00000000004b043a in ordered_events__flush (oe=oe@entry=0x8b0210, how=how@entry=OE_FLUSH__FINAL) at util/ordered-events.c:279
>> #10 0x00000000004aee18 in __perf_session__process_events (file_size=139704, data_size=<optimized out>, data_offset=<optimized out>, session=0x8b0020) at util/session.c:1394
>> #11 perf_session__process_events (session=session@entry=0x8b0020) at util/session.c:1412
>> #12 0x00000000004e270e in bt_convert__perf2ctf (input=<optimized out>, path=0x7fffffffe59d "./ctf-data/") at util/data-convert-bt.c:992
>> #13 0x00000000004479cf in cmd_data_convert (argc=<optimized out>, argv=<optimized out>, prefix=<optimized out>) at builtin-data.c:77
>> #14 0x000000000046f365 in run_builtin (p=p@entry=0x8345a0 <commands+576>, argc=argc@entry=3, argv=argv@entry=0x7fffffffe2d0) at perf.c:370
>> #15 0x000000000041def0 in handle_internal_command (argv=0x7fffffffe2d0, argc=3) at perf.c:429
>> #16 run_argv (argv=0x7fffffffe050, argcp=0x7fffffffe05c) at perf.c:473
>> #17 main (argc=3, argv=0x7fffffffe2d0) at perf.c:588
>> (gdb)
>

I have identical call stack. Have you ever tried my workaround in my previous mail?

Thank you!

> Thanks for providing this info, I'm looking into it and will keep you posted.
>
> JÃrÃmie
>
>>
>> Stopping at this to process other patches, will be back to this after reducing the queue,
>>
>> - Arnaldo
>
>
>


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/