[Mono-bugs] [Bug 82402][Nor] Changed - [GMCS] Compiler crash with nested anonymous methods in a generic method.

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Fri Aug 10 17:00:03 EDT 2007


Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by miguel at ximian.com.

http://bugzilla.ximian.com/show_bug.cgi?id=82402

--- shadow/82402	2007-08-10 16:00:47.000000000 -0400
+++ shadow/82402.tmp.2215	2007-08-10 17:00:03.000000000 -0400
@@ -3,13 +3,13 @@
 Version: 1.2
 OS: other
 OS Details: 
 Status: NEW   
 Resolution: 
 Severity: Unknown
-Priority: Wishlist
+Priority: Normal
 Component: C#
 AssignedTo: rharinath at novell.com                            
 ReportedBy: grompf at sublimeintervention.com               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
 URL: 
@@ -76,6 +76,88 @@
             }
         });
 
         return result;
     }
 }
+
+------- Additional Comments From miguel at ximian.com  2007-08-10 17:00 -------
+In trunk things are slightly different, but we now have an issue with
+the conversion 
+
+
+It should not be too hard to fix.
+
+Exception caught by the compiler while compiling:
+   Block that caused the problem begin at: a.cs(26,39):
+                     Block being compiled: [a.cs(29,17):,Internal(1,1):]
+Mono.CSharp.InternalErrorException: VerifyArgumentsCompat and
+IsApplicable do not agree; likely reason: ImplicitConversion and
+ImplicitConversionExists have gone out of sync
+Exception caught by the compiler while compiling:
+   Block that caused the problem begin at: a.cs(18,28):
+                     Block being compiled: [a.cs(24,9):,Internal(1,1):]
+Mono.CSharp.InternalErrorException: a.cs(26,39):
+Interna compiler error at a.cs(18,28):: exception caught while
+emitting MethodBuilder [GmcsCrash::Fork]
+
+Unhandled Exception: Mono.CSharp.InternalErrorException: a.cs(26,39):
+---> Mono.CSharp.InternalErrorException: VerifyArgumentsCompat and
+IsApplicable do not agree; likely reason: ImplicitConversion and
+ImplicitConversionExists have gone out of sync
+  at Mono.CSharp.MethodGroupExpr.OverloadResolve
+(Mono.CSharp.EmitContext ec, System.Collections.ArrayList Arguments,
+Boolean may_fail, Location loc) [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.Assign.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.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
+  at Mono.CSharp.Try.Resolve (Mono.CSharp.EmitContext ec) [0x00000]
+  at Mono.CSharp.Block.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] --- End of inner exception stack trace ---
+
+  at Mono.CSharp.AnonymousMethodExpression.Compatible
+(Mono.CSharp.EmitContext ec, System.Type delegateType) [0x00000]
+  at Mono.CSharp.Convert.ImplicitConversionStandard
+(Mono.CSharp.EmitContext ec, Mono.CSharp.Expression expr, System.Type
+target_type, Location loc) [0x00000]
+  at Mono.CSharp.Convert.ImplicitConversion (Mono.CSharp.EmitContext
+ec, Mono.CSharp.Expression expr, System.Type target_type, Location
+loc) [0x00000]
+  at Mono.CSharp.Invocation.VerifyArgumentsCompat
+(Mono.CSharp.EmitContext ec, System.Collections.ArrayList Arguments,
+Int32 arg_count, System.Reflection.MethodBase method, Boolean
+chose_params_expanded, System.Type delegate_type, Boolean may_fail,
+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.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.Block.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]
+


More information about the mono-bugs mailing list