[Crash-utility] Unable to switch stack frames while using crash
Flavio Leitner
fleitner at redhat.com
Wed Jun 15 14:26:22 UTC 2011
On 06/15/2011 12:56 AM, Shashidhara Shamaiah wrote:
> Hi,
>
>
>
> I was investigating a 64 bit linux kernel dump . I have following doubts
> regarding usage of crash.
>
>
>
> 1) I wanted to access the intermediate kernel stack frames. To know the
> status of the frame and the point of failure.
>
> When I tried to access a stack frame I get an error message "crash:
> prohibited gdb command: frame". Can you please let me know if there is
> any other way of accessing the kernel stack frames using
> crash.
>
Try 'bt -f'
Try also 'help bt' to discover other nice parameters as well.
>
> 2) When I run bt in crash, I get a stack trace. Another person from a
> different team reported a slightly different stack trace to mine. Below
> are the stack traces. The register contents are quite different between
> the two
>
>
>
> My stack trace
>
> PID: 13366 TASK: ffff88031b60d580 CPU: 1 COMMAND: "telnet"
>
> #0 [ffff88031ce759d0] machine_kexec at ffffffff81024486
>
> #1 [ffff88031ce75a40] crash_kexec at ffffffff8107e230
>
> #2 [ffff88031ce75b20] oops_end at ffffffff8100fa38
>
> #3 [ffff88031ce75b50] no_context at ffffffff8102d801
>
> #4 [ffff88031ce75ba0] __bad_area_nosemaphore at ffffffff8102d9c9
>
> #5 [ffff88031ce75c70] bad_area at ffffffff8102da41
>
> #6 [ffff88031ce75ca0] do_page_fault at ffffffff8102dd19
>
> #7 [ffff88031ce75cf0] page_fault at ffffffff812d7425
>
> #8 [ffff88031ce75d78] n_tty_read at ffffffff811f03b3
>
> #9 [ffff88031ce75ec0] tty_read at ffffffff811ebf7e
>
> #10 [ffff88031ce75f10] vfs_read at ffffffff810ebcc8
>
> #11 [ffff88031ce75f40] sys_read at ffffffff810ebe48
>
> #12 [ffff88031ce75f80] system_call_fastpath at ffffffff8100bbc2
>
> RIP: 00007ffff716b9e0 RSP: 00007fffffffdfc0 RFLAGS: 00010212
>
> RAX: 0000000000000000 RBX: ffffffff8100bbc2 RCX: 0000000000000000
>
> RDX: 0000000000001ff6 RSI: 000000000061c02a RDI: 0000000000000000
>
> RBP: 0000000000001ff6 R8: 0000000000000000 R9: 0000000000000000
>
> R10: 0000000000616680 R11: 0000000000000246 R12: 0000000000000000
>
> R13: 0000000000000001 R14: 000000000061c02a R15: 00000000006178a0
>
> ORIG_RAX: 0000000000000000 CS: 0033 SS: 002b
>
>
>
>
>
> Reported stack trace
>
> PID: 13366 TASK: ffff88031b60d580 CPU: 1 COMMAND: "telnet"
>
> #0 [ffff88031ce759d0] machine_kexec at ffffffff81024486
>
> #1 [ffff88031ce75a40] crash_kexec at ffffffff8107e230
>
> #2 [ffff88031ce75ad8] n_tty_read at ffffffff811f03b3
>
> #3 [ffff88031ce75b20] oops_end at ffffffff8100fa38
>
> #4 [ffff88031ce75b50] no_context at ffffffff8102d801
>
> #5 [ffff88031ce75ba0] __bad_area_nosemaphore at ffffffff8102d9c9
>
> #6 [ffff88031ce75c20] native_sched_clock at ffffffff810120aa
>
> #7 [ffff88031ce75c70] bad_area at ffffffff8102da41
>
> #8 [ffff88031ce75ca0] do_page_fault at ffffffff8102dd19
>
> #9 [ffff88031ce75cf0] page_fault at ffffffff812d7425
>
> [exception RIP: n_tty_read+1420]
>
> RIP: ffffffff811f03b3 RSP: ffff88031ce75da8 RFLAGS: 00010246
>
> RAX: 0000000000000000 RBX: ffff8802cbd54a68 RCX: 000000000061c044
>
> RDX: 0000000000000005 RSI: ffff88031ce75e87 RDI: ffff8802cbd54d1c
>
> RBP: ffff88031ce75eb8 R8: 0000000000000000 R9: 0000000000000000
>
> R10: 0000000000616680 R11: 0000000000000246 R12: 000000000061c044
>
> R13: ffff8802cbd54800 R14: 0000000000000000 R15: 7fffffffffffffff
>
> ORIG_RAX: ffffffffffffffff CS: 0010 SS: 0018 #10
> [ffff88031ce75ec0] tty_read at ffffffff811ebf7e
>
> #11 [ffff88031ce75f10] vfs_read at ffffffff810ebcc8
>
> #12 [ffff88031ce75f40] sys_read at ffffffff810ebe48
>
> #13 [ffff88031ce75f80] system_call_fastpath at ffffffff8100bbc2
>
>
>
>
>
> 3) I want to retrieve the address of a data structure in the current
> context. How can it be done? I tried using struct command, but it did
> not help
>
You need to use bt -f and find what pointer you are looking for and
then: struct <struct name> pointer
most of times just doing: <struct name> pointer
works out
fbl
>
> 4) When I run the command readelf -a vmcore, I get an error message
> "readelf: Error: Not an ELF file - it has the wrong magic bytes at the
> start."
>
>
>
>
>
> Please help regarding the above queries.
>
>
>
> Thanks and Regards
>
> Shashidhara
>
>
> Information transmitted by this e-mail is proprietary to MphasiS, its associated companies and/ or its customers and is intended
> for use only by the individual or entity to which it is addressed, and may contain information that is privileged, confidential or
> exempt from disclosure under applicable law. If you are not the intended recipient or it appears that this mail has been forwarded
> to you without proper authority, you are notified that any use or dissemination of this information in any manner is strictly
> prohibited. In such cases, please notify us immediately at mailmaster at mphasis.com and delete this mail from your records.
>
>
>
>
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
More information about the Crash-utility
mailing list