[Mono-bugs] [Bug 617599] New: SIGSEGV when using UINavigationControllerDelegate without inheritance

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Fri Jun 25 17:00:05 EDT 2010


http://bugzilla.novell.com/show_bug.cgi?id=617599

http://bugzilla.novell.com/show_bug.cgi?id=617599#c0


           Summary: SIGSEGV when using UINavigationControllerDelegate
                    without inheritance
    Classification: Mono
           Product: MonoTouch
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: Runtime
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: fak at kruegersystems.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=371891)
 --> (http://bugzilla.novell.com/attachment.cgi?id=371891)
Project demoing bug

Description of Problem:

This class works if I don't assign .Delegate. It fails with SIGSEGV if I do
assign the Delegate.


    class Container
    {
        public UINavigationController Nav { get; private set; }
        UIViewController _vc;
        Del _del;

        public Container ()
        {
            _vc = new UITableViewController ();

            Nav = new UINavigationController (_vc);

            _del = new Del ();

            Nav.Delegate = _del;
        }

        class Del : UINavigationControllerDelegate
        {
            public override void WillShowViewController (UINavigationController
navigationController, UIViewController viewController, bool animated)
            {
                Console.WriteLine ("SHOW: " + viewController);
            }
        }
    }

Stacktrace:

  at (wrapper managed-to-native)
MonoTouch.ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr
(intptr,intptr,intptr,intptr) <0x00004>
  at (wrapper managed-to-native)
MonoTouch.ObjCRuntime.Messaging.IntPtr_objc_msgSend_IntPtr_IntPtr
(intptr,intptr,intptr,intptr) <0x00004>
  at MonoTouch.UIKit.UINavigationController..ctor
(string,MonoTouch.Foundation.NSBundle) <0x000d1>
  at (wrapper runtime-invoke)
<Module>.runtime_invoke_void__this___object_object
(object,intptr,intptr,intptr) <0x0004c>
  at (wrapper managed-to-native)
MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr)
<0x00004>
  at (wrapper managed-to-native)
MonoTouch.UIKit.UIApplication.UIApplicationMain (int,string[],intptr,intptr)
<0x00004>
  at MonoTouch.UIKit.UIApplication.Main (string[],string,string) <0x00089>
  at MonoTouch.UIKit.UIApplication.Main (string[]) <0x00014>
  at NavBugRepro.Application.Main (string[]) <0x00010>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object
(object,intptr,intptr,intptr) <0x00043>

Native stacktrace:

    0   .simlauncher-3                      0x000c1cd4
mono_handle_native_sigsegv + 376
    1   .simlauncher-3                      0x0000de0e
mono_sigsegv_signal_handler + 313
    2   libSystem.B.dylib                   0x9524d42b _sigtramp + 43
    3   ???                                 0xffffffff 0x0 + 4294967295
    4   UIKit                               0x016a2568 -[UINavigationController
initWithNibName:bundle:] + 71
    5   ???                                 0x087ef15e 0x0 + 142537054
    6   ???                                 0x087eea4a 0x0 + 142535242
    7   ???                                 0x087eeb9d 0x0 + 142535581
    8   .simlauncher-3                      0x0000dbd2 mono_jit_runtime_invoke
+ 1360
    9   .simlauncher-3                      0x001c8199 mono_runtime_invoke +
137
    10  .simlauncher-3                      0x0027af49 monotouch_trampoline +
1644
    11  UIKit                               0x016a633c -[UINavigationController
_startTransition:fromViewController:toViewController:] + 1554
    12  UIKit                               0x0169ffa1 -[UINavigationController
_startDeferredTransitionIfNeeded] + 266
    13  UIKit                               0x017e5c8a -[UILayoutContainerView
layoutSubviews] + 226
    14  QuartzCore                          0x008ba916 -[CALayer
layoutSublayers] + 177
    15  QuartzCore                          0x008ba625 CALayerLayoutIfNeeded +
284
    16  QuartzCore                          0x008ac9d2
