Memory Management Debugging Tools?
Memory Management Debugging Tools?
- Subject: Memory Management Debugging Tools?
- From: Duane Murphy <email@hidden>
- Date: Mon, 17 Aug 2009 09:55:17 -0700
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
I'm having a problem with an IOKit kext that I hope I would be able
figure out using some typical memory management tools.
Are there any special memory management tools or options (ie
MallocDebug) that can help in the kernel.
The problem only occurs at early startup (before Ethernet so I would
have to debug with FireWire). It is random but consistent. That is,
the panic doesn't always occur, but when it does it is always exactly
the same.
The panic always occurs in IOUSBControllerV3::HandlePowerChange(). My
kext is not anywhere in the stack trace.
Decoding the panic shows that the workloop in the CommandGate for the
IOUSBControllerV3 instance is NULL. This causes
IOEventSource::openGate() to panic.
I'm looking for ideas for how to track down this problem. My suspicion
is that I have some code that is clearing data in a stale pointer.
However, I am open to other possible reasons for causing this problem.
Thank you for any tips or ideas,
...Duane
- ---
0x12b4c6 <panic+422>: mov 0x4dd280,êx
0x1ab0fe <kernel_trap+1450>: add $0xcc,%esp
0x1a1713 <trap_from_kernel+26>: mov íi,%esp
0x4263e7 <IOEventSource::openGate()+9>: mov (êx),íx
0x42752f <IOCommandGate::runAction(int (*)(OSObject*, void*, void*,
void*, void*), void*, void*, void*, void*)+271>: add $0x3c,%esp
0x86221fe7 <IOUSBControllerV3::HandlePowerChange(unsigned long)+67>:
leave
0x86221604 <IOUSBControllerV3::setPowerState(unsigned long, IOService*)
+350>: xor êx,êx
0x41c606 <IOService::driverSetPowerState()+132>: mov êx,íi
0x41c99d <IOService::pmDriverCallout(IOService*)+37>: jmp
0x41c9b5 <IOService::pmDriverCallout(IOService*)+61>
0x13ebde <thread_call_thread+233>: movl $0x0,0x4(%esp)
0x1a14fc <call_continuation+28>: add $0x10,%esp
-----BEGIN PGP SIGNATURE-----
Version: PGP Desktop 9.10.0 (Build 500)
Charset: US-ASCII
wsBVAwUBSomLfErg9acQ4r2CAQjqcgf/XMCQvsc78WV5r2oRQN3AQPqp0dVJwJ7q
CMMmoCCsEG37t/VsENv2iHT3pv2MXdeHQMGnQ0/ApLtvIfpfWT5PlVWp/F28ZaY8
hyYJKFNkGPazN6mGn+2xGEWq5T5zez0+GiMcW2/MuaW/w8SNCphV14kjj/jr7LiU
7qdzcshSxaqSShryzouIRp/FakOICPuwZ89fS5XFR0lcyUkH2nkDA43d3ajBvHaJ
MK6nhjkoz3wFprsrjT/L+Zjib8V/A12XmIKvkX0Hz/cqQdxrdTJBbyIXqdmnQa2B
FPU3xQbdibsKDNTwI9+JTsZWmNsqaUJ28+EVym6dzdKCkF3GtAsyyw==
=0QyA
-----END PGP SIGNATURE-----
_______________________________________________
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