Re: Error in save_stack_trace() on x86_64?

From: Arjan van de Ven
Date: Sun May 11 2008 - 15:44:53 EST


Vegard Nossum wrote:
Hi,

I am having a problem with v2.6.26-rc1 on x86_64. It seems that
save_stack_trace() is not able to follow page fault boundaries, since
all my saved traces look like this:

RIP: 0010:[<ffffffff8039b004>] [<ffffffff8039b004>] add_uevent_var+0xb4/0x160
...
[<ffffffff80221f97>] kmemcheck_read+0x127/0x1e0
[<ffffffff80222269>] kmemcheck_access+0x179/0x1d0
[<ffffffff8022231f>] kmemcheck_fault+0x5f/0x80
[<ffffffff8061cd1e>] do_page_fault+0x4de/0x8d0
[<ffffffff8061a7d9>] error_exit+0x0/0x51
[<ffffffffffffffff>] 0xffffffffffffffff

I have this in my .config:

CONFIG_STACKTRACE_SUPPORT=y
CONFIG_STACKTRACE=y
...
CONFIG_FRAME_POINTER=y
...
CONFIG_DEBUG_INFO=y


On 32-bit, I am able to see the calls leading up to the page fault as
well. Did I miss something here?

can you give an example?

if a pagefault happens in userspace this trace looks correct.

if it happens in kernel space... I wonder if the separate exception stack thing
is hurting us with the stacks not being properly connected...
(but oopses and the like seem to come out just fine so I kinda doubt you're hitting that)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/