lkml.org 
[lkml]   [2020]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Linux 5.8-rc1 BUG unable to handle page fault (snd_pcm)
From
Date
On 6/15/20 2:55 PM, Linus Torvalds wrote:
> On Mon, Jun 15, 2020 at 1:41 PM Shuah Khan <skhan@linuxfoundation.org> wrote:
>>
>> I have CONFIG_DEBUG_INFO enabled. Ran the stack trace through
>> scripts/decode_stacktrace.sh
>
> Thanks. It looks like it isn't needed and people already know what the cause is.
>
> Also, sadly the stack trace decoding didn't end up as useful as it
> could have been because it looks like it doesn't know how to do the
> nice address lookups for modules.
>
> So this:
>
>> [ 15.341237] RIP: 0010:__memset (arch/x86/lib/memset_64.S:41)
>
> gets nicely pinpointed to the source, but the most critical part of
> the call trace is in modules, and there we end up having just
>
>> [ 15.341259] Call Trace:
>> [ 15.341267] ? snd_pcm_hw_params+0x3ca/0x440 snd_pcm
>> [ 15.341272] snd_pcm_common_ioctl+0x173/0xf20 snd_pcm
>> [ 15.341277] ? snd_ctl_ioctl+0x1c5/0x710 snd
>> [ 15.341282] snd_pcm_ioctl+0x27/0x40 snd_pcm
>
> without then looking at the debug info in the snd_pcm module to figure that out.
>
> Then when the call trace gets back to non-module code, it looks good again:
>
>> [ 15.341285] ksys_ioctl (fs/ioctl.c:49 /home/shuah/lkml/linux_5.8/fs/ioctl.c:753)
>> [ 15.341288] __x64_sys_ioctl (fs/ioctl.c:760)
>> [ 15.341291] do_syscall_64 (arch/x86/entry/common.c:359)
>> [ 15.341294] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:124)
>
> with pinpointing to exactly where the calls are.
>
> I note that Konstantin Khlebnikov did add support to do the module
> parts too back in 2016, but it requires people to know to give the
> module path too.
>
> Adding him and Sasha to the participants in case there are ideas on
> how to improve on this (and party just because I want to once again
> give scripts/decode_stacktrace.sh soem more mention, because a lot of
> people seem to be unaware of how useful it can be to make oopses and
> traces more readable..
>

Thanks. I usually decode all of this by hand. This script saves a lot
of time. Very cool.

Yeah. I should have thought about adding module path. With module path
added, I get better results:

[ 15.341267] ? snd_pcm_hw_params (./include/linux/string.h:391
/home/shuah/lkml/linux_5.8/sound/core/pcm_native.c:759) snd_pcm
[ 15.341272] snd_pcm_common_ioctl (sound/core/pcm_native.c:792
/home/shuah/lkml/linux_5.8/sound/core/pcm_native.c:3210) snd_pcm
[ 15.341277] ? snd_ctl_ioctl+0x1c5/0x710 snd
[ 15.341282] snd_pcm_ioctl (sound/core/pcm_native.c:3297) snd_pcm
[ 15.341285] ksys_ioctl (fs/ioctl.c:49
/home/shuah/lkml/linux_5.8/fs/ioctl.c:753)
[ 15.341288] __x64_sys_ioctl (fs/ioctl.c:760)
[ 15.341291] do_syscall_64 (arch/x86/entry/common.c:359)
[ 15.341294] entry_SYSCALL_64_after_hwframe
(arch/x86/entry/entry_64.S:124)
[ 15.341296] RIP: 0033:0x7fcbaf56137b
[ 15.341297] Code: Bad RIP value.

> Maybe even just a warning about lacking a module path when there are
> module symbols present?
>

It does tell you the usage.

Usage:
scripts/decode_stacktrace.sh [vmlinux] [base path] [modulespath]


I would be useful to add a warning.

thanks,
-- Shuah

\
 
 \ /
  Last update: 2020-06-15 23:19    [W:0.063 / U:1.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site