On Jul 10, 2009, at 12:18 PM, Kevin Brock wrote:
Mr. Gecko wrote:

[MGMDaemon setProtocolForProxy:@protocol(MGMDaemonProtocol)];
[MGMDaemon runTest:@"Test"];
The basic code looks OK. I've got code a lot like that which is working fine...

What's the declaration of the protocol methods that you're calling?

The low bytes of this:
Exception Codes: KERN_INVALID_ADDRESS at 0x00000000c0000023

look suspiciously like a Windows error code, 0xc000023, STATUS_BUFFER_TOO_SMALL... Is there anywhere that you're getting back that type of error code on the other end of this?

No, it looks like a malloc free list pointer. The base address was 0xc0000003 (in edx), which is NULL with the top two and bottom two bits all inverted. malloc masks its free list pointers that way on Leopard, and stores a free list pointer at the beginning of every freed block. So this pointer came from some code reading from a freed block. In objc_msgSend(), usually the receiver object has already been freed, and the malloc pointer was stored in place of the isa pointer.

So you crashed in objc_msgSend:
http://sealiesoftware.com/blog/archive/2008/09/22/objc_explain_So_you_crashed_in_objc_msgSend.html


--
Greg Parker     gpar...@apple.com     Runtime Wrangler


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to