[Mono-bugs] [Bug 462016] make check for pinvoke2.exe fails for PowerPC
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Tue Dec 23 12:33:40 EST 2008
https://bugzilla.novell.com/show_bug.cgi?id=462016
User munroesj at us.ibm.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=462016#c1
--- Comment #1 from Steven Munroe <munroesj at us.ibm.com> 2008-12-23 10:33:38 MST ---
Additoinal debug shows that in class.c:mono_class_init line 3611 the
class->inteface_count has a bogus value of 1536 and ->name="". While the
gklass->interface_count=0 and ->name="Tests".
This looks a memory clobber. In gdb *class:
(gdb) print *class
$3 = {element_class = 0x20960080, cast_class = 0x6000009,
supertypes = 0x102a20c8, idepth = 4143, rank = 3 '\003',
instance_size = -135919937, inited = 0, init_pending = 1, size_inited = 0,
valuetype = 0, enumtype = 0, blittable = 0, unicode = 0, wastypebuilder = 0,
min_align = 3 '\003', packing_size = 15, ghcimpl = 1, has_finalize = 1,
marshalbyref = 1, contextbound = 1, delegate = 1, gc_descr_inited = 1,
has_cctor = 1, has_references = 1, has_static_refs = 1,
no_special_static_fields = 1, is_com_object = 1, nested_classes_inited = 1,
simd_type = 0, exception_type = 189 '�', parent = 0x1040006,
nested_in = 0x20960080, nested_classes = 0x600000a, image = 0x102a20c8,
name = 0x1033c6a0 "",
name_space = 0xf7e606dc "mono_test_marshal_bool_byref",
enum_basetype = 0x3ffff, declsec_flags = 264064832, type_token = 16777223,
vtable_size = 546701440, interface_count = 1536, interface_id = 11,
max_interface_id = 4138, interface_offsets_count = 8392,
interfaces_packed = 0x1033c7d0, interface_offsets_packed = 0xf7e606fd,
interface_bitmap = 0x3ffff <Address 0x3ffff out of bounds>,
interfaces = 0xfbd4f60, sizes = {class_size = 16777224,
element_size = 16777224, generic_param_token = 16777224},
flags = 546701440, field = {first = 0, count = 1}, method = {first = 0,
count = 152}, property = {first = 262143, count = 264064864}, event = {
first = 16777225, count = 546701440}, marshal_info = 0x600000d,
fields = 0x102a20c8, properties = 0x1033c8d0, events = 0xf7e6076d,
methods = 0x3ffff, this_arg = {data = {klass = 0xfbd4f80, type = 0xfbd4f80,
array = 0xfbd4f80, method = 0xfbd4f80, generic_param = 0xfbd4f80,
generic_class = 0xfbd4f80}, attrs = 256, type = MONO_TYPE_END,
num_mods = 2, byref = 1, pinned = 0, modifiers = 0x102f6f88}, byval_arg = {
data = {klass = 0x20960080, type = 0x20960080, array = 0x20960080,
method = 0x20960080, generic_param = 0x20960080,
generic_class = 0x20960080}, attrs = 1536, type = MONO_TYPE_END,
num_mods = 3, byref = 1, pinned = 0, modifiers = 0x102f6f90},
generic_class = 0x102a20c8, generic_container = 0x1033cc30,
reflection_info = 0xf7e607b2, gc_descr = 0x3ffff, runtime_info = 0xfbd4f80,
next_class_cache = 0x100000b, vtable = 0x20960080,
field_def_values = 0x600000f}
(gdb) x/50 0x102f6ee8
0x102f6ee8: 0x20960080 0x06000009 0x102a20c8 0x102f03c8
0x102f6ef8: 0xf7e606bf 0x4003ffff 0x0fbd9790 0x01040006
0x102f6f08: 0x20960080 0x0600000a 0x102a20c8 0x1033c6a0
0x102f6f18: 0xf7e606dc 0x0003ffff 0x0fbd4f40 0x01000007
0x102f6f28: 0x20960080 0x0600000b 0x102a20c8 0x1033c7d0
0x102f6f38: 0xf7e606fd 0x0003ffff 0x0fbd4f60 0x01000008
0x102f6f48: 0x20960080 0x00000000 0x00000001 0x00000000
0x102f6f58: 0x00000098 0x0003ffff 0x0fbd4f60 0x01000009
0x102f6f68: 0x20960080 0x0600000d 0x102a20c8 0x1033c8d0
0x102f6f78: 0xf7e6076d 0x0003ffff 0x0fbd4f80 0x0100000a
0x102f6f88: 0x20960080 0x0600000e 0x102a20c8 0x1033cc30
0x102f6f98: 0xf7e607b2 0x0003ffff 0x0fbd4f80 0x0100000b
0x102f6fa8: 0x20960080 0x0600000f
note the patern of 0x0003ffff and 0x0600000? the 0x0600 is the 1536 value from
0x102f6f2c
the gklass struct seems to be in beter shape:
(gdb) print *gklass
$4 = {element_class = 0x102a20c8, cast_class = 0x102a20c8,
supertypes = 0x102a2190, idepth = 2, rank = 0 '\0', instance_size = 12,
inited = 1, init_pending = 0, size_inited = 1, valuetype = 0, enumtype = 0,
blittable = 0, unicode = 0, wastypebuilder = 0, min_align = 4 '\004',
packing_size = 0, ghcimpl = 0, has_finalize = 0, marshalbyref = 0,
contextbound = 0, delegate = 0, gc_descr_inited = 1, has_cctor = 0,
has_references = 0, has_static_refs = 0, no_special_static_fields = 0,
is_com_object = 0, nested_classes_inited = 0, simd_type = 0,
exception_type = 0 '\0', parent = 0x102a2b60, nested_in = 0x0,
nested_classes = 0x0, image = 0x102a1b08, name = 0xf7e604a9 "Tests",
name_space = 0xf7e60334 "", enum_basetype = 0x0, declsec_flags = 0,
type_token = 33554434, vtable_size = 4, interface_count = 0,
interface_id = 0, max_interface_id = 0, interface_offsets_count = 0,
interfaces_packed = 0x102e2c90, interface_offsets_packed = 0x102e2c90,
interface_bitmap = 0x102e2c90 "", interfaces = 0x0, sizes = {class_size = 0,
element_size = 0, generic_param_token = 0}, flags = 1048577, field = {
first = 0, count = 1}, method = {first = 0, count = 152}, property = {
first = 0, count = 0}, event = {first = 0, count = 0}, marshal_info = 0x0,
fields = 0x102e2c78, properties = 0x0, events = 0x0, methods = 0x102f6b88,
this_arg = {data = {klass = 0x102a20c8, type = 0x102a20c8,
array = 0x102a20c8, method = 0x102a20c8, generic_param = 0x102a20c8,
generic_class = 0x102a20c8}, attrs = 0, type = MONO_TYPE_CLASS,
num_mods = 0, byref = 1, pinned = 0, modifiers = 0x102a2168}, byval_arg = {
data = {klass = 0x102a20c8, type = 0x102a20c8, array = 0x102a20c8,
method = 0x102a20c8, generic_param = 0x102a20c8,
generic_class = 0x102a20c8}, attrs = 0, type = MONO_TYPE_CLASS,
num_mods = 0, byref = 0, pinned = 0, modifiers = 0x102a2170},
generic_class = 0x0, generic_container = 0x0, reflection_info = 0x0,
gc_descr = 0x0, runtime_info = 0x102e2c98, next_class_cache = 0x0,
vtable = 0x102b61e8, field_def_values = 0x0}
(gdb) x/50 0x102a20c8
0x102a20c8: 0x102a20c8 0x102a20c8 0x102a2190 0x00020000
0x102a20d8: 0x0000000c 0xa0040040 0x00000000 0x102a2b60
0x102a20e8: 0x00000000 0x00000000 0x102a1b08 0xf7e604a9
0x102a20f8: 0xf7e60334 0x00000000 0x00000000 0x02000002
0x102a2108: 0x00000004 0x00000000 0x00000000 0x102e2c90
0x102a2118: 0x102e2c90 0x102e2c90 0x00000000 0x00000000
0x102a2128: 0x00100001 0x00000000 0x00000001 0x00000000
0x102a2138: 0x00000098 0x00000000 0x00000000 0x00000000
0x102a2148: 0x00000000 0x00000000 0x102e2c78 0x00000000
0x102a2158: 0x00000000 0x102f6b88 0x102a20c8 0x00001202
0x102a2168: 0x102a20c8 0x00001200 0x00000000 0x00000000
0x102a2178: 0x00000000 0x00000000 0x102e2c98 0x00000000
0x102a2188: 0x102b61e8 0x00000000
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the mono-bugs
mailing list