On Aug 12, 2011, at 6:36 AM, was wrote:
> My Monodroid app runs fine on my OS2.1 mobile and on the emulator. However, a
> beta tester has installed it on his Acer tablet running OS3 (Honeycomb), and
> it crashes on launch:
> 
> “Sorry!  The application Skylog Pro (process SkylogPro.SkylogPro) has
> stopped unexpectedly.  Please try again.  Force close.”
...
> Should the app run ok on OS3?

Yes, but... ;-)

Mono for Android provides two runtimes (VS: Project Properties > Application 
tab > Supported architectures), armeabi and armeabi-v7a.

The armeabi architecture is for ARMv5, which has no notion of multi-procesor 
support.

The armeabi-v7a architectures is for ARMv7a, which does have a notion of 
multi-processor support (and hardware FPU support, and...).

By default, only armeabi is included with your app, meaning that the armeabi 
runtime will be used everywhere. However, the armeabi runtime appears to crash 
(hard!) on multi-processor systems. For example, if I take the project attached 
to http://bugzilla.xamarin.com/show_bug.cgi?id=245, comment out the 
GC.Collect() call on line 39 (as described in Comment 2), and deploy a Release 
build to a Xoom, it crashes in the manner you described.

If I rebuild a Release build and include the armeabi-v7a architecture, it runs 
normally.

So is there a bug here? Yes: armeabi shouldn't crash on multi-core 
architectures. (We should instead modify it so that it'll only run code on a 
single core.) This has been filed as 
http://bugzilla.xamarin.com/show_bug.cgi?id=281.

Is there a workaround? Yes: include the armeabi-v7a architecture with your app.

 - Jon

_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to