From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757771AbdKOOEq (ORCPT ); Wed, 15 Nov 2017 09:04:46 -0500 Received: from mx1.redhat.com ([209.132.183.28]:55598 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756973AbdKOOEd (ORCPT ); Wed, 15 Nov 2017 09:04:33 -0500 Date: Wed, 15 Nov 2017 15:04:29 +0100 From: Jiri Olsa To: Ravi Bangoria Cc: Jiri Olsa , Arnaldo Carvalho de Melo , lkml , Ingo Molnar , Namhyung Kim , David Ahern , Peter Zijlstra , Andi Kleen Subject: Re: [PATCH 16/35] perf annotate: Add samples into struct annotation_line Message-ID: <20171115140429.GA3661@krava> References: <20171011150158.11895-1-jolsa@kernel.org> <20171011150158.11895-17-jolsa@kernel.org> <20171113201438.GB26900@krava> <20171114093114.GA25679@krava> <2d6af5ff-dad9-f2a1-e183-5dc79f91702b@linux.vnet.ibm.com> <20171114102954.GA29512@krava> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20171114102954.GA29512@krava> User-Agent: Mutt/1.9.1 (2017-09-22) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Wed, 15 Nov 2017 14:04:32 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Nov 14, 2017 at 11:29:54AM +0100, Jiri Olsa wrote: > On Tue, Nov 14, 2017 at 03:45:27PM +0530, Ravi Bangoria wrote: > > 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. > > right, I can see it now.. we are passing NULL as evsel in > the top but does not check on that.. attached patch prevents > the crash for me, but I'll need to double check if that's > correct fix I ended up with few other annotation fixes, could you please check following branch if it's working for you? https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git perf/fixes thanks, jirka