[Mono-bugs] [Bug 581985] New: Assertion in type resolution when executing generic Reflection.Emit code

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Feb 22 17:20:24 EST 2010


http://bugzilla.novell.com/show_bug.cgi?id=581985

http://bugzilla.novell.com/show_bug.cgi?id=581985#c0


           Summary: Assertion in type resolution when executing generic
                    Reflection.Emit code
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: PC
        OS/Version: Windows 7
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: aChrisSmith at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: Third Party Developer/Partner
           Blocker: ---


Description of Problem:
Assertion failure when evaluating an expression involving generics and
Reflection.Emit.

Steps to reproduce the problem:
1. Download and install the latest F# CTP at:
http://www.microsoft.com/downloads/details.aspx?FamilyID=ba52e650-4e77-4b0b-b987-9f9ecd3bab3b&displaylang=en
2. Run the F# Interactive window under Mono (mono fsi.exe)
3. Enter the following text:

type r<'b> = {b: 'b list list }
let {b=b} = {b=[[]]}
let f (y:'b) =
  let x = (b : 'b list list)
  ();;

f 1;;

Actual Results:
Assertion failure.

ERROR:appdomain.c:502:mono_domain_try_type_resolve: assertion failed: (domain
!=
 NULL && ((name != NULL) || (tb != NULL)))

Expected Results:
No crash :)

How often does this happen? 

Every time, but only when using the F# Interactive window (Reflection.Emit).
Not when the code is compiled using fsc.exe.

Additional Information:

Full console session:

C:\Program Files (x86)\FSharp-1.9.9.9\bin>mono fsi.exe

Microsoft (R) F# 2.0 Interactive build 1.9.9.9
Copyright (c) Microsoft Corporation. All Rights Reserved.

For help type #help;;

> type r<'b> = {b: 'b list list }
let {b=b} = {b=[[]]}
let f (y:'b) =
  let x = (b : 'b list list)
  ();;

type r<'b> =
  {b: 'b list list;}
val b : 'a list list
val f : 'b -> unit

>
f 1;;
**
ERROR:appdomain.c:502:mono_domain_try_type_resolve: assertion failed: (domain
!=
 NULL && ((name != NULL) || (tb != NULL)))

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.

-- 
Configure bugmail: http://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