[Mono-bugs] [Bug 80249][Maj] Changed - [GMCS] incorrect compilation of foreach
bugzilla-daemon at bugzilla.ximian.com
bugzilla-daemon at bugzilla.ximian.com
Wed Jan 10 01:05:51 EST 2007
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 miguel at ximian.com.
http://bugzilla.ximian.com/show_bug.cgi?id=80249
--- shadow/80249 2006-12-14 07:16:46.000000000 -0500
+++ shadow/80249.tmp.22304 2007-01-10 01:05:51.000000000 -0500
@@ -135,6 +135,84 @@
so, there may be some other issue. Perhaps we are checking 'is
IEnumerable' too early somewhere.
------- Additional Comments From lupus at ximian.com 2006-12-14 07:16 -------
*** Bug 80259 has been marked as a duplicate of this bug. ***
+
+------- Additional Comments From miguel at ximian.com 2007-01-10 01:05 -------
+Hello,
+
+This seems to have regressed. Now instead of an exception, this is
+what I get from running ipy.exe:
+
+
+** ERROR **: file class.c: line 574 (mono_generic_class_get_context):
+assertion failed: (context->class_inst == gclass->inst)
+aborting...
+Stacktrace:
+
+ at IronPython.Runtime.SystemState.Initialize () <0xffffffff>
+ at IronPython.Runtime.SystemState.Initialize () <0x00043>
+ at IronPython.Runtime.SystemState..ctor
+(IronPython.Hosting.EngineOptions) <0x00013>
+ at IronPython.Hosting.PythonEngine.Initialize
+(IronPython.Hosting.EngineOptions) <0x00040>
+ at IronPython.Hosting.PythonEngine..ctor
+(IronPython.Hosting.EngineOptions) <0x00025>
+ at IronPythonConsole.PythonCommandLine.Main (string[]) <0x00088>
+ at (wrapper runtime-invoke)
+System.Object.runtime_invoke_int_string[]
+(object,intptr,intptr,intptr) <0xffffffff>
+
+
+Paolo's original test case produces an InvalidCastException on both
+gmcs and .NET 2.0.
+
+Marek's reduced test case produces a NotImplementedException on both
+gmcs and .NET 2.0.
+
+But the new IronPython alpha still fails to start up.
+
+The issue is in the initialization of the EmptyTypeOps`1 class:
+#5 0xb7f37286 in g_assert_warning () from /opt/gnome/lib/libglib-2.0.so.0
+(gdb) up
+#6 0x080f41f0 in mono_generic_class_get_context (gclass=0x81eac40) at
+class.c:574
+574 g_assert (context->class_inst == gclass->inst);
+(gdb)
+#7 0x080fa051 in mono_class_init (class=0x8333850) at class.c:2414
+2414 gklass->methods [i], class,
+mono_generic_class_get_context ((MonoGenericClass *) gclass));
+(gdb) p *class
+$4 = {image = 0x826a480, enum_basetype = 0x0, element_class =
+0x8333850, cast_class = 0x8333850, rank = 0 '\0', inited = 0,
+ init_pending = 1, size_inited = 0, valuetype = 0, enumtype = 0,
+blittable = 0, unicode = 0, wastypebuilder = 0, min_align = 0,
+ packing_size = 0, ghcimpl = 0, has_finalize = 0, marshalbyref = 0,
+contextbound = 0, delegate = 0, gc_descr_inited = 0,
+ has_cctor = 0, has_references = 0, has_static_refs = 0,
+no_special_static_fields = 0, is_com_object = 0, exception_type = 0 '\0',
+ exception_data = 0x0, declsec_flags = 0, parent = 0x8217d14,
+nested_in = 0x0, nested_classes = 0x0, type_token = 33555017,
+ name = 0xb734b8ac "EmptyTypeOps`1", name_space = 0xb7349322
+"IronPython.Runtime.Types", supertypes = 0x835a6ec, idepth = 2,
+ interface_count = 0, interface_id = 0, max_interface_id = 0,
+interface_offsets = 0x0, interfaces = 0x0, instance_size = 0,
+ vtable_size = 0, sizes = {class_size = 0, element_size = 0}, flags =
+1048704, field = {first = 2364, count = 4}, method = {
+ first = 7599, count = 14}, property = {first = 0, count = 0},
+event = {first = 0, count = 0}, marshal_info = 0x0, fields = 0x0,
+ properties = 0x0, events = 0x0, methods = 0x8333940, this_arg =
+{data = {klass = 0x83336c8, type = 0x83336c8, array = 0x83336c8,
+ method = 0x83336c8, generic_param = 0x83336c8, generic_class =
+0x83336c8}, attrs = 0, type = 21, num_mods = 0, byref = 1,
+ pinned = 0, modifiers = 0x83338e8}, byval_arg = {data = {klass =
+0x83336c8, type = 0x83336c8, array = 0x83336c8,
+ method = 0x83336c8, generic_param = 0x83336c8, generic_class =
+0x83336c8}, attrs = 0, type = 21, num_mods = 0, byref = 0,
+ pinned = 0, modifiers = 0x83338f0}, generic_class = 0x83336c8,
+generic_container = 0x0, reflection_info = 0x0, gc_descr = 0x0,
+ runtime_info = 0x0, vtable = 0x0}
+
+It seems like an area that Hari has been recently looking at.
+
More information about the mono-bugs
mailing list