Re: Page Fault Kernel Panic on Leopard
Re: Page Fault Kernel Panic on Leopard
- Subject: Re: Page Fault Kernel Panic on Leopard
- From: JanakiRam <email@hidden>
- Date: Tue, 11 Dec 2007 20:37:52 +0530
Hi Brian,
Thanks for the information. Will get back to you.
-JanakiRam.
On Dec 11, 2007 8:14 PM, Brian Bechtel <email@hidden> wrote:
> On Dec 11, 2007 5:48 AM, JanakiRam <email@hidden> wrote:
> > Hi Brian,
> >
> > Thanks for the initial response.
> >
> > > Why not post the rest of the panic log? That's the information that
> > > tells you what really happened.
> >
> > Here is the complete Panic Log. Please help me to analyze this problem.
>
> > panic(cpu 0 caller 0x001A7BED): Kernel trap at 0x346e9f78, type
> > 14=page fault, registers:
> > CR0: 0x8001003b, CR2: 0x349d9a00, CR3: 0x00ff9000, CR4: 0x00000660
> > EAX: 0x349d9a00, EBX: 0x349d9a00, ECX: 0x00508444, EDX: 0xffffffff
> > CR2: 0x349d9a00, EBP: 0x344b75b8, ESI: 0x00000000, EDI: 0x3471afa0
> > EFL: 0x00010206, EIP: 0x346e9f78, CS: 0x00000008, DS: 0x00000010
> > Error code: 0x00000000
>
> CR2 is 0x349d9a00. That's the offending address. Notice that this
> address is also found in registers EBX and EAX.
>
> > Backtrace, Format - Frame : Return Address (4 potential args on stack)
> > 0x344b73c8 : 0x12b0e1 (0x455670 0x344b73fc 0x133238 0x0)
> > 0x344b7418 : 0x1a7bed (0x45ea20 0x346e9f78 0xe 0x45e1d4)
> > 0x344b74f8 : 0x19e517 (0x344b7510 0x7fb4bb0 0x344b75b8 0x346e9f78)
> > 0x344b7508 : 0x346e9f78 (0xe 0x48 0x10 0x1a0010)
> > 0x344b75b8 : 0x346ea13d (0x349d9a00 0x0 0x22db6 0x344b75ec)
> > 0x344b75d8 : 0x346eacb2 (0x349d9a00 0x0 0x347096cc 0x34709684)
> > 0x344b7628 : 0x346f65ab (0x349e8a58 0x34a35600 0x0 0x1)
> > 0x344b76b8 : 0x346f6ca7 (0x18000 0x0 0x3470ca28 0x349e8a18)
> > 0x344b7728 : 0x346f412d (0x34a0ec00 0xb 0x3470bf60 0x347083d0)
> > 0x344b7758 : 0x346e668e (0x344b7cc8 0x344b7cf8 0x34708298 0x34708284)
> > 0x344b77a8 : 0x346e898e (0x344b7cf8 0x344b7cf8 0x0 0x34a35600)
> > 0x344b7d18 : 0x1f183b (0x344b7d34 0x0 0x1 0x344b7ddc)
> > 0x344b7d68 : 0x1e11b6 (0xaa41c70 0x62853f0 0x344b7f48 0x0)
> > 0x344b7df8 : 0x1e1334 (0x453c964 0x344b7e1c 0x0 0x63614265)
> > 0x344b7f78 : 0x3da847 (0x5cb0060 0x453c860 0x453c8a4 0x0)
> > 0x344b7fc8 : 0x19ea34 (0xb1e39a0 0x0 0x1a10b5 0xb1e39a0)
>
> This is the backtrace. The first value in each line is the stack
> frame, the next is the address. The top three addresses are standard
> for any panic on Intel, they are the routines panic, which is called
> by kernel_trap, which is called by trap_from_kernel. This is a
> typical sequence for any page fault. The fourth line from the top is
> the interesting line. It's code in your kext. How can I tell? I
> look at the "Kernel loadable modules in backtrace" information
> (someday that will say "kernel extensions in backtrace")
>
> > Kernel loadable modules in backtrace (with dependencies):
> > com.yourcompany.kext.mydriver(1.0.0d1)@0x346e5000->0x34725fff
>
> 0x346e9f78 is 0x4f78 from the start of your kext at 0x346e5000. The
> offending address in CR2, 0x349d9a00, is 0x2f4a00 from the start of
> your kext. I notice that you've passed this address in from other
> routines in your kext (the first argument on each of the two previous
> backtrace lines is 0x349d9a00).
>
> What else can I tell? Not much. You're running 10.5.1:
>
> > Mac OS version:
> > 9B18
>
> on a Mac Book Pro
>
> > System model name: MacBookPro2,2 (Mac-F42187C8)
>
> Your best bet to debug this further is to use two machines. Generate
> symbols by setting the DWARF with dSYM option in your Xcode project.
> The command
> cd build/Development
> kextload -z -n -a com.yourcompany.kext.mydriver@0x346e5000 -s . ./mydriver.kext
> should generate the appropriate symbol files. On a host (debugging)
> machine, download the 10.5.1 Kernel Debug Kit and mount it. Panic the
> target
>
> gdb /Volumes/KernelDebugKit/mach_kernel
> (gdb) source /Volumes/KernelDebugKit/kgmacros
> (gdb) add-kext mydriver.kext
> (gdb) kdp-reattach {target IP address} # replace this with an actual IP address
> (gdb) paniclog # should be the same as the panic you've reported
> (gdb) bt # should show you symbols in your code
> (gdb) frame 4 # to get to the offending stack frame
> (gdb) list # to see the code
>
> Good luck.
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-kernel mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden