[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87zi5fxu4g.fsf@linutronix.de>
Date: Mon, 15 Jan 2018 12:02:23 +0100
From: John Ogness <john.ogness@...utronix.de>
To: "Kohli\, Gaurav" <gkohli@...eaurora.org>
Cc: peterz@...radead.org, mingo@...nel.org,
linux-kernel@...r.kernel.org, linux-arm-msm@...r.kernel.org
Subject: Re: Query: Crash is coming during /prod/PID/stat and do_exit of same task
Hello Gaurav.
On 2018-01-09, Kohli, Gaurav <gkohli@...eaurora.org> 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 : [<ffffff8e7a4c53a8>] lr : [<ffffff8e7a4c4d0c>]
> 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
Powered by blists - more mailing lists