[Mono-bugs] [Bug 560246] New: Ran out of trampolines of type 1 with generics

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Dec 3 02:13:43 EST 2009


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

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


           Summary: Ran out of trampolines of type 1 with generics
    Classification: Mono
           Product: MonoTouch
           Version: unspecified
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Runtime
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: curtis.wensley at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=330677)
 --> (http://bugzilla.novell.com/attachment.cgi?id=330677)
Sample application to reproduce the issue

Description of Problem:

When using generics, it is easy to run out of 'trampolines' in certain cases.

Steps to reproduce the problem:
1. Create a generic method
2. Call other generic methods or linq extensions inside generic method
(sample app attached)

Actual Results:
Application quits with:
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>: Ran
out of trampolines of type 1 in
'/var/mobile/Applications/B4F76232-759E-4C52-83B7-9CBA72096C7F/TrampolinesHurtMe.app/mscorlib.dll'
(1024)
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:
Stacktrace:
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
System.Linq.Enumerable/<CreateWhereIterator>c__Iterator1D`1<object>.MoveNext ()
<0xffffffff>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
System.Linq.Enumerable/<CreateWhereIterator>c__Iterator1D`1<object>.MoveNext ()
<0x00158>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
System.Linq.Enumerable.First<object>
(System.Collections.Generic.IEnumerable`1<object>,System.Func`2<object,
bool>,System.Linq.Enumerable/Fallback) <0x000c7>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
System.Linq.Enumerable.FirstOrDefault<object>
(System.Collections.Generic.IEnumerable`1<object>) <0x00057>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
TrampolinesHurtMe.AppDelegate.GetItems<object> () <0x000ab>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
TrampolinesHurtMe.AppDelegate.OnActivated (MonoTouch.UIKit.UIApplication)
<0x00043>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
(wrapper runtime-invoke) object.runtime_invoke_dynamic
(intptr,intptr,intptr,intptr) <0x000c3>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
(wrapper managed-to-native) MonoTouch.UIKit.UIApplication.UIApplicationMain
(int,string[],intptr,intptr) <0xffffffff>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
MonoTouch.UIKit.UIApplication.Main (string[],string,string) <0x000e0>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
MonoTouch.UIKit.UIApplication.Main (string[]) <0x00023>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
TrampolinesHurtMe.Application.Main (string[]) <0x0001b>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:   at
(wrapper runtime-invoke) object.runtime_invoke_dynamic
(intptr,intptr,intptr,intptr) <0x000c3>
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:
Native stacktrace:
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
0   TrampolinesHurtMe                   0x0003bcd8 mono_handle_native_sigsegv +
396
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
1   TrampolinesHurtMe                   0x0006a054 sigabrt_signal_handler + 124
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
2   libSystem.B.dylib                   0x327bb823 _sigtramp + 34
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
3   libSystem.B.dylib                   0x327bdb51 kill + 10
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
4   libSystem.B.dylib                   0x327bdb45 raise + 16
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
5   libSystem.B.dylib                   0x327d4e6b abort + 42
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
6   TrampolinesHurtMe                   0x001add54 g_logv + 248
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
7   TrampolinesHurtMe                   0x001addac g_log + 52
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
8   TrampolinesHurtMe                   0x0002c2b8 get_numerous_trampoline +
440
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
9   TrampolinesHurtMe                   0x0002c7b4
mono_aot_get_static_rgctx_trampoline + 52
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
10  TrampolinesHurtMe                   0x0003c3a0
mono_create_static_rgctx_trampoline + 188
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
11  TrampolinesHurtMe                   0x0003e664 mono_delegate_trampoline +
752
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>:    
12  TrampolinesHurtMe                   0x0039d4cc generic_trampoline_7 + 124
Wed Dec  2 23:00:45 unknown
UIKitApplication:com.yourcompany.TrampolinesHurtMe[0x463a][1836] <Notice>: *
Assertion: should not be reached at ../../../../mono/mini/mini-darwin.c:246


Expected Results:
Application runs fine

How often does this happen? 
Every time

Additional Information:
Seems to only happen after iterating through one of the lists (e.g. calling
ToArray() or manually)

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