You can see the full list of Mach kernel exceptions in / usr / include / mach / exception _types.h. Most, if not all, boils down to some flavor of "your program did something wrong."
As hotpaw2 already said, the specific thing that you did wrong in this case was dereferenced NULL . Perhaps you did this directly in your own code or indirectly by passing NULL some library function or structure method. For example, passing NULL , since one of the arguments to the memcpy pointer is a good way to cause this failure.
Note that sending an Objective-C message to nil is ok - it does nothing and returns 0. On the other hand, passing nil as an argument in the message may not be completely OK. Passing nil where it is not needed can throw an NSException (which will cause a SIGTRAP , not SIGBUS ), or it can lead to some code, eventually dereferencing NULL . Or it can be completely harmless. But you should not do this if the documentation does not explicitly mention it, because otherwise, even if it works now, it may break later.
Peter Hosey
source share