Search Issue Tracker

Fixed in 2018.4.X

Fixed in 2019.1.X, 2019.2.X

Votes

1

Found in

2018.3.0a9

2018.3.6f1

2019.1.0a1

2019.2.0a1

Issue ID

1145468

Regression

No

[iOS][IL2CPP] Crash on il2cpp::metadata::Il2CppTypeHash::Hash when the SR Debugger is opened and then closed

IL2CPP

-

How to reproduce:
1. Open the attached project
2. Go to File-> Build Settings-> Switch to iOS Platform
3. Build for iOS and deploy the Xcode project to the iOS device
4. Press the Continue button if it is shown
5. Press at least 3 times in the top left corner to open the debugger (I just kept pressing fast until it opened)
6. Close the debugger
7. Press the Play button
----Crash----

Reproducible with: 2018.3.14f1, 2019.1.0f2, 2019.2.0a3

Devices:
iPhone 7 (iOS 12.1.4)
iPhone 6 (iOS 11.3.1)

Note: Could not test in earlier versions and Android because errors are thrown and also, could not test versions above 2019.2.0a3
(You can find SR Debugger in the asset store)

Ir stack trace:
* frame #0: 0x0000000100be8850 ***`il2cpp::metadata::Il2CppGenericMethodHash::operator()(Il2CppGenericMethod const*) const [inlined] il2cpp::metadata::Il2CppGenericMethodHash::Hash(method=<unavailable>) at Il2CppGenericMethodHash.cpp:20:28 [opt]
frame #1: 0x0000000100be884c VeggieFlip`il2cpp::metadata::Il2CppGenericMethodHash::operator(this=0x000000016fddc778, method=<unavailable>)(Il2CppGenericMethod const*) const at Il2CppGenericMethodHash.cpp:15 [opt]
frame #2: 0x0000000100bedb50 ***`dense_hashtable<std::__1::pair<KeyWrapper<Il2CppGenericMethod const*> const, MethodInfo*>, KeyWrapper<Il2CppGenericMethod const*>, il2cpp::metadata::Il2CppGenericMethodHash, dense_hash_map<KeyWrapper<Il2CppGenericMethod const*>, MethodInfo*, il2cpp::metadata::Il2CppGenericMethodHash, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, std::__1::allocator<std::__1::pair<KeyWrapper<Il2CppGenericMethod const*> const, MethodInfo*> > >::SelectKey, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, std::__1::allocator<std::__1::pair<KeyWrapper<Il2CppGenericMethod const*> const, MethodInfo*> > >::copy_from(this=<unavailable>, ht=<unavailable>, min_buckets_wanted=<unavailable>) at densehashtable.h:543:22 [opt]
frame #3: 0x0000000100beda34 ***`dense_hashtable<std::__1::pair<KeyWrapper<Il2CppGenericMethod const*> const, MethodInfo*>, KeyWrapper<Il2CppGenericMethod const*>, il2cpp::metadata::Il2CppGenericMethodHash, dense_hash_map<KeyWrapper<Il2CppGenericMethod const*>, MethodInfo*, il2cpp::metadata::Il2CppGenericMethodHash, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, std::__1::allocator<std::__1::pair<KeyWrapper<Il2CppGenericMethod const*> const, MethodInfo*> > >::SelectKey, KeyWrapper<Il2CppGenericMethod const*>::EqualsComparer<il2cpp::metadata::Il2CppGenericMethodCompare>, std::__1::allocator<std::__1::pair<KeyWrapper<Il2CppGenericMethod const*> const, MethodInfo*> > >::dense_hashtable(this=0x000000016fddc778, ht=<unavailable>, min_buckets_wanted=<unavailable>) at densehashtable.h:593:5 [opt]

  1. Resolution Note (fix version 2018.4):

    Fixing an issue in the IL2CPP runtime that can cause intermittent crashes when dealing with certain kinds of generic method metadata.

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.