lkml.org 
[lkml]   [2017]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH 16/35] perf annotate: Add samples into struct annotation_line
From
Date
Hi Jiri,

On 11/14/2017 03:01 PM, Jiri Olsa wrote:
> On Mon, Nov 13, 2017 at 09:14:38PM +0100, Jiri Olsa wrote:
>> On Mon, Nov 13, 2017 at 09:16:20PM +0530, Ravi Bangoria wrote:
>>> Hi Jiri,
>>>
>>> This patch seems to be causing segfault with "perf top --stdio".
>>>
>>> Steps to reproduce:
>>> 1. start "perf top --stdio" in one terminal
>>> 2. run some simple workload in another terminal, let it get finished.
>>> 3. annotate function from previous workload in perf top (press 'a' followed
>>> by 's')
>>>
>>> Perf will crash with:
>>>
>>>   perf: Segmentation fault
>>>   Obtained 8 stack frames.
>>>   ./perf(sighandler_dump_stack+0x3e) [0x4f1b6e]
>>>   /lib64/libc.so.6(+0x36a7f) [0x7ff3aa7e4a7f]
>>>   ./perf() [0x4a27fd]
>>>   ./perf(symbol__annotate+0x199) [0x4a4439]
>>>   ./perf() [0x44e32d]
>>>   ./perf() [0x44f098]
>>>   /lib64/libpthread.so.0(+0x736c) [0x7ff3acee836c]
>>>   /lib64/libc.so.6(clone+0x3e) [0x7ff3aa8bee1e]
>>>
>>> Can you please check.
>> hum, I'm getting following crash after resizing the terminal window:
>>
>> perf: Floating point exception
>> Obtained 8 stack frames.
>> ./perf(dump_stack+0x2e) [0x510c89]
>> ./perf(sighandler_dump_stack+0x2e) [0x510d69]
>> /lib64/libc.so.6(+0x36a80) [0x7f9419588a80]
>> ./perf(perf_top__header_snprintf+0x208) [0x4f42c1]
>> ./perf() [0x453c09]
>> ./perf() [0x454ddb]
>> /lib64/libpthread.so.0(+0x736d) [0x7f941bc8c36d]
>> /lib64/libc.so.6(clone+0x3f) [0x7f9419662e1f]
>> Floating point exception (core dumped)
>>
>> working on fix
> so my crash is caused by bogus resize code, I have it working with fix for
> memory corruption happening in SIGWINCH signal handler (attached)
> could you please check if that fixes the code for you?

Yes, this fixes the crash caused by resize.

But original crash I reported is still there. Issue seems to be with evsel
being NULL and we are trying to de-reference it somewhere inside
annotation_line__new().

Will try to spend more time on it.

-Ravi

\
 
 \ /
  Last update: 2017-11-14 11:16    [W:0.247 / U:0.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site