_ZN2CA7Context18commit_transactionEPNS_11TransactionE + 302
    17  QuartzCore                          0x008ac732
_ZN2CA11Transaction6commitEv + 292
    18  UIKit                               0x01602556 -[UIApplication
_reportAppLaunchFinished] + 42
    19  UIKit                               0x01608d3e -[UIApplication
handleEvent:withNewEvent:] + 1788
    20  UIKit                               0x016044f7 -[UIApplication
sendEvent:] + 71
    21  UIKit                               0x0160c1d8
_UIApplicationHandleEvent + 7102
    22  GraphicsServices                    0x03ef617c PurpleEventCallback +
1578
    23  CoreFoundation                      0x009fa89c CFRunLoopRunSpecific +
4076
    24  CoreFoundation                      0x009f98a8 CFRunLoopRunInMode + 88
    25  UIKit                               0x01602221 -[UIApplication _run] +
607
    26  UIKit                               0x0160a372 UIApplicationMain + 1134
    27  ???                                 0x064eb171 0x0 + 105820529
    28  ???                                 0x064eb0aa 0x0 + 105820330
    29  ???                                 0x064eaa35 0x0 + 105818677
    30  ???                                 0x064ea971 0x0 + 105818481
    31  ???                                 0x064ea9cc 0x0 + 105818572
    32  .simlauncher-3                      0x0000dbd2 mono_jit_runtime_invoke
+ 1360
    33  .simlauncher-3                      0x001c8199 mono_runtime_invoke +
137
    34  .simlauncher-3                      0x001c9ef0 mono_runtime_exec_main +
714
    35  .simlauncher-3                      0x001c97b1 mono_runtime_run_main +
812
    36  .simlauncher-3                      0x00097207 mono_jit_exec + 200
    37  .simlauncher-3                      0x0027e454 main + 3377
    38  .simlauncher-3                      0x00002922 start + 54

Debug info from gdb:

warning: Trying to remove a section from the ordered section list that did not
exist at 0x365000.
warning: Could not find object file
"/var/folders/i7/i7qGCU12EJyERd6E5iKVT++++TI/-Tmp-//cccJYspM.o" - no debug
information available for "template.m".

warning: .o file
"/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator10.5.sdk/usr/lib/libmonotouch.a(zlib-helper.x86.o)"
more recent than executable timestamp in "/Users/fak/Library/Application
Support/iPhone
Simulator/3.2/Applications/E579E419-6904-4A66-BAF5-32718820DC44/NavBugRepro.app/.simlauncher-3"
warning: Could not open OSO file
/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator10.5.sdk/usr/lib/libmonotouch.a(zlib-helper.x86.o)
to scan for pubtypes for objfile /Users/fak/Library/Application Support/iPhone
Simulator/3.2/Applications/E579E419-6904-4A66-BAF5-32718820DC44/NavBugRepro.app/.simlauncher-3
warning: .o file
"/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator10.5.sdk/usr/lib/libmonotouch.a(monotouch-glue.x86.o)"
more recent than executable timestamp in "/Users/fak/Library/Application
Support/iPhone
Simulator/3.2/Applications/E579E419-6904-4A66-BAF5-32718820DC44/NavBugRepro.app/.simlauncher-3"
warning: Could not open OSO file
/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator10.5.sdk/usr/lib/libmonotouch.a(monotouch-glue.x86.o)
to scan for pubtypes for objfile /Users/fak/Library/Application Support/iPhone
Simulator/3.2/Applications/E579E419-6904-4A66-BAF5-32718820DC44/NavBugRepro.app/.simlauncher-3
warning: .o file
"/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator10.5.sdk/usr/lib/libmonotouch.a(gc.x86.o)"
more recent than executable timestamp in "/Users/fak/Library/Application
Support/iPhone
Simulator/3.2/Applications/E579E419-6904-4A66-BAF5-32718820DC44/NavBugRepro.app/.simlauncher-3"
warning: Could not open OSO file
/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator10.5.sdk/usr/lib/libmonotouch.a(gc.x86.o)
to scan for pubtypes for objfile /Users/fak/Library/Application Support/iPhone
Simulator/3.2/Applications/E579E419-6904-4A66-BAF5-32718820DC44/NavBugRepro.app/.simlauncher-3
Error connecting stdout and stderr (127.0.0.1:10001)
warning: .o file
"/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator10.5.sdk/usr/lib/libmonotouch.a(monotouch-glue.x86.o)"
more recent than executable timestamp in "/Users/fak/Library/Application
Support/iPhone
Simulator/3.2/Applications/E579E419-6904-4A66-BAF5-32718820DC44/NavBugRepro.app/.simlauncher-3"
warning: Couldn't open object file
'/Developer/MonoTouch/SDKs/MonoTouch.iphonesimulator10.5.sdk/usr/lib/libmonotouch.a(monotouch-glue.x86.o)'
Attaching to process 10729.
Reading symbols for shared libraries . done
Reading symbols for shared libraries
..................................................................................
done
0x951f2619 in read$UNIX2003 ()
  5                         0x951e72fa in mach_msg_trap ()
  4                         0x95215262 in __semwait_signal ()
  3                         0x951e7336 in semaphore_wait_trap ()
  2                         0x951e72fa in mach_msg_trap ()
