Bug 8786

Summary: MissingMethodException when using MemoryMappedFile.CreateFromFile in simulator
Product: iOS Reporter: Frank A. Krueger <fak>
Component: Xamarin.iOS.dllAssignee: Bugzilla <bugzilla>
Status: RESOLVED FIXED    
Severity: normal CC: kumpera, mono-bugs+monotouch, sebastien
Priority: ---    
Version: 6.1.x   
Target Milestone: Untriaged   
Hardware: PC   
OS: Mac OS   
Tags: Is this bug a regression?: ---
Last known good build:

Description Frank A. Krueger 2012-12-05 18:17:38 UTC
When I try to use MemoryMappedFile.CreateFromFile, I get the following exception when running in the simulator:

[ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Cannot find the requested method.
  at (wrapper managed-to-native) System.IO.MemoryMappedFiles.MemoryMapImpl:mono_filesize_from_path (string)
  at System.IO.MemoryMappedFiles.MemoryMapImpl.Open (System.String path, FileMode mode, Int64 capacity, MemoryMappedFileAccess access) [0x00000] in /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.IO.MemoryMappedFiles/MemoryMappedFile.cs:358 
  at System.IO.MemoryMappedFiles.MemoryMappedFile.CreateFromFile (System.String path, FileMode mode, System.String mapName, Int64 capacity, MemoryMappedFileAccess access) [0x00055] in /Developer/MonoTouch/Source/mono/mcs/class/System.Core/System.IO.MemoryMappedFiles/MemoryMappedFile.cs:475 

The repo is simply:

using (var mm = MemoryMappedFile.CreateFromFile ("file", FileMode.Open, null, 0L, MemoryMappedFileAccess.Read)) {
}

Versions:
  mtouch 6.0.4.1349114218
  Mono JIT compiler version 2.10.11 (mono-2-10/6cee717 Thu Nov 29 17:32:29 EST 2012)
Comment 1 Sebastien Pouliot 2012-12-06 08:49:51 UTC
Rodrigo added MemoryMappedFile support last year (managed code) but some functions (inclduing the one above) are not part of mono (at least not the one used when JITing / simulator).

#if (defined (__MACH__) && defined (TARGET_ARM)) || defined (TARGET_ANDROID)
Comment 2 Rodrigo Kumpera 2012-12-06 12:30:07 UTC
Fixed on MM and bumped monotouch head. Please bump 6.0-series if this bug needs to be fixed there as well.