https://bugzilla.novell.com/show_bug.cgi?id=462016
User [email protected] added comment https://bugzilla.novell.com/show_bug.cgi?id=462016#c2 Steven Munroe <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #2 from Steven Munroe <[email protected]> 2008-12-23 15:33:09 MST --- This is annoying The bogus MonoClass seems to be referenced out of the instruction stream. stating with mini.c:mono_allocate_stack_slots_full(): size = mono_class_native_size (inst->inst_vtype->data.klass, &align); and marshal.c:mono_class_native_size(MonoClass *klass, guint32 *align) calls: mono_marshal_load_type_info (klass); and marshal.c:mono_marshal_load_type_info(MonoClass* klass) calls: mono_class_init (klass); and class.c: mono_class_init(MonoClass* class) recursively calls itself: if (class->parent && !class->parent->inited) { mono_class_init (class->parent); } Which recursively calls itself again: if (class->generic_class && !class->generic_class->is_dynamic) { MonoClass *gklass = class->generic_class->container_class; mono_stats.generic_class_count++; class->method = gklass->method; class->field = gklass->field; mono_class_init (gklass); mono_class_setup_methods (gklass); if (MONO_CLASS_IS_INTERFACE (class)) class->interface_id = mono_get_unique_iid (class); g_assert (class->interface_count == gklass->interface_count); } this call returns after initializing the "container_class" and dies on the assert because class->interface_count and many other fields are bogus. So far I have not been able to find where bad MonoClass was created or initialized or where it was stuffed into the instruction stream ... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug. _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
