I just had a horrifying thought... [0] Which ABI is your app set to use? The default is armeabi, which doesn't support multiple cores; armeabi-v7a is required to make use of multiple cores.
In order for the armeabi runtime to work sanely on SMP devices, we use the setaffinity() system call to tie the process to a single core. If it fails, we log an error in logcat: __android_log_vprint (ANDROID_LOG_ERROR, "MonoDroid", "Error in the syscall setaffinity: err=%d=0x%x", err, err); (Arguably we should abort if it fails...) For reference, I've had your app run on as a Debug/armeabi-v7a app on a Xoom overnight without issue. Q: Is your app set to use armeabi or armeabi-v7a? Q: If you look at the Android Debug Log output, do you see the "Error in syscall setaffinity" message? Thanks, - Jon [0] The horrifying thought? That setaffinity() isn't implemented on your device. On Jul 17, 2012, at 6:54 PM, Jonathan Pryor wrote: > On Jul 16, 2012, at 7:49 AM, Meinrad Recheis wrote: >> Another info: I just tested with an older Samsung Galaxy S that has only one >> core and couldn't reproduce any deadlocks even with 10 background threads >> whereas with the dual core Galaxy Tab 10.1 it is really easy to reproduce. > > Thank you for writing the test case. :-) > > Are you Debugging or Running the app? Debug or Release? > > I'm trying to run your app on my Motorola Xoom (dual-core), and it hasn't > deadlocked yet. :-( > > - Jon > _______________________________________________ Monodroid mailing list Monodroid@lists.ximian.com UNSUBSCRIBE INFORMATION: http://lists.ximian.com/mailman/listinfo/monodroid