[Mono-bugs] [Bug 77787][Wis] Changed - Mono fails on Itanium-machine

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Thu May 11 09:18:04 EDT 2006


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 yury at serdyuk.botik.ru.

http://bugzilla.ximian.com/show_bug.cgi?id=77787

--- shadow/77787	2006-05-11 09:03:23.000000000 -0400
+++ shadow/77787.tmp.24883	2006-05-11 09:18:04.000000000 -0400
@@ -890,6 +890,171 @@
 #3  0x0000000000000000 in ?? ()
 
 ------- Additional Comments From vargaz at gmail.com  2006-05-11 09:03 -------
 Just put a breakpoint at object_register_finalizer, and print out
 the variables I mentioned.
 
+
+------- Additional Comments From Yury at serdyuk.botik.ru  2006-05-11 09:18 -------
+Once more a big bed-sheet:
+
+GNU gdb 6.4
+Copyright 2005 Free Software Foundation, Inc.
+GDB is free software, covered by the GNU General Public License, and
+you are
+welcome to change it and/or distribute copies of it under certain
+conditions.
+Type "show copying" to see the conditions.
+There is absolutely no warranty for GDB.  Type "show warranty" for
+details.
+This GDB was configured as "ia64-unknown-linux-gnu"...Using host
+libthread_db library "/lib/tls/libthread_db.so.1".
+
+(gdb) r /home/users/gramuser2/m-1.1.14/lib/mono/1.0/mcs.exe
+Starting program: /home/users/gramuser2/m-1.1.14/bin/mono
+/home/users/gramuser2/m-1.1.14/lib/mono/1.0/mcs.exe
+[Thread debugging using libthread_db enabled]
+[New Thread 2305843009219573216 (LWP 12359)]
+
+** ERROR **: file gc.c: line 137 (object_register_finalizer):
+assertion failed: (GC_base (obj) == (char*)obj - offset)
+aborting...
+
+Program received signal SIGABRT, Aborted.
+[Switching to Thread 2305843009219573216 (LWP 12359)]
+<signal handler called>
+(gdb) b mono_context_init
+Breakpoint 1 at 0x40000000001550e0: file appdomain.c, line 179.
+(gdb) r
+The program being debugged has been started already.
+Start it from the beginning? (y or n) y
+
+Starting program: /home/users/gramuser2/m-1.1.14/bin/mono
+/home/users/gramuser2/m-1.1.14/lib/mono/1.0/mcs.exe
+[Thread debugging using libthread_db enabled]
+[New Thread 2305843009219573216 (LWP 13421)]
+[Switching to Thread 2305843009219573216 (LWP 13421)]
+
+Breakpoint 1, mono_context_init (domain=0x60000000000a0e30) at
+appdomain.c:179
+179             class = mono_class_from_name (mono_defaults.corlib,
+"System.Runtime.Remoting.Contexts", "Context");
+(gdb) b object_register_finalizer
+Breakpoint 2 at 0x400000000010bc00: file gc.c, line 137.
+(gdb) c
+Continuing.
+
+Breakpoint 2, object_register_finalizer (obj=0x600000000011ef80,
+    callback=@0x400000000035e760: 0x400000000010bea0 <run_finalize>)
+at gc.c:137
+137             g_assert (GC_base (obj) == (char*)obj - offset);
+(gdb) l
+132     #if HAVE_BOEHM_GC
+133             guint offset = 0;
+134
+135     #ifndef GC_DEBUG
+136             /* This assertion is not valid when GC_DEBUG is defined */
+137             g_assert (GC_base (obj) == (char*)obj - offset);
+138     #endif
+139
+140             if (mono_domain_is_unloading (obj->vtable->domain) &&
+(callback != NULL))
+141                     /*
+(gdb) bt
+#0  object_register_finalizer (obj=0x600000000011ef80,
+callback=@0x400000000035e760: 0x400000000010bea0 <run_finalize>)
+    at gc.c:137
+#1  0x40000000000de330 in mono_object_new_alloc_specific
+(vtable=0x6000000000039ee8) at object.c:2400
+#2  0x40000000000de490 in mono_object_new_specific
+(vtable=0x6000000000039ee8) at object.c:2383
+#3  0x4000000000155140 in mono_context_init
+(domain=0x60000000000a0e30) at appdomain.c:180
+#4  0x4000000000157810 in mono_runtime_init (domain=0x60000000000a0e30,
+    start_cb=@0x400000000035c480: 0x40000000002612e0
+<mono_thread_start_cb>,
+    attach_cb=@0x400000000035e7d0: 0x400000000026c810
+<mono_thread_attach_cb>) at appdomain.c:113
+#5  0x400000000026e210 in mini_init (filename=0x6000000fff9c08ed
+"/home/users/gramuser2/m-1.1.14/lib/mono/1.0/mcs.exe")
+    at mini.c:10902
+#6  0x400000000001d710 in mono_main (argc=2, argv=0x6000000fff9c0698)
+at driver.c:873
+#7  0x400000000001c690 in main (argc=2, argv=0x6000000fff9c0698) at
+main.c:6
+(gdb) p obj
+$1 = (MonoObject *) 0x600000000011ef80
+(gdb) p obj->vtable->klass->name
+$2 = 0x200000000080644f "Context"
+(gdb) p offset
+$3 = <value optimized out>
+(gdb) p *obj
+$4 = {vtable = 0x6000000000039ee8, synchronisation = 0x0}
+(gdb) p obj->vtable
+$5 = (MonoVTable *) 0x6000000000039ee8
+(gdb) p *(obj->vtable)
+$6 = {klass = 0x60000000000f0650, gc_descr = 0x1f60000000000001,
+domain = 0x60000000000a0e30, data = 0x600000000009ee80,
+  type = 0x60000000000b2ee0, max_interface_id = 0, rank = 0 '\0',
+remote = 0, initialized = 0, vtable = 0x6000000000039f18}
+(gdb) p *(obj->vtable->klass)
+$7 = {image = 0x6000000000042610, enum_basetype = 0x0, element_class =
+0x60000000000f0650, cast_class = 0x60000000000f0650,
+  rank = 0 '\0', inited = 1, init_pending = 0, size_inited = 1,
+valuetype = 0, enumtype = 0, blittable = 0, unicode = 0,
+  wastypebuilder = 0, min_align = 8, packing_size = 0, ghcimpl = 0,
+has_finalize = 1, marshalbyref = 0, contextbound = 0,
+  delegate = 0, gc_descr_inited = 1, has_cctor = 1, dummy = 0,
+has_references = 1, has_static_refs = 1,
+  no_special_static_fields = 0, exception_type = 0 '\0',
+exception_data = 0x0, declsec_flags = 0,
+  parent = 0x6000000000056600, nested_in = 0x0, nested_classes = 0x0,
+type_token = 33555266,
+  name = 0x200000000080644f "Context", name_space = 0x2000000000805234
+"System.Runtime.Remoting.Contexts",
+  supertypes = 0x60000000000f0790, idepth = 2, interface_count = 0,
+interface_id = 0, max_interface_id = 0,
+  interface_offsets = 0x60000000000c0494, interfaces = 0x0,
+instance_size = 88, class_size = 32, vtable_size = 9,
+  flags = 1048577, field = {first = 2545, count = 14}, method = {first
+= 9601, count = 33}, property = {first = 0,
+    count = 0}, event = {first = 0, count = 0}, marshal_info = 0x0,
+fields = 0x60000000000e6770, properties = 0x0,
+  events = 0x0, methods = 0x60000000000e6a80, this_arg = {data =
+{klass = 0x60000000000f0650, type = 0x60000000000f0650,
+      array = 0x60000000000f0650, method = 0x60000000000f0650,
+generic_param = 0x60000000000f0650,
+      generic_class = 0x60000000000f0650}, attrs = 0, type = 18,
+num_mods = 0, byref = 1, pinned = 0,
+    modifiers = 0x60000000000f073c}, byval_arg = {data = {klass =
+0x60000000000f0650, type = 0x60000000000f0650,
+      array = 0x60000000000f0650, method = 0x60000000000f0650,
+generic_param = 0x60000000000f0650,
+      generic_class = 0x60000000000f0650}, attrs = 0, type = 18,
+num_mods = 0, byref = 0, pinned = 0,
+    modifiers = 0x60000000000f074c}, generic_class = 0x0,
+generic_container = 0x0, reflection_info = 0x0,
+  gc_descr = 0x1f60000000000001, runtime_info = 0x60000000000e6b88,
+vtable = 0x60000000000f5210}
+(gdb) frame
+#0  object_register_finalizer (obj=0x600000000011ef80,
+callback=@0x400000000035e760: 0x400000000010bea0 <run_finalize>)
+    at gc.c:137
+137             g_assert (GC_base (obj) == (char*)obj - offset);
+(gdb) l
+132     #if HAVE_BOEHM_GC
+133             guint offset = 0;
+134
+135     #ifndef GC_DEBUG
+136             /* This assertion is not valid when GC_DEBUG is defined */
+137             g_assert (GC_base (obj) == (char*)obj - offset);
+138     #endif
+139
+140             if (mono_domain_is_unloading (obj->vtable->domain) &&
+(callback != NULL))
+141                     /*
+(gdb) p GC_base (obj)
+$8 = (void *) 0x0
+(gdb) p (char*)obj
+$9 = 0x600000000011ef80 "è\236\003"
+(gdb) p ((char*)obj - offset)
+$10 = 0x600000000011ef80 "è\236\003"


More information about the mono-bugs mailing list