From: arvid.brodin@enea.com (Arvid Brodin)
To: kernelnewbies@lists.kernelnewbies.org
Subject: Debug kernel panic with gdb?
Date: Fri, 25 Mar 2011 17:13:16 +0100 [thread overview]
Message-ID: <4D8CBF1C.5040409@enea.com> (raw)
In-Reply-To: <4D8BBC17.8080304@enea.com>
Arvid Brodin wrote:
> Hi,
>
> I'm trying to debug a kernel panic (something like this):
>
> Unable to handle kernel NULL pointer dereference at virtual address 00000014
> ptbr = 93959000 pgd = 93a0a000
> Oops: Kernel access of bad area, sig: 11 [#1]
> FRAME_POINTER chip: 0x01f:0x1e82 rev 2
> Modules linked in: ftdi_sio usbserial
> PC is at isp1760_irq+0xda/0x7f0
> LR is at isp1760_irq+0x492/0x7f0
> pc : [<901408be>] lr : [<90140c76>] Not tainted
> sp : 93aa399c r12: fffffffe r11: 00000000
> r10: 00000000 r9 : fffffffe r8 : 00000000
> r7 : 93aa3a08 r6 : 93406400 r5 : 00820004 r4 : 00000003
> r3 : 00000008 r2 : 00000002 r1 : fffffffd r0 : 93837000
>
> Call trace:
> [<90134abc>] usb_hcd_irq+0x50/0x54
> [<900383da>] handle_IRQ_event+0x1e/0x40
> [<90039098>] handle_level_irq+0x78/0x8c
> ...
>
> This is on an AVR32 platform, and I'm building the kernel myself (cross
> compiling). The image is then converted to a uImage before being loaded
> to the target. Is there a way to get the following to work in this context?
>
> $ gdb arch/avr32/boot/images/vmlinux.elf
> ...
> Reading symbols from /home/.../linux-2.6.37/arch/avr32/boot/images/vmlinux.elf...done.
> (gdb) list *isp1760_irq+0xda
> 0x9017ac36 is in isp1760_irq (include/linux/spinlock.h:285).
> 280 raw_spin_lock_init(&(_lock)->rlock); \
> 281 } while (0)
> 282
> 283 static inline void spin_lock(spinlock_t *lock)
> 284 {
> 285 raw_spin_lock(&lock->rlock);
> 286 }
> 287
> 288 static inline void spin_lock_bh(spinlock_t *lock)
> 289 {
>
>
> The problem is that the line reported is totally wrong (this being very unhelpful
> and confusing indeed - it tool me awhile to realise this!). I've also tried to
> use gdb from the avr32 toolchain with the same result.
>
> Is there a way to get this to work?
>
> Thanks,
> Arvid Brodin
> Enea Services Stockholm AB
To reply to my own email, the problem probably has to do with the fact that the
kernel is built with optimization. Modifying KBUILD_CFLAGS in the Makefile to
specify -O1 made things a lot better (although you still cannot rely completely
on the line number reported). Unfortunately, the kernel won't build with -O0.
--
Arvid Brodin
Enea Services Stockholm AB
next prev parent reply other threads:[~2011-03-25 16:13 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-24 21:48 Debug kernel panic with gdb? Arvid Brodin
2011-03-25 16:13 ` Arvid Brodin [this message]
2011-03-25 19:19 ` Mulyadi Santosa
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D8CBF1C.5040409@enea.com \
--to=arvid.brodin@enea.com \
--cc=kernelnewbies@lists.kernelnewbies.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.