Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755213AbeAOLC2 convert rfc822-to-8bit (ORCPT + 1 other); Mon, 15 Jan 2018 06:02:28 -0500 Received: from Galois.linutronix.de ([146.0.238.70]:39667 "EHLO Galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751636AbeAOLC0 (ORCPT ); Mon, 15 Jan 2018 06:02:26 -0500 From: John Ogness To: "Kohli\, Gaurav" Cc: peterz@infradead.org, mingo@kernel.org, linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org Subject: Re: Query: Crash is coming during /prod/PID/stat and do_exit of same task References: <36ea8b88-4786-dbb2-6b89-15f9801e9c86@codeaurora.org> Date: Mon, 15 Jan 2018 12:02:23 +0100 In-Reply-To: <36ea8b88-4786-dbb2-6b89-15f9801e9c86@codeaurora.org> (Gaurav Kohli's message of "Tue, 9 Jan 2018 19:03:05 +0530") Message-ID: <87zi5fxu4g.fsf@linutronix.de> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: Hello Gaurav. On 2018-01-09, Kohli, Gaurav wrote: > We are seeing crash in do_task_stat while accessing stack pointer, It > seems same task has already completed do_exit call. > So it seems a race between them: > > Below is the crash trace: > 49750.534377] Kernel BUG at ffffff8e7a4c53a8 [verbose debug info > unavailable] > [49750.534394] task: ffffffe7b4475580 task.stack: ffffffe7a5f0c000 > [49750.534400] PC is at do_task_stat+0x740/0x908 > [49750.534402] LR is at do_task_stat+0xa4/0x908 > [49750.534403] pc : [] lr : [] > pstate: 80400145 > [49750.534404] sp : ffffffe7a5f0fbd0 > > and here is stack trace on that core: > > -000|user_stack_pointer(inline) > -000|do_task_stat( >     |    m = 0xFFFFFFE7A5CD7380, >     |    ns = 0xFFFFFF8E7C43C748, >     |  ?, >     |    task = 0xFFFFFFE80D8C2280, >     |  ?) >     |  tty_pgrp = 0 >     |  ppid = 2084696064 >     |  sid = 0 >     |  mm = 0xFFFFFFE7B4424140 >     |  tcomm = (84, 9, 71, 122, 142, 255, 255, 255, 48, 253, 240, 165, > 231, 255, 255, 255) >     |  flags = 18446743969119403392 > -001|proc_tgid_stat( >     |    m = 0xFFFFFFE7A5CD7380, >     |  ?, > > Below are task stats which shows , process completed the do_exit call: > struct task_struct.flags -x 0xFFFFFFE80D8C2280 >   flags = 0x40870c > > crash_64> struct task_struct.exit_code -x 0xFFFFFFE80D8C2280 >   exit_code = 0x6 > >    struct task_struct.state -x 0xFFFFFFE80D8C2280 >   state = 0x40 I am confused why this task is in the TASK_PARKED state. What kind of task is this? > In our build both patches are there , > fs/proc: report eip/esp in /prod/PID/stat for coredumping > > and also  task.state has already set PF_DUMPCORE as it got the sigabrt > signal. John Ogness