[Mono-bugs] [Bug 366445] [Regression] assertion failed, accessing value type field over remoting

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Mar 3 19:16:11 EST 2008


https://bugzilla.novell.com/show_bug.cgi?id=366445

User cmarshall at pacificbiosciences.com added comment
https://bugzilla.novell.com/show_bug.cgi?id=366445#c9





--- Comment #9 from Casey Marshall <cmarshall at pacificbiosciences.com>  2008-03-03 17:16:10 MST ---
Actually, it looks more like the stack is off by one, and "this" is "klass",
"klass" is "field", and "field" is random garbage.

(gdb) print *((MonoClass*) this)
$19 = {element_class = 0x8242cc4, cast_class = 0x8242cc4, supertypes =
0x8242d8c, idepth = 3, 
  rank = 0 '\0', instance_size = 32, 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 = 0, marshalbyref = 1, contextbound = 0, delegate =
0, 
  gc_descr_inited = 1, has_cctor = 0, has_references = 1, has_static_refs = 0, 
  no_special_static_fields = 0, is_com_object = 0, exception_type = 0 '\0',
exception_data = 0x0, 
  parent = 0x8254bec, nested_in = 0x0, nested_classes = 0x0, image = 0x8242758, 
  name = 0xb7bb360d "Test", name_space = 0xb7bb351c "", enum_basetype = 0x0,
declsec_flags = 0, 
  type_token = 33554434, vtable_size = 6, interface_count = 0, interface_id =
0, 
  max_interface_id = 0, interface_offsets_count = 0, interfaces_packed =
0x8242e24, 
  interface_offsets_packed = 0x8242e24, interface_bitmap = 0x8242e24 "",
interfaces = 0x0, sizes = {
    class_size = 0, element_size = 0}, flags = 1048577, field = {first = 0,
count = 2}, method = {
    first = 0, count = 2}, property = {first = 0, count = 0}, event = {first =
0, count = 0}, 
  marshal_info = 0x0, fields = 0x8242db4, properties = 0x0, events = 0x0,
methods = 0x8242dfc, 
  this_arg = {data = {klass = 0x8242cc4, type = 0x8242cc4, array = 0x8242cc4,
method = 0x8242cc4, 
      generic_param = 0x8242cc4, generic_class = 0x8242cc4}, attrs = 0, type =
18, num_mods = 0, 
    byref = 1, pinned = 0, modifiers = 0x8242d68}, byval_arg = {data = {klass =
0x8242cc4, 
      type = 0x8242cc4, array = 0x8242cc4, method = 0x8242cc4, generic_param =
0x8242cc4, 
      generic_class = 0x8242cc4}, attrs = 0, type = 18, num_mods = 0, byref =
0, pinned = 0, 
    modifiers = 0x8242d70}, generic_class = 0x0, generic_container = 0x0,
reflection_info = 0x0, 
  gc_descr = 0x30000001, runtime_info = 0x8242e2c, next_class_cache = 0x0,
vtable = 0x827217c}
(gdb) print *((MonoClassField*) klass)
$20 = {type = 0x8242df4, generic_info = 0x0, offset = 16, name = 0xb7bb3616
"Stamp", data = 0x0, 
  parent = 0x8242cc4, def_type = MONO_TYPE_END}

And the stack getting messed up by one slot seems more plausible than random
shuffling of arguments.


-- 
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