Most likely, you overfulfilled some random object, and, by chance, an instance of NSData (or CFData) was allocated in the place of the current object.
Run the zombie detection tool and make sure it catches something (SO search for NSZombie).
Alternatively, set a breakpoint at objc_exception_throw and this should show you where the message is being sent. However, this may not provide sufficient context.
source
share