* 1 "com.apple.main-thread" 0x951f2619 in read$UNIX2003 ()

Thread 5 (process 10729):
#0  0x951e72fa in mach_msg_trap ()
#1  0x951e7a67 in mach_msg ()
#2  0x009fa052 in CFRunLoopRunSpecific ()
#3  0x009f98a8 in CFRunLoopRunInMode ()
#4  0x04a3e633 in RunWebThread ()
#5  0x95214a19 in _pthread_start ()
#6  0x9521489e in thread_start ()

Thread 4 (process 10729):
#0  0x95215262 in __semwait_signal ()
#1  0x95240e44 in nanosleep$UNIX2003 ()
#2  0x95240d82 in usleep$UNIX2003 ()
#3  0x0027899c in monotouch_pump_gc ()
#4  0x95214a19 in _pthread_start ()
#5  0x9521489e in thread_start ()

Thread 3 (process 10729):
#0  0x951e7336 in semaphore_wait_trap ()
#1  0x00158ea0 in finalizer_thread (unused=0x0) at
./../../../mono/metadata/gc.c:1026
#2  0x002032d6 in start_wrapper (data=0x8013f50) at
./../../../mono/metadata/threads.c:661
#3  0x002456c7 in thread_start_routine (args=0x881fe34) at
./../../../mono/io-layer/wthreads.c:286
#4  0x00275ba7 in GC_start_routine (arg=0x6729f60) at
./../../libgc/pthread_support.c:1390
#5  0x95214a19 in _pthread_start ()
#6  0x9521489e in thread_start ()

Thread 2 (process 10729):
#0  0x951e72fa in mach_msg_trap ()
#1  0x951e7a67 in mach_msg ()
#2  0x00119032 in mach_exception_thread (arg=0x0) at
./../../../mono/mini/mini-darwin.c:138
#3  0x95214a19 in _pthread_start ()
#4  0x9521489e in thread_start ()

