[Mono-bugs] [Bug 462438] SIGSEGV while running tests/pinvoke2.exe on PowerPC
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Dec 24 15:21:14 EST 2008
https://bugzilla.novell.com/show_bug.cgi?id=462438
User munroesj at us.ibm.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=462438#c3
--- Comment #3 from Steven Munroe <munroesj at us.ibm.com> 2008-12-24 13:21:12 MST ---
This starts with mini.c:mono_allocate_stack_slots_full():
size = mono_class_native_size (inst->inst_vtype->data.klass, &align);
It is not clear how this field is set or even if the reference is to a
MonoClass or something else (a MonoType which is smaller.
(gdb) up
#1 0x1011303c in mono_marshal_load_type_info (klass=0x10381e48)
at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/marshal.c:11349
11349 mono_class_init (klass);
(gdb) up
#2 0x10113504 in mono_class_native_size (klass=0x10381e48, align=0xffc74238)
at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/metadata/marshal.c:11488
11488 mono_marshal_load_type_info (klass);
(gdb) up
#3 0x1001bad8 in mono_allocate_stack_slots_full (cfg=0x10390900, backward=0,
stack_size=0xffc742bc, stack_align=0xffc742c0)
at /home/sjmunroe/src/mono-ppc/mono-2.2/mono/mini/mini.c:10364
10364 size = mono_class_native_size
(inst->inst_vtype->data.klass, &align);
(gdb) print inst
$3 = (MonoInst *) 0x1039add0
(gdb) print *inst
$4 = {opcode = 327, type = 7 '\a', ssa_op = 0, flags = 16 '\020', dreg = 51,
sreg1 = -1, sreg2 = -1, next = 0x0, prev = 0x0, data = {op = {{src = 0x4,
var = 0x4, const_val = 4, p = 0x4, method = 0x4, signature = 0x4,
many_blocks = 0x4, target_block = 0x4, args = 0x4, vtype = 0x4,
klass = 0x4, phi_args = 0x4, call_inst = 0x4}, {src = 0x1037ddb8,
var = 0x1037ddb8, const_val = 272096696, p = 0x1037ddb8,
method = 0x1037ddb8, signature = 0x1037ddb8, many_blocks = 0x1037ddb8,
target_block = 0x1037ddb8, args = 0x1037ddb8, vtype = 0x1037ddb8,
klass = 0x1037ddb8, phi_args = 0x1037ddb8, call_inst = 0x1037ddb8}},
i8const = 17451965880, r8const = 8.6224167937015986e-314}, cil_code = 0x0,
backend = {reg3 = 1, arg_info = 1, size = 1, memcpy_args = 0x1, data = 0x1,
shift_amount = 1, is_pinvoke = 1, record_cast_details = 1,
spill_var = 0x1, source_opcode = 0}, klass = 0x1037dd18}
(gdb) print inst->data.op[1].vtype
$5 = (MonoType *) 0x1037ddb8
(gdb) print *inst->data.op[1].vtype
$6 = {data = {klass = 0x10381e48, type = 0x10381e48, array = 0x10381e48,
method = 0x10381e48, generic_param = 0x10381e48,
generic_class = 0x10381e48}, attrs = 0, type = MONO_TYPE_GENERICINST,
num_mods = 0, byref = 0, pinned = 0, modifiers = 0x1037ddc0}
(gdb) print inst->data.op[1].vtype.data
$7 = {klass = 0x10381e48, type = 0x10381e48, array = 0x10381e48,
method = 0x10381e48, generic_param = 0x10381e48, generic_class = 0x10381e48}
(gdb) print inst->klass
$8 = (MonoClass *) 0x1037dd18
(gdb) print *inst->klass
$9 = {element_class = 0x1037dd18, cast_class = 0x1037dd18,
supertypes = 0x1039bf08, idepth = 3, rank = 0 '\0', instance_size = 24,
inited = 1, init_pending = 0, size_inited = 1, valuetype = 1, enumtype = 0,
blittable = 1, 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 = 0, has_cctor = 0,
has_references = 0, has_static_refs = 0, no_special_static_fields = 0,
is_com_object = 0, nested_classes_inited = 1, simd_type = 0,
exception_type = 0 '\0', parent = 0x10306c20, nested_in = 0x102fb0b8,
nested_classes = 0x0, image = 0x102fab50,
name = 0xf7e605ab "Amd64Struct1Gen`1", name_space = 0xf7e60344 "",
enum_basetype = 0x0, declsec_flags = 0, type_token = 33554455,
vtable_size = 4, interface_count = 0, interface_id = 0,
max_interface_id = 0, interface_offsets_count = 0,
interfaces_packed = 0x1039c0e0, interface_offsets_packed = 0x1039c0e0,
interface_bitmap = 0x1039c0e0 "", interfaces = 0x0, sizes = {class_size = 0,
element_size = 0, generic_param_token = 0}, flags = 1048842, field = {
first = 58, count = 4}, method = {first = 159, count = 0}, property = {
first = 0, count = 0}, event = {first = 0, count = 0},
marshal_info = 0x1039c1c8, fields = 0x1039c070, properties = 0x0,
events = 0x0, methods = 0x0, this_arg = {data = {klass = 0x10381e48,
type = 0x10381e48, array = 0x10381e48, method = 0x10381e48,
generic_param = 0x10381e48, generic_class = 0x10381e48}, attrs = 0,
type = MONO_TYPE_GENERICINST, num_mods = 0, byref = 1, pinned = 0,
modifiers = 0x1037ddb8}, byval_arg = {data = {klass = 0x10381e48,
type = 0x10381e48, array = 0x10381e48, method = 0x10381e48,
generic_param = 0x10381e48, generic_class = 0x10381e48}, attrs = 0,
type = MONO_TYPE_GENERICINST, num_mods = 0, byref = 0, pinned = 0,
modifiers = 0x1037ddc0}, generic_class = 0x10381e48,
generic_container = 0x0, reflection_info = 0x0, gc_descr = 0x0,
runtime_info = 0x0, next_class_cache = 0x0, vtable = 0x0,
field_def_values = 0x0}
(gdb)
--
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