Search Issue Tracker

Fixed

Votes

0

Found in

2020.3.43f1

2021.3.16f1

Issue ID

UUM-21876

Regression

No

Application crash when generic methods are called in multiple threads

-

Steps to reproduce:
1. Open the attached user's project "TestIL2CPPCrash.zip"
2. Switch to the Android Platform or Windows standalone
3. Check 'Create symbols.zip' option in the Build settings (applicable only for Android platform)
4. Build the Player

Expected results: the app does not crash
Actual results: app crashes on startup

Reproducible on: 2020.3.43f1, 2021.3.16f1
Could not test on 2022.2.2f1 and 2023.1.0a24 due to the project crashing on startup

Reproducible with these devices:
N/A, Samsung Galaxy Note9 (SM-N9600), Android 9, CPU: Snapdragon 845 SDM845, GPU: Adreno (TM) 630
N/A, Xiaomi - (Redmi Note 8 Pro), Android 9, CPU: MediaTek Helios G90T MT6785T, GPU: Mali-G76 MC4
N/A, Samsung Galaxy Z Flip3 5G (SM-F711B), Android 11, CPU: Snapdragon 888, GPU: Adreno (TM) 660
N/A, Xiaomi MI 9 (MI 9), Android 10, CPU: Snapdragon 855 SM8150, GPU: Adreno (TM) 640
N/A, Samsung S21 - (SM-G991U), Android 12, CPU: Snapdragon 888, GPU: Adreno (TM) 660

VLNQA00494 - iPhone 14 Pro Max, 16.0.3 iOS
VLNQA00358 - iPhone 12, 14.1 iOS
VLNQA00392 - iPad (9th generation), 15.0 iOS
Customer devices:
Redmi 7a(ARMv7) and Redmi 6 Pro(ARM64)

Notes:
-Reproduces with IL2CPP and Mono backends
-On Mono, it takes a few seconds before the application crashes, while on IL2CPP it crashes instantly
-Android logcat doesn't output the crash stack trace
-Issue reproduces on Windows standalone, Android and iOS

Stack trace:
(B82_1_Run_m1D990658034FB20C88E4FF84572A1DC14AB475D6_gshared at E:\Projects\TestIL2CPPCrash\Library\Il2cppBuildCache\Android\armeabi-v7a\il2cppOutput/Generics3.cpp:21312)
(RunHelper_Run2_mFEFCC693D7A58D2992DE1C0B991D800655DE859E at E:\Projects\TestIL2CPPCrash\Library\Il2cppBuildCache\Android\armeabi-v7a\il2cppOutput/Assembly-CSharp.cpp:56019)
(ThreadStart_Invoke_m784444605A7ADF6A9948A4587DF33CDAC1B06536 at :?)
(ContextCallback_Invoke_mF4F8496213E8F0925947DD8994A477AE2E54EFDF at :?)
(ExecutionContext_RunInternal_mDC2CC2460328664F8983C6F79354C7085174270A at E:\Projects\TestIL2CPPCrash\Library\Il2cppBuildCache\Android\armeabi-v7a\il2cppOutput/mscorlib5.cpp:22272)
(ThreadStart_Invoke_m784444605A7ADF6A9948A4587DF33CDAC1B06536 at :?) /data/app/com.DefaultCompany.TestConcurrentQueue20-1SSci1hPgul36qlxZVpPcg==/lib/arm64/libil2cpp.so (BuildId: 521c0e8476c3d56d334552512519eb00443694ec)
(RuntimeInvoker_TrueVoid_t700C6383A2A510C2CF4DD86DABD5CA9FF70ADAC5(void :yellow_star:(), MethodInfo const*, void*, void**) at E:\Projects\TestIL2CPPCrash\Library\Il2cppBuildCache\Android\armeabi-v7a\il2cppOutput/Il2CppInvokerTable.cpp:20167)
(il2cpp::vm::Runtime::Invoke(MethodInfo const*, void*, void*, Il2CppException*) at C:\Program Files\Unity\Hub\Editor\2020.3.42f1\Editor\Data\il2cpp\libil2cpp\vm/Runtime.cpp:556)
(il2cpp::icalls::mscorlib::System::Threading::ThreadStart(void*) at C:\Program Files\Unity\Hub\Editor\2020.3.42f1\Editor\Data\il2cpp\libil2cpp\icalls\mscorlib\System.Threading/Thread.cpp:156)
(il2cpp::os::Thread::RunWrapper(void*) at C:\Program Files\Unity\Hub\Editor\2020.3.42f1\Editor\Data\il2cpp\libil2cpp\os/Thread.cpp:183)
(il2cpp::os::ThreadImpl::ThreadStartWrapper(void*) at C:\Program Files\Unity\Hub\Editor\2020.3.42f1\Editor\Data\il2cpp\libil2cpp\os\Posix/ThreadImpl.cpp:125)

  1. Resolution Note:

    Fixed by another internal issue: UUM-26516: [Android][iOS] IL2CPP generics can cause crashes when used from multiple threads

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.