[Mono-bugs] [Bug 674548] New: gmcs crash with a malformed enum definition
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Feb 23 18:22:28 EST 2011
https://bugzilla.novell.com/show_bug.cgi?id=674548
https://bugzilla.novell.com/show_bug.cgi?id=674548#c0
Summary: gmcs crash with a malformed enum definition
Classification: Mono
Product: Mono: Compilers
Version: 2.6.x
Platform: x86
OS/Version: Ubuntu
Status: NEW
Severity: Normal
Priority: P5 - None
Component: C#
AssignedTo: msafar at novell.com
ReportedBy: abels at bluewin.ch
QAContact: mono-bugs at lists.ximian.com
Found By: ---
Blocker: ---
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3)
Gecko/20100401 Firefox/3.6.3
A malformed enum definition can crash the gmcs compiler.
In the example below, a dot replace the comma.
Reproducible: Always
Steps to Reproduce:
The program was created and compiled under monodevelop.
This little program reproduce the problem.
using System;
namespace TestEnum
{
public enum RefreshType : int
{
Cyclic = 0,
Delta = 1. // dot at eol
CyclicAndDelta = 2
}
}
The command line is :
/usr/bin/gmcs /noconfig
"/out:/home/abeguin/Projects/TestEnum/bin/Debug/TestEnum.exe"
"/r:/usr/lib/mono/2.0/System.dll" /nologo /warn:4 /debug:+ /debug:full
/optimize- /codepage:utf8 /platform:x86 "/define:DEBUG" /t:exe
"/home/abeguin/Projects/TestEnum/Main.cs"
"/home/abeguin/Projects/TestEnum/AssemblyInfo.cs"
Actual Results:
Unhandled Exception: System.NullReferenceException: Object reference not set to
an instance of an object
at Mono.CSharp.MemberCore.LookupExtensionMethod (System.Type extensionType,
System.String name, Location loc) [0x00000] in <filename unknown>:0
at Mono.CSharp.MemberCore.LookupExtensionMethod (System.Type extensionType,
System.String name, Location loc) [0x00000] in <filename unknown>:0
at Mono.CSharp.MemberCore.LookupExtensionMethod (System.Type extensionType,
System.String name, Location loc) [0x00000] in <filename unknown>:0
at Mono.CSharp.ResolveContext.LookupExtensionMethod (System.Type
extensionType, System.String name, Location loc) [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.DoResolveLValue (Mono.CSharp.ResolveContext ec,
Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0
at Mono.CSharp.Expression.ResolveLValue (Mono.CSharp.ResolveContext ec,
Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0
at Mono.CSharp.Assign.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in
<filename unknown>:0
at Mono.CSharp.SimpleAssign.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.Expression.ResolveAsConstant (Mono.CSharp.ResolveContext ec,
Mono.CSharp.MemberCore mc) [0x00000] in <filename unknown>:0
at Mono.CSharp.EnumMember.DoResolveValue (Mono.CSharp.ResolveContext ec)
[0x00000] in <filename unknown>:0
at Mono.CSharp.Const.ResolveValue () [0x00000] in <filename unknown>:0
at Mono.CSharp.Const.Emit () [0x00000] in <filename unknown>:0
at Mono.CSharp.TypeContainer.EmitConstants () [0x00000] in <filename
unknown>:0
at Mono.CSharp.TypeContainer.EmitType () [0x00000] in <filename unknown>:0
at Mono.CSharp.RootContext.EmitCode () [0x00000] in <filename unknown>:0
at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0
at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename
unknown>:0
Unhandled Exception: System.NullReferenceException: Object reference not set to
an instance of an object
at Mono.CSharp.MemberCore.LookupExtensionMethod (System.Type extensionType,
System.String name, Location loc) [0x00000] in <filename unknown>:0
at Mono.CSharp.MemberCore.LookupExtensionMethod (System.Type extensionType,
System.String name, Location loc) [0x00000] in <filename unknown>:0
at Mono.CSharp.MemberCore.LookupExtensionMethod (System.Type extensionType,
System.String name, Location loc) [0x00000] in <filename unknown>:0
at Mono.CSharp.ResolveContext.LookupExtensionMethod (System.Type
extensionType, System.String name, Location loc) [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.DoResolveLValue (Mono.CSharp.ResolveContext ec,
Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0
at Mono.CSharp.Expression.ResolveLValue (Mono.CSharp.ResolveContext ec,
Mono.CSharp.Expression right_side) [0x00000] in <filename unknown>:0
at Mono.CSharp.Assign.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in
<filename unknown>:0
at Mono.CSharp.SimpleAssign.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.Expression.ResolveAsConstant (Mono.CSharp.ResolveContext ec,
Mono.CSharp.MemberCore mc) [0x00000] in <filename unknown>:0
at Mono.CSharp.EnumMember.DoResolveValue (Mono.CSharp.ResolveContext ec)
[0x00000] in <filename unknown>:0
at Mono.CSharp.Const.ResolveValue () [0x00000] in <filename unknown>:0
at Mono.CSharp.Const.Emit () [0x00000] in <filename unknown>:0
at Mono.CSharp.TypeContainer.EmitConstants () [0x00000] in <filename
unknown>:0
at Mono.CSharp.TypeContainer.EmitType () [0x00000] in <filename unknown>:0
at Mono.CSharp.RootContext.EmitCode () [0x00000] in <filename unknown>:0
at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0
at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename
unknown>:0
Construction terminée -- 1 erreur, 0 avertissement
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list