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 [EMAIL PROTECTED] 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 [EMAIL PROTECTED] 2006-05-11 09:03 ------- Just put a breakpoint at object_register_finalizer, and print out the variables I mentioned. + +------- Additional Comments From [EMAIL PROTECTED] 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, + [EMAIL PROTECTED]: 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, [EMAIL PROTECTED]: 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, + [EMAIL PROTECTED]: 0x40000000002612e0 +<mono_thread_start_cb>, + [EMAIL PROTECTED]: 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, [EMAIL PROTECTED]: 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" _______________________________________________ mono-bugs maillist - [email protected] http://lists.ximian.com/mailman/listinfo/mono-bugs
