http://bugzilla.novell.com/show_bug.cgi?id=598040
http://bugzilla.novell.com/show_bug.cgi?id=598040#c0 Summary: Compilation error: System.ArgumentException: Key duplication when adding: TResult Invoke(T) (When using MS_COMPATIBLE) Classification: Mono Product: Mono: Compilers Version: 2.6.x Platform: All OS/Version: All Status: NEW Severity: Normal Priority: P5 - None Component: C# AssignedTo: mono-bugs@lists.ximian.com ReportedBy: pr...@netway.org QAContact: mono-bugs@lists.ximian.com Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.1.249.1045 Safari/532.5 When compiling with gmcs.exe (compiled with MS_COMPATIBLE) the following code causes the compiler error shown on subject: ----- p.cs ----- using System; using System.Linq; using System.Linq.Expressions; namespace Test { /* public class Rate { public int Id { get; protected set; } }*/ public class OrderBySpecification { public OrderBySpecification(Expression<Func<object, object>> predicate) { } } public class RateOrderById : OrderBySpecification { public RateOrderById() : base(x => x) { } } } ------------ Example output: [r...@qsmaster tmp]# mono ./gmcs.exe /target:library p.cs Unhandled Exception: Mono.CSharp.InternalErrorException: p.cs(20,24): Test.RateOrderById.RateOrderById() ---> System.ArgumentException: Key duplication when adding: TResult Invoke(T) at System.Collections.Hashtable.PutImpl (System.Object key, System.Object value, Boolean overwrite) [0x00000] at System.Collections.Hashtable.Add (System.Object key, System.Object value) [0x00000] at Mono.CSharp.TypeManager.RegisterMethod (System.Reflection.MethodBase mb, Mono.CSharp.AParametersCollection ip) [0x00000] at Mono.CSharp.Delegate.GetInvokeMethod (Mono.CSharp.CompilerContext ctx, System.Type container_type, System.Type delegate_type) [0x00000] at Mono.CSharp.AnonymousMethodExpression.Compatible (Mono.CSharp.ResolveContext ec, System.Type type) [0x00000] at Mono.CSharp.AnonymousMethodExpression.ImplicitStandardConversionExists (Mono.CSharp.ResolveContext ec, System.Type delegate_type) [0x00000] at Mono.CSharp.Convert.ImplicitConversionExists (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression expr, System.Type target_type) [0x00000] at Mono.CSharp.MethodGroupExpr.IsArgumentCompatible (Mono.CSharp.ResolveContext ec, Modifier arg_mod, Mono.CSharp.Argument argument, Modifier param_mod, System.Type parameter) [0x00000] at Mono.CSharp.MethodGroupExpr.IsApplicable (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& arguments, Int32 arg_count, System.Reflection.MethodBase& method, System.Boolean& params_expanded_form) [0x00000] at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& Arguments, Boolean may_fail, Location loc) [0x00000] at Mono.CSharp.ConstructorInitializer.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.BlockContext ec) [0x00000] at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.BlockContext ec) [0x00000] at Mono.CSharp.Block.Resolve (Mono.CSharp.BlockContext ec) [0x00000] at Mono.CSharp.ToplevelBlock.Resolve (Mono.CSharp.FlowBranching parent, Mono.CSharp.BlockContext rc, Mono.CSharp.ParametersCompiled ip, IMethodData md) [0x00000] --- End of inner exception stack trace --- at Mono.CSharp.TypeContainer.EmitConstructors () [0x00000] at Mono.CSharp.TypeContainer.EmitType () [0x00000] at Mono.CSharp.RootContext.EmitCode () [0x00000] at Mono.CSharp.Driver.Compile () [0x00000] at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] Reproducible: Always Steps to Reproduce: 1. Create a p.cs file like the one appearing on issue description 2. Try to compile with gmcs 3. See resulted exception Actual Results: Compilation fails with Mono.CSharp.InternalErrorException. Expected Results: Normal compilation. Tested against trunk, fails too. -- Configure bugmail: http://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. _______________________________________________ mono-bugs maillist - mono-bugs@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-bugs