http://bugzilla.novell.com/show_bug.cgi?id=608007
http://bugzilla.novell.com/show_bug.cgi?id=608007#c0 Summary: GMCS crash when dealing with very strange LINQ Classification: Mono Product: Mono: Compilers Version: unspecified Platform: All OS/Version: All Status: NEW Severity: Normal Priority: P5 - None Component: C# AssignedTo: [email protected] ReportedBy: [email protected] QAContact: [email protected] Found By: Other Blocker: --- Created an attachment (id=363908) --> (http://bugzilla.novell.com/attachment.cgi?id=363908) This is the source code that causes GMCS to crash. Description of Problem: I use C# for programming contests and one of the pieces of code I wrote compiles perfectly under Microsoft .NET but crashes gmcs. This is BAD code but its still a bit troublesome that it won't compile. I am doing everything in a single LINQ statement. Steps to reproduce the problem: 1. Compile the attached C# file with gmcs Actual Results: Compiler crashes with a NullReferenceException Expected Results: Compilation How often does this happen? Every time Additional Information: As I said this is BAD code but I was attempting to golf the size of the program as much as possible. The output was given to me from the contest coordinator and judge. He is running mono 2.6.4 on Mac OS X 10.6.3 however this bug applies to Linux as well. Sorry for the lack of source lines in the output. Here is the output: Internal compiler error at Disorder.cs(10,17):: exception caught while emitting MethodBuilder [Program::Main] Unhandled Exception: Mono.CSharp.InternalErrorException: Disorder.cs(32,44): ---> System.NullReferenceException: Object reference not set to an instance of an object at Mono.CSharp.ToplevelParameterInfo.get_ParameterType () [0x00000] in <filename unknown>:0 at Mono.CSharp.ParameterReference.DoResolveBase (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.ParameterReference.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.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.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0 at Mono.CSharp.MemberAccess.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.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.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0 at Mono.CSharp.MemberAccess.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.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0 at Mono.CSharp.MemberAccess.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.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.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0 at Mono.CSharp.MemberAccess.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.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.Linq.QueryExpression.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.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0 at Mono.CSharp.MemberAccess.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.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.MemberAccess.DoResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0 at Mono.CSharp.MemberAccess.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.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.Argument.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 at Mono.CSharp.Arguments.Resolve (Mono.CSharp.ResolveContext ec, System.Boolean& dynamic) [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.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.Convert.ImplicitConversionStandard (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression expr, System.Type target_type, Location loc, Boolean explicit_cast) [0x00000] in <filename unknown>:0 at Mono.CSharp.Convert.ExplicitConversionCore (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression expr, System.Type target_type, Location loc) [0x00000] in <filename unknown>:0 at Mono.CSharp.Convert.ExplicitConversion (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression expr, System.Type target_type, Location loc) [0x00000] in <filename unknown>:0 at Mono.CSharp.Cast.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 -- 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 - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
