[Mono-bugs] [Bug 460242] New: Compilation of C# involving generically-typed collection classes fails with a System .IndexOutOfRangeException

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Dec 18 10:40:53 EST 2008


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


           Summary: Compilation of C# involving generically-typed collection
                    classes fails with a System.IndexOutOfRangeException
           Product: Mono: Compilers
           Version: SVN
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: C#
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: cbutor at gmail.com
         QAContact: mono-bugs at lists.ximian.com
                CC: billholmes54 at gmail.com
          Found By: Community User


Created an attachment (id=260885)
 --> (https://bugzilla.novell.com/attachment.cgi?id=260885)
C# code that produces the compiler error

When compiling C# code with classes based on generically-typed signatures
(based on System.Collections.Generic), the mono C# compiler fails and produces
a "System.IndexOutOfRangeException".  Compilation succeeds on .NET.  

NOTE:  This is a regression from mono version 1.9. (applicable to 2.0, 2.2, and
SVN)

The attached program illustrates this compilation failure when compiled using
gmcs.  For this specific example, the stack trace is as follows:

Exception caught by the compiler while compiling:
   Block that caused the problem begin at: Foo.cs(10,24):
                     Block being compiled: [Foo.cs(11,5):,Foo.cs(17,5):]
System.IndexOutOfRangeException: Array index is out of range.
Internal compiler error at Foo.cs(10,24):: exception caught while emitting
MethodBuilder [Foo::Main]

Unhandled Exception: System.IndexOutOfRangeException: Array index is out of
range.
  at Mono.CSharp.ConstraintChecker.CheckConstraint (IResolveContext ec,
System.Type ptype, Mono.CSharp.Expression expr, System.Type ctype) [0x00000]
  at Mono.CSharp.ConstraintChecker.CheckConstraints (IResolveContext ec, Int32
index) [0x00000]
  at Mono.CSharp.ConstraintChecker.CheckConstraints (IResolveContext ec)
[0x00000]
  at Mono.CSharp.ConstraintChecker.CheckConstraints (Mono.CSharp.EmitContext
ec, System.Reflection.MethodBase definition, System.Reflection.MethodBase
instantiated, Location loc) [0x00000]
  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.EmitContext ec,
System.Collections.ArrayList& Arguments, Boolean may_fail, Location loc)
[0x00000]
  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.EmitContext ec)
[0x00000]
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags
flags) [0x00000]
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.EmitContext
ec) [0x00000]
  at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.EmitContext ec)
[0x00000]
  at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.ExplicitBlock.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
  at Mono.CSharp.EmitContext.ResolveTopBlock (Mono.CSharp.EmitContext
anonymous_method_host, Mono.CSharp.ToplevelBlock block, Mono.CSharp.Parameters
ip, IMethodData md, System.Boolean& unreachable) [0x00000]


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


More information about the mono-bugs mailing list