[Mono-bugs] [Bug 24374] Changed - System.MonoType:GetEvents() throws a NullReferenceException

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
7 May 2002 23:06:16 -0000

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 joe@ximian.com.


--- shadow/24374	Tue May  7 18:00:02 2002
+++ shadow/24374.tmp.4544	Tue May  7 19:06:16 2002
@@ -1,23 +1,23 @@
 Bug#: 24374
-Product: Mono/Class Libraries
+Product: Mono/Runtime
 Version: unspecified
+OS: unknown
 OS Details: 
 Status: NEW   
+Severity: Unknown
 Priority: Normal
-Component: CORLIB
+Component: misc
 AssignedTo: mono-bugs@ximian.com                            
 ReportedBy: joe@ximian.com               
 QAContact: mono-bugs@ximian.com
 TargetMilestone: ---
-Summary: System.MonoType:GetEvents() needs implementing
+Summary: System.MonoType:GetEvents() throws a NullReferenceException
 The gtk# building is currently dying when the compiler tries to call
 System.Monotype:GetEvents() because it isn't implemented yet.
 ** (process:26403): WARNING **: unhandled exception
 System.NullReferenceException: "A null value was found where an object
@@ -26,6 +26,18 @@
 in System.Type:FindMembers ()
 in Mono.CSharp.TypeContainer:FindMembers ()
 in Mono.CSharp.TypeContainer:Define ()
 in Mono.CSharp.RootContext:PopulateTypes ()
 in Mono.CSharp.Driver:MainDriver ()
 in Mono.CSharp.Driver:Main ()
+------- Additional Comments From joe@ximian.com  2002-05-07 19:06 -------
+Err, the problem isn't that it isn't implemented, it's that the add
+and remove elements in the MonoEvent structure are NULL and the
+runtime is crashing because it's dereferencing it.
+With my limited knowledge, I've tracked it down to the bsearch in
+mono_metadata_methods_from_event() failing on what appears to be the
+last event in the list.  The bsearch() isn't finding an element, in
+that loc->idx never matches col.  I'm in over my head here, as I don't
+know how any of the metadata stuff works yet.  If you need any more
+information from me, let me know.