I'm writing an iPhone application using Monotouch and recently the app has started crashing stating
Mprotect failed at 0x863a000 (length 8192) with errno 12
followed by a rather lengthly stack trace and Springboard informing that "the application exited abormally with signal 6".
I've read this question which states that the app has exhaused all the memory available on the iPhone. We have applied some general Dispose patterns to the app and generally disposed of any heavy objects as soon as we could. This meant the app now runs using less memory. However we are still getting the MProtect failed message.
Also curious to note is that when running the app under instruments, instruments is reporting that there is plenty of free memory available to the device (~40mb).
I was wondering whether anyone would be able to explain MProtect and this failure as I don't think I've quite understood it properly.