[Mono-bugs] [Bug 75172][Maj] New - large interface crashes mcs

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Tue Jun 7 19:06:18 EDT 2005

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 greg.lonnon at hp.com.


--- shadow/75172	2005-06-07 19:06:18.000000000 -0400
+++ shadow/75172.tmp.19912	2005-06-07 19:06:18.000000000 -0400
@@ -0,0 +1,92 @@
+Bug#: 75172
+Product: Mono: Compilers
+Version: 1.1
+OS Details: red hat 9
+Status: NEW   
+Priority: Major
+Component: C#
+AssignedTo: mono-bugs at ximian.com                            
+ReportedBy: greg.lonnon at hp.com               
+QAContact: mono-bugs at ximian.com
+TargetMilestone: ---
+Summary: large interface crashes mcs
+Please fill in this template when reporting a bug, unless you know what you
+are doing.
+Description of Problem:
+compiling a class that inherits large interface (500 methods and events)
+crashes mcs
+The code is arranged into two different cs files, that are compiled into
+two different dll (one for the interface, one for the impl).  During the
+buildng of the implementation, the class that inherits the large interface
+causes mcs to crash.  If I remove the inheritance, it compiles.  If I
+remove all the methods from the interface, it compiles.  It compiles on csc.
+here's the stack dump.
+Unhandled Exception: System.NullReferenceException: Object reference not
+set to an instance of an object
+in <0x00000> <unknown method>
+in (wrapper managed-to-native) System.MonoType:GetMethodsByName
+in <0x00017> System.MonoType:GetMethods (BindingFlags bindingAttr)
+in <0x00369> System.Type:FindMembers (MemberTypes memberType, BindingFlags
+bindingAttr, System.Reflection.MemberFilter filter, System.Object
+in <0x0004a> Mono.CSharp.TypeHandle:GetMembers (MemberTypes mt,
+BindingFlags bf)in <0x00034> Mono.CSharp.MemberCache:AddMembers
+(MemberTypes mt, BindingFlags bf, IMemberContainer container)
+in <0x0003e> Mono.CSharp.MemberCache:AddMembers (MemberTypes mt,
+IMemberContainer container)
+in <0x0004d> Mono.CSharp.MemberCache:AddMembers (IMemberContainer container)
+in <0x00164> Mono.CSharp.MemberCache:.ctor (IMemberContainer container)
+in <0x000b9> Mono.CSharp.TypeHandle:.ctor (System.Type type)
+in <0x00051> Mono.CSharp.TypeHandle:GetTypeHandle (System.Type t)
+in <0x0000b> Mono.CSharp.TypeHandle:GetMemberCache (System.Type t)
+in <0x000d3> Mono.CSharp.TypeManager:LookupMemberCache (System.Type t)
+in <0x000bc> Mono.CSharp.MemberCache:.ctor (System.Type[] ifaces)
+in <0x00099> Mono.CSharp.TypeManager:LookupBaseInterfacesCache (System.Type t)
+in <0x00069> Mono.CSharp.TypeContainer:get_BaseCache ()
+in <0x00046> Mono.CSharp.MemberCache:.ctor (IMemberContainer container)
+in <0x004d5> Mono.CSharp.TypeContainer:DoDefineMembers ()
+in <0x0002a> Mono.CSharp.TypeContainer:DefineMembers
+(Mono.CSharp.TypeContainer container)
+in <0x000fa> Mono.CSharp.RootContext:PopulateTypes ()
+in <0x00b22> Mono.CSharp.Driver:MainDriver (System.String[] args)
+in <0x0000f> Mono.CSharp.Driver:Main (System.String[] args)
+Steps to reproduce the problem:
+I have tried with a 100 method + 10 event interface without it crashing,
+but I can't attach the large interface.
+Actual Results:
+two compiled dlls
+Expected Results:
+How often does this happen? 
+repeatable with particular files.
+Additional Information:
+I will try to create a version that fails.

More information about the mono-bugs mailing list