[Mono-bugs] [Bug 621864] New: Compiler crash in gmcs, MethodBuilder, "LocalVariableReference did not set its type after Resolve called"

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Jul 13 07:32:43 EDT 2010


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

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


           Summary: Compiler crash in gmcs, MethodBuilder,
                    "LocalVariableReference did not set its type after
                    Resolve called"
    Classification: Mono
           Product: Mono: Compilers
           Version: 2.6.x
          Platform: i386
        OS/Version: Ubuntu
            Status: NEW
          Severity: Critical
          Priority: P5 - None
         Component: C#
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: carl.adahl at gmail.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=375541)
 --> (http://bugzilla.novell.com/attachment.cgi?id=375541)
File that fails (and its dependency: PublicService.cs)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/533.4
(KHTML, like Gecko) Chrome/5.0.375.86 Safari/533.4

Unexpected compiler crash while writing somewhat nested lambda and callback.
Not sure how to be more specific than this listing:

gmcs -r:System.Web.Services PublicService.cs SellerItemsLogic.cs 
Internal compiler error at SellerItemsLogic.cs(25,36):: exception caught while
emitting MethodBuilder [SellerItemsLogic::GetSellerItemsAsync]

Unhandled Exception: Mono.CSharp.InternalErrorException:
SellerItemsLogic.cs(27,55): ---> System.Exception: Expression
Mono.CSharp.LocalVariableReference did not set its type after Resolve
called from: Mono.CSharp.LocalVariableReference
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
ResolveFlags flags) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.SimpleName.DoSimpleNameResolve (Mono.CSharp.ResolveContext ec,
Mono.CSharp.Expression right_side, Boolean intermediate) [0x00000] in <filename
unknown>:0 
  at Mono.CSharp.SimpleName.SimpleNameResolve (Mono.CSharp.ResolveContext ec,
Mono.CSharp.Expression right_side, Boolean intermediate) [0x00000] in <filename
unknown>:0 
  at Mono.CSharp.SimpleName.DoResolve (Mono.CSharp.ResolveContext ec, Boolean
intermediate) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
ResolveFlags flags) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.Binary.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in
<filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
ResolveFlags flags) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.ParenthesizedExpression.DoResolve (Mono.CSharp.ResolveContext
ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
ResolveFlags flags) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.Assign.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in
<filename unknown>:0 
  at Mono.CSharp.ElementInitializer.DoResolve (Mono.CSharp.ResolveContext ec)
[0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
ResolveFlags flags) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.CollectionOrObjectInitializers.DoResolve
(Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
ResolveFlags flags) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.NewInitialize.DoResolve (Mono.CSharp.ResolveContext ec)
[0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
ResolveFlags flags) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.Return.DoResolve (Mono.CSharp.BlockContext ec) [0x00000] in
<filename unknown>:0 
  at Mono.CSharp.ContextualReturn.DoResolve (Mono.CSharp.BlockContext ec)
[0x00000] in <filename unknown>:0 
  at Mono.CSharp.ExitStatement.Resolve (Mono.CSharp.BlockContext ec) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.Block.Resolve (Mono.CSharp.BlockContext ec) [0x00000] in
<filename unknown>:0 
  at Mono.CSharp.ToplevelBlock.Resolve (Mono.CSharp.FlowBranching parent,
Mono.CSharp.BlockContext rc, Mono.CSharp.ParametersCompiled ip, IMethodData md)
[0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.CSharp.AnonymousMethodExpression.Compatible
(Mono.CSharp.ResolveContext ec, System.Type type) [0x00000] in <filename
unknown>:0 
  at Mono.CSharp.AnonymousMethodExpression.ImplicitStandardConversionExists
(Mono.CSharp.ResolveContext ec, System.Type delegate_type) [0x00000] in
<filename unknown>:0 
  at Mono.CSharp.Convert.ImplicitConversionExists (Mono.CSharp.ResolveContext
ec, Mono.CSharp.Expression expr, System.Type target_type) [0x00000] in
<filename unknown>:0 
  at Mono.CSharp.MethodGroupExpr.IsArgumentCompatible
(Mono.CSharp.ResolveContext ec, Modifier arg_mod, Mono.CSharp.Argument
argument, Modifier param_mod, System.Type parameter) [0x00000] in <filename
unknown>:0 
  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] in <filename unknown>:0 
  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.ResolveContext
ec, Mono.CSharp.Arguments& Arguments, Boolean may_fail, Location loc) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.ResolveContext ec)
[0x00000] in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec,
ResolveFlags flags) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000]
in <filename unknown>:0 
  at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.BlockContext
ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.BlockContext ec)
[0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.Resolve (Mono.CSharp.BlockContext ec) [0x00000] in
<filename unknown>:0 
  at Mono.CSharp.ToplevelBlock.Resolve (Mono.CSharp.FlowBranching parent,
Mono.CSharp.BlockContext rc, Mono.CSharp.ParametersCompiled ip, IMethodData md)
[0x00000] in <filename unknown>:0 


Reproducible: Always

Steps to Reproduce:
Compile with gmcs -r:System.Web.Services PublicService.cs SellerItemsLogic.cs

-- 
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.


More information about the mono-bugs mailing list