Thread 1 (process 10729):
#0  0x951f2619 in read$UNIX2003 ()
#1  0x000c1ecf in mono_handle_native_sigsegv (signal=11, ctx=0xbfffc0a4) at
./../../../mono/mini/mini-exceptions.c:1826
#2  0x0000de0e in mono_sigsegv_signal_handler (_dummy=11, info=0xbfffc064,
context=0xbfffc0a4) at ../../../../mono/mini/mini.c:4846
#3  <signal handler called>
#4  0x03844ca8 in objc_msgSend ()
#5  0x0657d3fc in ?? ()
#6  0x016a2568 in -[UINavigationController initWithNibName:bundle:] ()
#7  0x087ef15e in ?? ()
#8  0x087eea4a in ?? ()
#9  0x087eeb9d in ?? ()
#10 0x0000dbd2 in mono_jit_runtime_invoke (method=0x68bd32c, obj=0x9138ee0,
params=0xbfffc320, exc=0x0) at ../../../../mono/mini/mini.c:4733
#11 0x001c8199 in mono_runtime_invoke (method=0x68bd32c, obj=0x9138ee0,
params=0xbfffc320, exc=0x0) at ../../../../mono/metadata/object.c:2615
#12 0x0027af49 in monotouch_trampoline ()
#13 0x016a633c in -[UINavigationController
_startTransition:fromViewController:toViewController:] ()
#14 0x0169ffa1 in -[UINavigationController _startDeferredTransitionIfNeeded] ()
#15 0x017e5c8a in -[UILayoutContainerView layoutSubviews] ()
#16 0x008ba916 in -[CALayer layoutSublayers] ()
#17 0x008ba625 in CALayerLayoutIfNeeded ()
#18 0x008ac9d2 in CA::Context::commit_transaction ()
#19 0x008ac732 in CA::Transaction::commit ()
#20 0x01602556 in -[UIApplication _reportAppLaunchFinished] ()
#21 0x01608d3e in -[UIApplication handleEvent:withNewEvent:] ()
#22 0x016044f7 in -[UIApplication sendEvent:] ()
#23 0x0160c1d8 in _UIApplicationHandleEvent ()
#24 0x03ef617c in PurpleEventCallback ()
#25 0x009fa89c in CFRunLoopRunSpecific ()
#26 0x009f98a8 in CFRunLoopRunInMode ()
#27 0x01602221 in -[UIApplication _run] ()
#28 0x0160a372 in UIApplicationMain ()
#29 0x064eb171 in ?? ()
#30 0x064eb0aa in ?? ()
#31 0x064eaa35 in ?? ()
#32 0x064ea971 in ?? ()
#33 0x064ea9cc in ?? ()
#34 0x0000dbd2 in mono_jit_runtime_invoke (method=0x89973d4, obj=0x0,
params=0xbfffe8b8, exc=0x0) at ../../../../mono/mini/mini.c:4733
#35 0x001c8199 in mono_runtime_invoke (method=0x89973d4, obj=0x0,
params=0xbfffe8b8, exc=0x0) at ../../../../mono/metadata/object.c:2615
#36 0x001c9ef0 in mono_runtime_exec_main (method=0x89973d4, args=0x91536b0,
exc=0x0) at ../../../../mono/metadata/object.c:3581
#37 0x001c97b1 in mono_runtime_run_main (method=0x89973d4, argc=0,
argv=0xbfffeaa0, exc=0x0) at ../../../../mono/metadata/object.c:3355
#38 0x00097207 in mono_jit_exec (domain=0x649fe58, assembly=0x80a3790, argc=1,
argv=0xbfffea9c) at ../../../../mono/mini/driver.c:1094
#39 0x0027e454 in main ()

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


Unhandled Exception: System.NullReferenceException: Object reference not set to
an instance of an object
  at (wrapper managed-to-native)
MonoTouch.ObjCRuntime.Messaging:IntPtr_objc_msgSend_IntPtr_IntPtr
(intptr,intptr,intptr,intptr)
  at MonoTouch.UIKit.UINavigationController..ctor (System.String nibName,
MonoTouch.Foundation.NSBundle bundle) [0x00000] in <filename unknown>:0 
  at (wrapper managed-to-native)
MonoTouch.UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)
  at MonoTouch.UIKit.UIApplication.Main (System.String[] args, System.String
principalClassName, System.String delegateClassName) [0x00000] in <filename
unknown>:0 
  at MonoTouch.UIKit.UIApplication.Main (System.String[] args) [0x00000] in
<filename unknown>:0 
  at NavBugRepro.Application.Main (System.String[] args) [0x00000] in <filename
unknown>:0 



Steps to reproduce the problem:
1. 
2. 


Actual Results:


Expected Results:


How often does this happen? 


Additional Information:

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list