MonoTouch SIGABRT“跑出类型 2 的蹦床”错误

发布于 2025-01-06 18:26:32 字数 4895 浏览 4 评论 0原文

在本机设备 (iPad) 上运行 MonoTouch 应用程序时,出现 SIGABRT / ran out of Tampolines 错误。

这在我的应用程序中很早就发生了 - 我正在使用 MonoTouch.Dialog 构建一个部分。

        ItemTypeRadio = new RootElement ("Type", new RadioGroup (0))
        {
            new Section ()
            {
                from it in App.ViewModel.ItemTypes
                    select (Element) new RadioElement (it.Name)
            }
        };

是否有编译器设置可以增加蹦床的数量?

我如何对此进行分析并找出我的应用程序耗尽的原因?

2 型蹦床用完了 '/private/var/mobile/Applications/9A5EE6EB-CAB8-404E-AF2F-E6571C1AC164/iphone.app/mscorlib.dll' (128)

堆栈跟踪:

在 System.Linq.Enumerable/c__Iterator1D2.MoveNext () <0x000a7>;在 MonoTouch.Dialog.Section.AddAll (System.Collections.Generic.IEnumerable1) [0x00020] 在 /Developer/MonoTouch/Source/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:2006 在 MonoTouch.Dialog.Section.Add (System.Collections.Generic.IEnumerable`1) [0x00000] 在 /Developer/MonoTouch/Source/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:2019 在BuiltSteady.Zaplify.Devices.iPhone.AddPage.ViewDidAppear(布尔) [0x000d6] 在 /Users/ogazit/zaplify/source/devices/ios/iphone/AddPage.cs:65 位于 (包装运行时调用)object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>在 MonoTouch.UIKit.UIApplication.Main(字符串[],字符串,字符串)[0x00042] 在/Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29 在BuiltSteady.Zaplify.Devices.iPhone.Application.Main(字符串[]) [0x00000] 在 /Users/ogazit/zaplify/source/devices/ios/iphone/Main.cs:16 位于 (包装运行时调用)object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>

本机堆栈跟踪:

0 zaplifyiphone 0x00ab0334 mono_handle_native_sigsegv + 280 1 zaplifyiphone
0x00ad3088 sigabrt_signal_handler + 180 2 libsystem_c.dylib
0x34f80539 _sigtramp + 48 3 libsystem_c.dylib
0x34f75f5b pthread_kill + 54 4 libsystem_c.dylib
0x34f6efeb 中止 + 94 5 zaplifyiphone
0x00b8c138 monoeg_g_logv + 152 6 zaplifyiphone
0x00b8c1a8 monoeg_g_log + 32 7 zaplifyiphone
0x00aa2454 get_numerous_trampoline + 152 8 zaplifyiphone
0x00aa2898 mono_aot_get_imt_thunk + 56 9 zaplifyiphone
0x00b459b4 初始化_imt_slot + 112 10 zaplifyiphone
0x00b46d9c build_imt_slots + 1124 11 zaplifyiphone
0x00b46f04 mono_vtable_build_imt_slot + 120 12 zaplifyiphone
0x00ab3024 mono_convert_imt_slot_to_vtable_slot + 292 13 zaplifyiphone 0x00ab329c common_call_trampoline + 284 14 zaplifyiphone 0x00ab17a8 mono_vcall_trampoline + 228 15 zaplifyiphone
0x009addb0 generic_trampoline_vcall + 136 16 zaplifyiphone
0x00011ee0 MonoTouch_Dialog_Section_AddAll_System_Collections_Generic_IEnumerable_1_MonoTouch_Dialog_Element + 188 17 zaplifyiphone 0x00011f68 MonoTouch_Dialog_Section_Add_System_Collections_Generic_IEnumerable_1_MonoTouch_Dialog_Element + 36 18 zaplifyiphone 0x00293f0cbuiltSteady_Zaplify_Devices_IPhone_AddPage_ViewDidAppear_bool + 2068 19 zaplifyiphone 0x00968774 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 200 20 zaplifyiphone 0x00a9c980 mono_jit_runtime_invoke + 1644 21 zaplifyiphone
0x00b44e00 mono_runtime_invoke + 128 22 zaplifyiphone
0x00ba1518 monotouch_trampoline + 3228 23 UIKit
0x351ab6b5 -[UIViewController _setViewAppearState:isAnimating:] + 144 24 UIKit 0x35205269 -[UITabBarController viewDidAppear:] + 100 25 UIKit 0x351ab6b5 -[UIViewController _setViewAppearState:isAnimating:] + 144 26 UIKit 0x351d9115-[UIViewController _executeAfterAppearanceBlock] + 56 27 UIKit 0x35177e3f _afterCACommitHandler + 174 28 CoreFoundation
0x340d0b4b CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 18 29 CoreFoundation 0x340ced87 CFRunLoopDoObservers + 258 30 CoreFoundation 0x340cf0e1 __CFRunLoopRun + 760 31 CoreFoundation 0x340524dd CFRunLoopRunSpecific + 300 32 CoreFoundation
0x340523a5 CFRunLoopRunInMode + 104 33 图形服务
0x35c92fcd GSEventRunModal + 156 34 UIKit
0x35197743 UIApplicationMain + 1090 35 zaplifyiphone
0x004d4ba4 wrapper_management_to_native_MonoTouch_UIKit_UIApplication_UIApplicationMain_int_string
_intptr_intptr + 240 36 zaplifyiphone 0x00277900builtSteady_Zaplify_Devices_IPhone_Application_Main_string__ + 152 37 zaplifyiphone 0x00968774 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr + 200 38 zaplifyiphone 0x00a9c980 mono_jit_runtime_invoke + 1644 39 zaplifyiphone
0x00b44e00 mono_runtime_invoke + 128 40 zaplifyiphone
0x00b490ac mono_runtime_exec_main + 436 41 zaplifyiphone
0x00b4dd20 mono_runtime_run_main + 756 42 zaplifyiphone
0x00aa0d08 mono_jit_exec + 140 43 zaplifyiphone
0x00a98f18 主 + 2156 44 zaplifyiphone
0x00002ff4开始+52

I get a SIGABRT / ran out of trampolines error when running my MonoTouch app on a native device (iPad).

This happens pretty early in my app - I'm constructing a section using MonoTouch.Dialog.

        ItemTypeRadio = new RootElement ("Type", new RadioGroup (0))
        {
            new Section ()
            {
                from it in App.ViewModel.ItemTypes
                    select (Element) new RadioElement (it.Name)
            }
        };

Is there a compiler setting for increasing the number of trampolines?

How do I profile this and find out why my app is running out?

Ran out of trampolines of type 2 in
'/private/var/mobile/Applications/9A5EE6EB-CAB8-404E-AF2F-E6571C1AC164/iphone.app/mscorlib.dll'
(128)

Stacktrace:

at
System.Linq.Enumerable/c__Iterator1D2.MoveNext
() <0x000a7> at MonoTouch.Dialog.Section.AddAll
(System.Collections.Generic.IEnumerable
1)
[0x00020] in
/Developer/MonoTouch/Source/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:2006
at MonoTouch.Dialog.Section.Add
(System.Collections.Generic.IEnumerable`1)
[0x00000] in
/Developer/MonoTouch/Source/MonoTouch.Dialog/MonoTouch.Dialog/Elements.cs:2019
at BuiltSteady.Zaplify.Devices.IPhone.AddPage.ViewDidAppear (bool)
[0x000d6] in
/Users/ogazitt/zaplify/source/devices/ios/iphone/AddPage.cs:65 at
(wrapper runtime-invoke) object.runtime_invoke_dynamic
(intptr,intptr,intptr,intptr) <0xffffffff> at
MonoTouch.UIKit.UIApplication.Main (string[],string,string) [0x00042]
in /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29
at BuiltSteady.Zaplify.Devices.IPhone.Application.Main (string[])
[0x00000] in
/Users/ogazitt/zaplify/source/devices/ios/iphone/Main.cs:16 at
(wrapper runtime-invoke) object.runtime_invoke_dynamic
(intptr,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

0 zaplifyiphone 0x00ab0334
mono_handle_native_sigsegv + 280 1 zaplifyiphone
0x00ad3088 sigabrt_signal_handler + 180 2 libsystem_c.dylib
0x34f80539 _sigtramp + 48 3 libsystem_c.dylib
0x34f75f5b pthread_kill + 54 4 libsystem_c.dylib
0x34f6efeb abort + 94 5 zaplifyiphone
0x00b8c138 monoeg_g_logv + 152 6 zaplifyiphone
0x00b8c1a8 monoeg_g_log + 32 7 zaplifyiphone
0x00aa2454 get_numerous_trampoline + 152 8 zaplifyiphone
0x00aa2898 mono_aot_get_imt_thunk + 56 9 zaplifyiphone
0x00b459b4 initialize_imt_slot + 112 10 zaplifyiphone
0x00b46d9c build_imt_slots + 1124 11 zaplifyiphone
0x00b46f04 mono_vtable_build_imt_slot + 120 12 zaplifyiphone
0x00ab3024 mono_convert_imt_slot_to_vtable_slot + 292 13
zaplifyiphone 0x00ab329c common_call_trampoline
+ 284 14 zaplifyiphone 0x00ab17a8 mono_vcall_trampoline + 228 15 zaplifyiphone
0x009addb0 generic_trampoline_vcall + 136 16 zaplifyiphone
0x00011ee0
MonoTouch_Dialog_Section_AddAll_System_Collections_Generic_IEnumerable_1_MonoTouch_Dialog_Element
+ 188 17 zaplifyiphone 0x00011f68 MonoTouch_Dialog_Section_Add_System_Collections_Generic_IEnumerable_1_MonoTouch_Dialog_Element + 36 18 zaplifyiphone 0x00293f0c BuiltSteady_Zaplify_Devices_IPhone_AddPage_ViewDidAppear_bool + 2068
19 zaplifyiphone 0x00968774
wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr
+ 200 20 zaplifyiphone 0x00a9c980 mono_jit_runtime_invoke + 1644 21 zaplifyiphone
0x00b44e00 mono_runtime_invoke + 128 22 zaplifyiphone
0x00ba1518 monotouch_trampoline + 3228 23 UIKit
0x351ab6b5 -[UIViewController _setViewAppearState:isAnimating:] + 144
24 UIKit 0x35205269
-[UITabBarController viewDidAppear:] + 100 25 UIKit 0x351ab6b5 -[UIViewController _setViewAppearState:isAnimating:] + 144
26 UIKit 0x351d9115 -[UIViewController
_executeAfterAppearanceBlock] + 56 27 UIKit 0x35177e3f _afterCACommitHandler + 174 28 CoreFoundation
0x340d0b4b
CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 18 29 CoreFoundation 0x340ced87 CFRunLoopDoObservers
+ 258 30 CoreFoundation 0x340cf0e1 __CFRunLoopRun + 760 31 CoreFoundation 0x340524dd CFRunLoopRunSpecific + 300 32 CoreFoundation
0x340523a5 CFRunLoopRunInMode + 104 33 GraphicsServices
0x35c92fcd GSEventRunModal + 156 34 UIKit
0x35197743 UIApplicationMain + 1090 35 zaplifyiphone
0x004d4ba4
wrapper_managed_to_native_MonoTouch_UIKit_UIApplication_UIApplicationMain_int_string
_intptr_intptr
+ 240 36 zaplifyiphone 0x00277900 BuiltSteady_Zaplify_Devices_IPhone_Application_Main_string__ + 152 37
zaplifyiphone 0x00968774
wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr
+ 200 38 zaplifyiphone 0x00a9c980 mono_jit_runtime_invoke + 1644 39 zaplifyiphone
0x00b44e00 mono_runtime_invoke + 128 40 zaplifyiphone
0x00b490ac mono_runtime_exec_main + 436 41 zaplifyiphone
0x00b4dd20 mono_runtime_run_main + 756 42 zaplifyiphone
0x00aa0d08 mono_jit_exec + 140 43 zaplifyiphone
0x00a98f18 main + 2156 44 zaplifyiphone
0x00002ff4 start + 52

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

御弟哥哥 2025-01-13 18:26:32

我最终通过转到项目选项 :: Build :: iPhone Build :: (config debug / platform iPhone) :: Extra mtouch 参数

并添加以下选项来解决此问题:

-aot "nimt-trampolines=512"

I ended up resolving this by going to the project options :: Build :: iPhone Build :: (config debug / platform iPhone) :: Additional mtouch arguments

and adding the following option:

-aot "nimt-trampolines=512"

天暗了我发光 2025-01-13 18:26:32

您应该将您的评论复制粘贴到答案中,并将该问题标记为已回答(可以在 stackoverflow 上回答我们自己的问题),因为这将帮助其他人寻找相同的问题。

您可能在寻找此页面时发现了此页面:
http://docs.xamarin.com/ios/troubleshooting#Ran_out_of_trampolines_of_type_2

我修改了 Mono 的运行时(在 MonoTouch 中使用)在遇到此条件时打印此 URL(键入 0、1 或2)。希望这能让其他人更快地解决这个问题。

You should copy-paste your comment into an answer and mark this question as answered (it's ok to answer our own question on stackoverflow) as it will help other people looking for the same issue.

You likely find out about this page while looking for this:
http://docs.xamarin.com/ios/troubleshooting#Ran_out_of_trampolines_of_type_2

I modified Mono's runtime (used in MonoTouch) to print this URL when hitting this condition (type 0, 1 or 2). Hopefully this will make it a bit faster to solve this for other people.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文