title: UISearchBar, UITableViewController and UINavigationController, Got a SIGSEGV while executing native code
body: <p>I have a simple test application with a NavigationController that extends UINavigationController</p>
  
  <pre><code>[MonoTouch.Foundation.Register("NavigationController")]
  public class NavigationController : UINavigationController
  {
      public NavigationController (IntPtr handle) : base (handle)
      {
  
      }
  
      [Export ("initWithCoder:")]
      public NavigationController (NSCoder coder) : base (coder)
      {
  
      }
  
      public NavigationController (UIViewController rootViewController) : base(rootViewController)
      {
  
      }
  
      public override void ViewDidLoad ()
      {
          base.ViewDidLoad ();
  
          View.BackgroundColor = UIColor.Green;
      }
  }
  </code></pre>
  
  <p>I have also a CustomersTableViewController that extends UITableViewController (here Source is not influential). In ViewDidLoad method I create a UISearchBar and I add it to TableHeaderView.</p>
  
  <pre><code>public class CustomersTableViewController : UITableViewController
  {
      UISearchBar _searchBar;
  
      public CustomersTableViewController(UITableViewStyle style) : base(style)
      {
      }
  
      public override void ViewDidLoad ()
      {
          base.ViewDidLoad ();
  
          _searchBar = CreateSearchBar ();
          _searchBar.SearchButtonClicked += OnSearchBarSearchButtonClicked;
  
          TableView.TableHeaderView = _searchBar;
  
      }
  
      void OnSearchBarSearchButtonClicked (object sender, EventArgs e)
      {
  
      }
  
      static UISearchBar CreateSearchBar ()
      {
          UISearchBar search = new UISearchBar ();
          search.Placeholder = "Search Customers";
          search.SizeToFit ();
          search.AutocorrectionType = UITextAutocorrectionType.No;
          search.AutocapitalizationType = UITextAutocapitalizationType.None;
          return search;
      }
  }
  </code></pre>
  
  <p>In Main.cs, I run the following snippet of code. If I create the navigationController by code or through xib, it is the same. </p>
  
  <pre><code>// The name AppDelegate is referenced in the MainWindow.xib file.
  public partial class AppDelegate : UIApplicationDelegate
  {
      // This method is invoked when the application has loaded its UI and its ready to run
      public override bool FinishedLaunching (UIApplication app, NSDictionary options)
      {
          // If you have defined a view, add it here:
          //window.AddSubview (navigationController.View);
  
          NavigationController navigationController = new NavigationController(new CustomersTableViewController(UITableViewStyle.Plain));
          window.AddSubview (navigationController.View);
  
          window.MakeKeyAndVisible ();
  
          return true;
      }
  }
  </code></pre>
  
  <p>The graphic interface is displayed correctly, but when I click on the searchBar the application crashes with the following error.</p>
  
  <pre><code>Stacktrace:
  
   at (wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) &lt;IL 0x0009f, 0xffffffff&gt;
   at MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x00042] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29
   at MonoTouch.UIKit.UIApplication.Main (string[]) [0x00000] in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:34
   at TestSearchBar.Application.Main (string[]) [0x00000] in /Users/lorenzo/Projects/TestSearchBar/TestSearchBar/Main.cs:13
   at (wrapper runtime-invoke) &lt;Module&gt;.runtime_invoke_void_object (object,intptr,intptr,intptr) &lt;IL 0x00050, 0xffffffff&gt;
  
  Native stacktrace:
  
  0   TestSearchBar                       0x000d1e9c mono_handle_native_sigsegv + 343
  1   TestSearchBar                       0x000100e0 mono_sigsegv_signal_handler + 322
  2   libSystem.B.dylib                   0x9373205b _sigtramp + 43
  3   ???                                 0xffffffff 0x0 + 4294967295
  4   UIKit                               0x01d73227 -[UITextField canBecomeFirstResponder] + 204
  5   UIKit                               0x01da7226 -[UIResponder becomeFirstResponder] + 171
  6   UIKit                               0x01f6f961 -[UITextInteractionAssistant setFirstResponderIfNecessary] + 208
  7   UIKit                               0x01f725e2 -[UITextInteractionAssistant oneFingerTap:] + 1676
  8   UIKit                               0x01f694f2 -[UIGestureRecognizer _updateGestureWithEvent:] + 730
  9   UIKit                               0x01f654fe -[UIGestureRecognizer _delayedUpdateGesture] + 47
  10  UIKit                               0x01f6bafc _UIGestureRecognizerUpdateObserver + 584
  11  UIKit                               0x01f6bce1 _UIGestureRecognizerUpdateGesturesFromSendEvent + 51
  12  UIKit                               0x01cff32a -[UIWindow _sendGesturesForEvent:] + 1292
  13  UIKit                               0x01cfaca3 -[UIWindow sendEvent:] + 105
  14  UIKit                               0x01cddc37 -[UIApplication sendEvent:] + 447
  15  UIKit                               0x01ce2f2e _UIApplicationHandleEvent + 7576
  16  GraphicsServices                    0x04053992 PurpleEventCallback + 1550
  17  CoreFoundation                      0x00ea6944 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 52
  18  CoreFoundation                      0x00e06cf7 __CFRunLoopDoSource1 + 215
  19  CoreFoundation                      0x00e03f83 __CFRunLoopRun + 979
  20  CoreFoundation                      0x00e03840 CFRunLoopRunSpecific + 208
  21  CoreFoundation                      0x00e03761 CFRunLoopRunInMode + 97
  22  GraphicsServices                    0x040521c4 GSEventRunModal + 217
  23  GraphicsServices                    0x04052289 GSEventRun + 115
  24  UIKit                               0x01ce6c93 UIApplicationMain + 1160
  25  ???                                 0x077f6764 0x0 + 125790052
  26  ???                                 0x077f6630 0x0 + 125789744
  27  ???                                 0x077f5f60 0x0 + 125788000
  28  ???                                 0x077f5eac 0x0 + 125787820
  29  ???                                 0x077f5f37 0x0 + 125787959
  30  TestSearchBar                       0x0000fe9b mono_jit_runtime_invoke + 1332
  31  TestSearchBar                       0x001ee961 mono_runtime_invoke + 137
  32  TestSearchBar                       0x001f1048 mono_runtime_exec_main + 669
  33  TestSearchBar                       0x001f0432 mono_runtime_run_main + 843
  34  TestSearchBar                       0x000a3f9e mono_jit_exec + 200
  35  TestSearchBar                       0x002a3d21 main + 3733
  36  TestSearchBar                       0x00003179 _start + 208
  37  TestSearchBar                       0x000030a8 start + 40
  
  =================================================================
  Got a SIGSEGV while executing native code. This usually indicates
  a fatal error in the mono runtime or one of the native libraries 
  used by your application.
  =================================================================
  </code></pre>
  
  <p>Any suggestions? Is this a MT bug? Do I have missed something? Thank you in advance.</p>
  
  <p>EDIT:
  I'm running MT 4.2.2 with Mono 2.10.4. The crash still persists also with Mono 2.10.5.</p>