Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[runtime] Fixed marshalling bug in `mono_marshal_get_native_func_wrap…
…per`. It was caused by a mismatch of the `sig` and `csig` variables when looking the wrapper in the marshalling cache. This was manifesting as the following crash in all Monodroid programs: ``` #0 mono_type_hash () at /Users/joao/Dev/droid/mono/mono/metadata/metadata.c:1390 #1 0x7512edf4 in mono_signature_hash () at /Users/joao/Dev/droid/mono/mono/metadata/metadata.c:4957 #2 0x75115d18 in signature_pointer_pair_hash () from /Users/joao/Dev/droid/monodroid/tests/runtime/gdb-symbols/libmonosgen-2.0.so #3 0x751dca10 in rehash () from /Users/joao/Dev/droid/monodroid/tests/runtime/gdb-symbols/libmonosgen-2.0.so #4 0x751dcbe0 in monoeg_g_hash_table_insert_replace () from /Users/joao/Dev/droid/monodroid/tests/runtime/gdb-symbols/libmonosgen-2.0.so #5 0x75119570 in mono_mb_create_and_cache_full () from /Users/joao/Dev/droid/monodroid/tests/runtime/gdb-symbols/libmonosgen-2.0.so #6 0x75127390 in mono_marshal_get_native_func_wrapper () from /Users/joao/Dev/droid/monodroid/tests/runtime/gdb-symbols/libmonosgen-2.0.so #7 0x75127780 in mono_ftnptr_to_delegate () from /Users/joao/Dev/droid/monodroid/tests/runtime/gdb-symbols/libmonosgen-2.0.so ``` Originally introduced in #1540.
- Loading branch information