[Mono-bugs] [Bug 419828] Verifier causes F# to fail on Mono trunk

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Aug 31 16:18:12 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=419828

https://bugzilla.novell.com/show_bug.cgi?id=419828#c12


Rodrigo Kumpera <rkumpera at novell.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |NEEDINFO
       InfoProvider|                            |laurentlb at gmail.com

--- Comment #12 from Rodrigo Kumpera <rkumpera at novell.com> 2010-08-31 20:18:09 UTC ---
The 2.6 series is very unlikely to get fixes for this given the state of its
SRE implementation.

OTOH, 2.8 targets to be much more close to MS and functional. So it would be
good to get this working on it.

This is the result of running this test with 2.8 (which should be released very
soon).

It fails to execute with "error FS0193: Operation is not supported.". I tracked
it down to NotSupportedException been raised by code inside mono.

The code that raises it is MonoGenericClass::GetMethodImpl. This type is the
result of calling MakeGenericType with SRE types in the mix. GetMethodImpl is
the result of calling GetMethod on that type.

This is a partial stacktrace I have:

GetMethodImpl from
    at System.Reflection.MonoGenericClass.GetMethodImpl(System.String name,
BindingFlags bindingAttr, System.Reflection.Binder binder, CallingConventions
callConvention, System.Type[] types, System.Reflection.ParameterModifier[]
modifiers)
   at System.Type.GetMethod(System.String name, BindingFlags bindingAttr,
System.Reflection.Binder binder, CallingConventions callConvention,
System.Type[] types, System.Reflection.ParameterModifier[] modifiers)
   at System.Type.GetMethod(System.String name, BindingFlags bindingAttr,
System.Reflection.Binder binder, System.Type[] types,
System.Reflection.ParameterModifier[] modifiers)
   at
Microsoft.FSharp.Compiler.AbstractIL.RuntimeWriter.queryableTypeGetMethod(Microsoft.FSharp.Compiler.AbstractIL.cenv
cenv, Microsoft.FSharp.Compiler.AbstractIL.emEnv emEnv, System.Type parentT,
Microsoft.FSharp.Compiler.AbstractIL.ILMethodRef mref)
   at
Microsoft.FSharp.Compiler.AbstractIL.RuntimeWriter.convMethodRef(Microsoft.FSharp.Compiler.AbstractIL.cenv
cenv, Microsoft.FSharp.Compiler.AbstractIL.emEnv emEnv, System.Type parentTI,
Microsoft.FSharp.Compiler.AbstractIL.ILMethodRef mref)
   at
Microsoft.FSharp.Compiler.AbstractIL.RuntimeWriter.convMethodSpec(Microsoft.FSharp.Compiler.AbstractIL.cenv
cenv, Microsoft.FSharp.Compiler.AbstractIL.emEnv emEnv,
Microsoft.FSharp.Compiler.AbstractIL.ILMethodSpec mspec)


Calling this method on a similar object on MS raises the same exception so I
suspect that somewhere this objects is been mixed with it's finished version. I
can't really work much further on this without either someone from MS debugging
it or access to the source code.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list