Note that there are some explanatory texts on larger screens.

plurals
  1. POMonoTouch - LLVM compiled App Hangs in 5.3.x in System.Collections.Generic.Dictionary?
    primarykey
    data
    text
    <p>We are working on a game using MonoGame, which has been working fine with MonoTouch 5.2.x until updating to 5.3.x betas, even 5.3.5.</p> <p>The game would just lock up when loading our first level, and would only happen when compiled in Release mode for the device. Works fine in the simulator or in Debug mode for the device.</p> <p>We had no clue what the issue was, until we used a trick Rolf Kvinge posted <a href="http://rolfkvinge.blogspot.com/2012/05/monotouch-debugging-tips.html" rel="nofollow">here</a>.</p> <p>Here is the useful snippet of the crash log:</p> <pre><code>0 libsystem_c.dylib 0x32bd68b0 memset$VARIANT$CortexA9 + 152 1 DrawAStickmaniPhone 0x00492e40 DrawAStickmanCore_System_Collections_Generic_Dictionary_2_int_DrawAStickman_Core_Json_Frame_TryGetValue_int_DrawAStickman_Core_Json_Frame_ (DrawAStickmanCore.dll.7.s:36462) 2 DrawAStickmaniPhone 0x004d4e3c DrawAStickman_Core_FrameCounter_OnFrameChanged (DrawAStickmanCore.dll.7.s:137904) 3 DrawAStickmaniPhone 0x00479dbc DrawAStickmanCore_DrawAStickman_Core_BaseCounter_Update_Microsoft_Xna_Framework_GameTime (DrawAStickmanCore.dll.7.s:974) 4 DrawAStickmaniPhone 0x0048694c DrawAStickmanCore_DrawAStickman_Core_ElementStateComponent_Update_Microsoft_Xna_Framework_GameTime (DrawAStickmanCore.dll.7.s:17895) 5 DrawAStickmaniPhone 0x0047ce70 DrawAStickmanCore_DrawAStickman_Core_ElementComponent_Update_Microsoft_Xna_Framework_GameTime (DrawAStickmanCore.dll.7.s:5028) 6 DrawAStickmaniPhone 0x004d72cc DrawAStickman_Core_LevelComponent_Update_Microsoft_Xna_Framework_GameTime_0 (DrawAStickmanCore.dll.7.s:138769) 7 DrawAStickmaniPhone 0x0003d170 MonoGame_Framework_Microsoft_Xna_Framework_Game__UpdateActionm__2C_Microsoft_Xna_Framework_IUpdateable_Microsoft_Xna_Framework_GameTime (MonoGame.Framework.dll.7.s:69150) 8 DrawAStickmaniPhone 0x0003d284 MonoGame_Framework_Microsoft_Xna_Framework_Game_SortingFilteringCollection_1_ForEachFilteredItem_TUserData_System_Action_2_T_TUserData_TUserData (MonoGame.Framework.dll.7.s:69246) 9 DrawAStickmaniPhone 0x0003c3bc MonoGame_Framework_Microsoft_Xna_Framework_Game_Update_Microsoft_Xna_Framework_GameTime (MonoGame.Framework.dll.7.s:67887) 10 DrawAStickmaniPhone 0x004c7664 DrawAStickman_Core_StickmanGame_Update_Microsoft_Xna_Framework_GameTime (DrawAStickmanCore.dll.7.s:133288) 11 DrawAStickmaniPhone 0x0003c674 MonoGame_Framework_Microsoft_Xna_Framework_Game_DoUpdate_Microsoft_Xna_Framework_GameTime (MonoGame.Framework.dll.7.s:68138) 12 DrawAStickmaniPhone 0x0003c284 MonoGame_Framework_Microsoft_Xna_Framework_Game_Tick (MonoGame.Framework.dll.7.s:67751) 13 DrawAStickmaniPhone 0x0003e43c MonoGame_Framework_Microsoft_Xna_Framework_iOSGamePlatform_RunTick (MonoGame.Framework.dll.7.s:70871) 14 DrawAStickmaniPhone 0x0003e39c MonoGame_Framework_Microsoft_Xna_Framework_iOSGamePlatform_Tick (MonoGame.Framework.dll.7.s:70820) 15 DrawAStickmaniPhone 0x002fe8c0 monotouch_MonoTouch_Foundation_NSActionDispatcher_Apply + 12 16 DrawAStickmaniPhone 0x006de878 wrapper_runtime_invoke_object_runtime_invoke_dynamic_intptr_intptr_intptr_intptr_0 (mscorlib.dll.7.s:468944) 17 DrawAStickmaniPhone 0x00963780 mono_jit_runtime_invoke (mini.c:5792) 18 DrawAStickmaniPhone 0x009cdc04 mono_runtime_invoke (object.c:2788) 19 DrawAStickmaniPhone 0x0095aba4 native_to_managed_trampoline_MonoTouch_Foundation_NSActionDispatcher_Apply (registrar.m:19) </code></pre> <p>Looking at this, it appears to deadlocking on a line such as this:</p> <pre><code>Frame frame; if (myFramesDictionary != null &amp;&amp; myFramesDictionary.TryGetValue(index, out frame)) { //Some code here } </code></pre> <p><code>Frame</code> is a struct, <code>myFramesDictionary</code> is a <code>Dictionary&lt;int, Frame&gt;</code>.</p> <p>Is this a possible bug in MonoTouch 5.3.x? I don't know how to recreate the issue without sending our entire app to Xamarin.</p> <p><strong>UPDATE</strong></p> <p>We disabled the LLVM compiler option and it fixed the hang.</p> <p>I was not able to create a small project to reproduce the issue. Not sure I want to send the entire app to Xamarin to debug. Any ideas on re-creating this?</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload