Hi,

Trying to isolate an issue that I encountered in a project I'm working, I
found another problem (actually very similar to the initial one). Following
there is a small iPhone application that I compiled with the new MT 5.0
(Mono 2.10.6, XCode 4.2, MD 2.8.1... actually everything is updated):


using System;
using System.Drawing;
using MonoTouch.Foundation;
using MonoTouch.UIKit;

namespace MTFailure
{
        public class Application
        {
                static void Main (string[] args)
                {
                        UIApplication.Main (args, null, "AppDelegate");
                }
        }
        
        public class MyController : UIViewController
        {
                public MyController()
                {
                        NavigationItem.RightBarButtonItem = new
UIBarButtonItem(UIBarButtonSystemItem.Action, HandleActionButton);
                }
                
                private void HandleActionButton(object sender, EventArgs evt)
                {
                        UIView menuView = new 
UIView(UIScreen.MainScreen.Bounds);
                        UIToolbar toolbar = new UIToolbar(new RectangleF(0, 0, 
320, 40));
                        toolbar.Items = new[]
                        {
                                new 
UIBarButtonItem(UIBarButtonSystemItem.Cancel, HandleCancelButton)
                        };
                        menuView.AddSubview(toolbar);
                        
                        UIViewController menuCtrl = new UIViewController();
                        menuCtrl.View = menuView;
                        PresentModalViewController(menuCtrl, true);
                }
                
                private void HandleCancelButton(object sender, EventArgs evt)
                {
                        DismissModalViewControllerAnimated(true);
                }
        }
        
        [Register("AppDelegate")]
        public class AppDelegate : UIApplicationDelegate
        {
                private MonoTouch.UIKit.UIWindow __mt_window;
                private UITextField _txtField;
                
                public override bool FinishedLaunching (UIApplication app, 
NSDictionary
options)
                {
                        __mt_window = new UIWindow(UIScreen.MainScreen.Bounds);
                        __mt_window.BackgroundColor = UIColor.White;
                        
                        MyController ctrl1 = new MyController();
                        
                        UIView mainView = new 
UIView(UIScreen.MainScreen.Bounds);

                        UIToolbar toolbar = new UIToolbar(new RectangleF(0, 0, 
320, 30));
                        toolbar.Items = new[]
                        {
                                new 
UIBarButtonItem(UIBarButtonSystemItem.FlexibleSpace),
                                new UIBarButtonItem(UIBarButtonSystemItem.Done, 
HandleDoneButton)
                        };
                        
                        _txtField = new UITextField(new RectangleF(10, 10, 300, 
30));
                        _txtField.BorderStyle = UITextBorderStyle.RoundedRect;
                        _txtField.InputAccessoryView = toolbar;
                        mainView.AddSubview(_txtField);
                        
                        ctrl1.View = mainView;
                        
                        UINavigationController _navCtrl = new 
UINavigationController(ctrl1);
                        
                        __mt_window.AddSubview(_navCtrl.View);
                        __mt_window.MakeKeyAndVisible ();
        
                        return true;
                }
                
                private void HandleDoneButton(object sender, EventArgs evt)
                {
                        _txtField.ResignFirstResponder();
                }

                // This method is required in iPhoneOS 3.0
                public override void OnActivated (UIApplication application)
                {
                }
        }
}


Now, the issue can be replicated in different ways:

1) get the focus to the text field

2) tap the "Done" button (in the input accessory toolbar)

3) tap to the button in the navigation bar.

The other way is:

1) tap the button in the navigation bar

2) tap the "Cancel" button in the tollbar of the modal view


However, in both cases the following error message (slightly different from
the first test case to the second one) is the following:


Stacktrace:

  at (wrapper managed-to-native)
MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr) 
  at MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x00042]
in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29
  at MTFailure.Application.Main (string[]) [0x00000] in
/Users/sergiofadda/Projects/MonoTest/GenericsFailure/GenericsFailure/Main.cs:12
  at (wrapper runtime-invoke) .runtime_invoke_void_object
(object,intptr,intptr,intptr) 

Native stacktrace:

        0   MTFailure                           0x000d5c18
mono_handle_native_sigsegv + 408
        1   MTFailure                           0x00012fcf
mono_sigsegv_signal_handler + 351
        2   libsystem_c.dylib                   0x9435859b _sigtramp + 43
        3   ???                                 0xffffffff 0x0 + 4294967295
        4   UIKit                               0x00c1cd54
-[UIBarButtonItem(UIInternal) _sendAction:withEvent:] + 145
        5   CoreFoundation                      0x01805ec9 -[NSObject
performSelector:withObject:withObject:] + 73
        6   UIKit                               0x009e15c2 -[UIApplication
sendAction:to:from:forEvent:] + 96
        7   UIKit                               0x009e155a -[UIApplication
sendAction:toTarget:fromSender:forEvent:] + 61
        8   UIKit                               0x00a86b76 -[UIControl
sendAction:to:forEvent:] + 66
        9   UIKit                               0x00a8703f -[UIControl(Internal)
_sendActionsForEvents:withEvent:] + 503
        10  UIKit                               0x00a862fe -[UIControl
touchesEnded:withEvent:] + 549
        11  UIKit                               0x00a06a30 -[UIWindow
_sendTouchesForEvent:] + 513
        12  UIKit                               0x00a06c56 -[UIWindow 
sendEvent:] +
273
        13  UIKit                               0x009ed384 -[UIApplication
sendEvent:] + 464
        14  UIKit                               0x009e0aa9
_UIApplicationHandleEvent + 8196
        15  GraphicsServices                    0x022a3fa9 PurpleEventCallback +
1274
        16  CoreFoundation                      0x017d81c5
__CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 53
        17  CoreFoundation                      0x0173d022 __CFRunLoopDoSource1 
+
146
        18  CoreFoundation                      0x0173b90a __CFRunLoopRun + 2218
        19  CoreFoundation                      0x0173adb4 CFRunLoopRunSpecific 
+
212
        20  CoreFoundation                      0x0173accb CFRunLoopRunInMode + 
123
        21  GraphicsServices                    0x022a2879 GSEventRunModal + 207
        22  GraphicsServices                    0x022a293e GSEventRun + 114
        23  UIKit                               0x009dea9b UIApplicationMain + 
1175
        24  ???                                 0x095a24d5 0x0 + 156902613
        25  ???                                 0x095a1758 0x0 + 156899160
        26  ???                                 0x095a1450 0x0 + 156898384
        27  ???                                 0x095a15a6 0x0 + 156898726
        28  MTFailure                           0x00012d1f 
mono_jit_runtime_invoke
+ 1407
        29  MTFailure                           0x0020a33a mono_runtime_invoke +
170
        30  MTFailure                           0x0020cf61 
mono_runtime_exec_main +
705
        31  MTFailure                           0x0020c1b1 
mono_runtime_run_main +
929
        32  MTFailure                           0x000a78cf mono_jit_exec + 239
        33  MTFailure                           0x00004cca main + 5194
        34  MTFailure                           0x00002085 start + 53

=================================================================
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.
=================================================================


What's wrong with that?

Tnx in advance,

Sergio

--
View this message in context: 
http://monotouch.2284126.n4.nabble.com/SDK-5-issue-tp3912223p3912223.html
Sent from the MonoTouch mailing list archive at Nabble.com.
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to