MonoTouch SIGABRT Ошибка "Закончились батуты типа 2" - PullRequest
2 голосов
/ 20 февраля 2012

При запуске приложения MonoTouch на нативном устройстве (iPad) появляется ошибка SIGABRT / закончились батуты.

Это происходит довольно рано в моем приложении - я создаю раздел, используя 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)

StackTrace:

в System.Linq.Enumerable / c__Iterator1D 2.MoveNext () <0x000a7> at MonoTouch.Dialog.Section.AddAll (System.Collections.Generic.IEnumerable 1) [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 at BuiltSteady.Zaplify.Devices.IPhone.AddPage.ViewDidAppear (bool) [0x000d6] в /Users/ogazitt/zaplify/source/devices/ios/iphone/AddPage.cs:65 at (обертка runtime-invoke) object.runtime_invoke_dynamic (intptr, intptr, intptr, intptr) <0xffffffff> в MonoTouch.UIKit.UIApplication.Main (строка [], строка, строка) [0x00042] в /Developer/MonoTouch/Source/monotouch/src/UIKit/UIApplication.cs:29 at BuiltSteady.Zaplify.Devices.IPhone.Application.Main (string []) [0x00000] в /Users/ogazitt/zaplify/source/devices/ios/iphone/Main.cs:16 в (обертка runtime-invoke) 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 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_DaP_Dife_DaP_Dife_DaP_Dife_DaE 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 * 1 037 * 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 * 1 043 * 0x35197743 UIApplicationMain + 1 090 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 zaplifyiphone0x00a9c980 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 * 1 049 * 0x00aa0d08 mono_jit_exec + 140 43 zaplifyiphone
0x00a98f18 основной + 2156 44 zaplifyiphone * одна тысяча пятьдесят-одна * 0x00002ff4 старт + 52

Ответы [ 2 ]

3 голосов
/ 20 февраля 2012

Я решил эту проблему, перейдя к параметрам проекта :: Build :: iPhone Build :: (отладка конфигурации / платформа iPhone) :: Дополнительные аргументы mtouch

и добавив следующую опцию:

-aot "nimt-trampolines = 512"

2 голосов
/ 20 февраля 2012

Вы должны скопировать и вставить свой комментарий в ответ и пометить этот вопрос как ответ (можно ответить на наш собственный вопрос по stackoverflow), поскольку это поможет другим людям, ищущим ту же проблему.

Вы, вероятно, узнаете об этой странице, когда ищете это: http://docs.xamarin.com/ios/troubleshooting#Ran_out_of_trampolines_of_type_2

Я изменил среду выполнения Mono (используется в MonoTouch) для печати этого URL при достижении этого условия (введите 0, 1 или 2). Надеюсь, это поможет быстрее решить эту проблему для других людей.

...