[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