On Oct 7, 2011, at 7:18 AM, Iain Mcleod wrote:
> Weird and rather worrying. I cannot explain this stacktrace at all as the
> UserLog class is thread safe as far as I can see and in fact has been in
> production across multiple platforms for years.
> Sorry, I don't have the actual exception message, there did not appear to be
> one in the logcat output.
I see lots of `catch(Exception){}` blocks. Do you know how many exceptions are
being generated, if any?
I ask because there was a Local Reference leak (fixed in 1.9.1) around
exception handling. If you're not throwing exceptions, this shouldn't be an
issue, but if you are, and you never return to Java code (assuming a
Java->managed invocation, which wouldn't be the case for managed threads), then
you could run out of Local References.
> Only slightly nonstandard thing I can think of is that UserLog is in a
> library dll which is built with a minimum target platform version of 1.6
> whereas the app was built to target 2.2.
This shouldn't be the problem, but don't do that. :-)
The primary reason we have different versions of Mono.Android.dll is because
android.jar changed in a forward-compatible manner, but not a backward
compatible manner -- some members were moved from a derived class into an
(introduced) base class. This works fine if you're running an older app on a
new Android, but it bombs horribly if you run a newer app against an older
Android (the method doesn't exist!).
Thus, Mono.Android.dll v1.6 will differ from Mono.Android.dll v2.2, but only
Mono.Android.dll v2.2 will be bundled with your app. This _could_ cause
compatibility problems due to the aforementioned member movement.
Again, this shouldn't be the cause of your crash, but it's something to avoid.
- Jon
_______________________________________________
Monodroid mailing list
[email protected]
UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid