Re: Kernel Panic in IOMemoryDescriptor
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 I need to make a correction. The buffer being used for readBytes is an IO buffer passed in from the upper level drivers. However, the void* bytes parameters used to receive the bytes is from a buffer that is allocated on the IO path. On Sep 29, 2009, at 5:46 PM, Duane Murphy wrote:
Hi Folks, I'm getting an intermittent kernel panic calling readBytes in an IOMemoryDescriptor. The underlying descriptor is an IOBufferMemoryDescriptor.
The kernel panic register dump and decoded stack trace are at the end of the message.
What would be the cause of a kernel panic like this?
The kext I am working with is a disk driver (subclass of IOBlockStorageDriver). This panic happens more often when the underlying disk is a Soft RAID disk.
The buffer that is failing is allocated on the IO path. I am not getting any errors for any allocations. I am working on changing this so that there should be less allocations on the IO path.
Could allocating this buffer on the IO path be the underlying cause of this panic?
Thanks for your insight to this difficult to decipher problem.
...Duane
--- Mon Sep 28 15:13:08 2009 panic(cpu 0 caller 0x001AB0FE): Kernel trap at 0x0043145a, type 14=page fault, registers: CR0: 0x8001003b, CR2: 0x3e75b8c0, CR3: 0x01107000, CR4: 0x00000660 EAX: 0x00000280, EBX: 0x007cbe78, ECX: 0x079b6a88, EDX: 0x000f97cf CR2: 0x3e75b8c0, EBP: 0x5697fd88, ESI: 0x08dd5280, EDI: 0x3df8fa48 EFL: 0x00010202, EIP: 0x0043145a, CS: 0x00000008, DS: 0x01f80010 Error code: 0x00000000
0x12b4c6 <panic+422>: mov 0x4dd280,%eax 0x1ab0fe <kernel_trap+1450>: add $0xcc,%esp 0x1a1713 <trap_from_kernel+26>: mov %edi,%esp 0x43145a <IOGeneralMemoryDescriptor::dmaCommandOperation(unsigned long, void*, unsigned int) const+1260>: mov (%edi,%ebx,1),%esi 0x4315a4 <IOGeneralMemoryDescriptor::getPhysicalSegment64(unsigned long, unsigned long*)+160>: test %eax,%eax 0x430e56 <IOMemoryDescriptor::readBytes(unsigned long, void*, unsigned long)+76>: mov %edx,%ecx
...Duane
...Duane -----BEGIN PGP SIGNATURE----- Version: PGP Desktop 9.10.0 (Build 500) Charset: US-ASCII wsBVAwUBSsKsNUrg9acQ4r2CAQj1+Af+JxU1ncV9R3V5U2nrNZ8JWME5RjctQwjB NOEVf1LNDrMkGuBG6e1ciKIIGqBDxYqQSVjDAouqnIy0/fsqHvIUFCpD5fZX3AlF 1z49XVyuGmiQR72VoN8DbyTwl4TtyI4vFvtR5FFBw8JEFVc3p+oOkxQo5dlvmbcH QxEc4/nSR2lLSDH7G2R32k2X21niiW4/O+erKvZl/M4Ivbk14Q/z6cHzbJYGLhNu u53Ikx4Lv3p9FIGCQWxh5PQhqSUDt6uKjrzzNX1kP8/LctneUDvrqHYCb0rol+4c DrvCLqduRWiRBRwenNiq4Oz4b7UiC6I95PN9aJ5hhSsbbJxtLX2ckw== =2BGr -----END PGP SIGNATURE----- _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.a... This email sent to site_archiver@lists.apple.com
participants (1)
-
Duane Murphy