1
我一直在嘗試使用ServiceStack.Text.JsConfig.RegisterTypeForAot();在一個沒有在運行時使用的方法來治癒我的AOT問題,但當我有太多的調用時遇到了其他奇怪的問題。我有10個調用各種類型,包括類,結構和枚舉。當我有9個電話一切正常,我已經洗牌了一些類型,所以我很確定這是數字。當我有10個電話,我得到...調用ServiceStack.Text.JsConfig.RegisterTypeForAot <T>();與MonoTouch導致啓動SIGSEGV在設備上
Stacktrace:
at System.MonoType.ToString() [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/MonoType.cs:636
at System.Exception.get_ClassName() [0x0000b] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Exception.cs:141
at System.Exception.ToString() [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Exception.cs:286
at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>
at System.Type.Equals (System.Type) [0x00020] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Type.cs:471
at System.Type.IsAssignableFrom (System.Type) [0x00008] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System/Type.cs:863
at System.Collections.Generic.EqualityComparer`1<intptr>..cctor() [0x00029] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.Generic/EqualityComparer.cs:42
at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>
at System.Collections.Generic.Dictionary`2<intptr, System.WeakReference>.Init (int,System.Collections.Generic.IEqualityComparer`1<intptr>) [0x00012] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:265
at System.Collections.Generic.Dictionary`2<intptr, System.WeakReference>..ctor() [0x00006] in /Developer/MonoTouch/Source/mono/mcs/class/corlib/System.Collections.Generic/Dictionary.cs:223
at MonoTouch.ObjCRuntime.Runtime..cctor() <IL 0x00000, 0x0002b>
at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>
Native stacktrace:
0 TouchContainer 0x028dbda5 mono_handle_native_sigsegv + 244
1 TouchContainer 0x028a3cfd mono_sigsegv_signal_handler + 172
2 libsystem_c.dylib 0x320e8e93 _sigtramp + 42
3 TouchContainer 0x0093aa25 ServiceStack_Text_Common_JsWriter_WriteEnumFlags_System_IO_TextWriter_object + 381
=================================================================
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.
=================================================================
TouchContainer是應用程序的名稱。
這似乎是在應用程序運行的早期發生的,它必須是AOT中的錯誤或者是發出錯誤代碼的錯誤。
有沒有人有任何想法?我應該在Xamarin上登記一張票嗎?看起來像處理小型repro項目可能會很棘手......
這看起來像是MonoTouch中的某個地方。我建議你用一個測試用例提交一個bug(http://bugzilla.xamarin.com) - 它不一定非常小,但最好是易於重現(即不必點擊大約30分鐘就不會做一個好的測試用例,但如果它在啓動時崩潰了,我會說剛剛添加你的項目)。 –