title: What's the difference between KERN_INVALID_ADDRESS and KERN_PROTECTION_FAILURE?
body: <p>What's the difference between <code>KERN_INVALID_ADDRESS</code> and <code>KERN_PROTECTION_FAILURE</code> on iPhone OS?</p>
  
  <p>I have two crash reports from an ad-hoc beta tester that are 5 minutes apart and the main difference between them (other than the "Binary Images:" section) is this section:</p>
  
  <p>Report A:</p>
  
  <pre><code>Exception Type:  EXC_BAD_ACCESS (SIGBUS)
  Exception Codes: KERN_PROTECTION_FAILURE at 0x00000008
  </code></pre>
  
  <p>Report B:</p>
  
  <pre><code>Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
  Exception Codes: KERN_INVALID_ADDRESS at 0x67696c69
  </code></pre>
  
  <p>For what it's worth, both have this trace:</p>
  
  <pre><code>Thread 0 Crashed:
  0   libobjc.A.dylib                 0x30011940 objc_msgSend + 20
  1   UIKit                           0x30940174 -[UIWindow _shouldAutorotateToInterfaceOrientation:] + 60
  2   UIKit                           0x30a223d8 -[UIWindow _updateToInterfaceOrientation:duration:force:] + 36
  3   UIKit                           0x30958638 -[UIWindow _updateInterfaceOrientationFromDeviceOrientation] + 112
  4   UIKit                           0x30942514 -[UIWindow _handleDeviceOrientationChange:] + 72
  5   Foundation                      0x3054dc7a _nsnote_callback + 178
  6   CoreFoundation                  0x3024ea52 _CFXNotificationPostNotification + 298
  7   Foundation                      0x3054b854 -[NSNotificationCenter postNotificationName:object:userInfo:] + 64
  8   UIKit                           0x309414a4 -[UIDevice setOrientation:] + 124
  9   UIKit                           0x30938330 -[UIApplication handleEvent:withNewEvent:] + 5232
  10  UIKit                           0x30936ce8 -[UIApplication sendEvent:] + 60
  11  UIKit                           0x30936874 _UIApplicationHandleEvent + 4336
  12  GraphicsServices                0x32046964 PurpleEventCallback + 1028
  13  CoreFoundation                  0x30254a70 CFRunLoopRunSpecific + 2296
  14  CoreFoundation                  0x30254164 CFRunLoopRunInMode + 44
  15  GraphicsServices                0x3204529c GSEventRunModal + 188
  16  UIKit                           0x308f0374 -[UIApplication _run] + 552
  17  UIKit                           0x308eea8c UIApplicationMain + 960
  18  MyApp                           0x00015e24 0x1000 + 85540
  19  MyApp                           0x0000f138 0x1000 + 57656
  </code></pre>
  
  <p>Also, I do not implement the "shouldAutorotateToInterfaceOrientation:" method anywhere in my code.</p>