Search Issue Tracker

Fixed in 2022.1.X

Fixed in 2019.4.X, 2020.3.X, 2021.2.X



Found in







Issue ID




[IL2CPP] Thread_VolatileRead is added to build instead of VolatileRead when calling Thread.VolatileRead()



Reproduction steps:
1. Open the attached project ""
2. Open the "SampleScene.unity" Scene
3. In the Editor, go to File > Build Settings and build the project
4. In the Build Settings select Add Open Scenes
5. When the build is completed, go to the project folder
6. Inside the project folder navigate to Temp > StaginArea > Il2Cpp > il2cppOutput
7. In the "il2cppOutput" folder find and open the "Assembly-CSharp.cpp" file
8. In the "Assembly-CSharp.cpp" file observe the comment "System.Void Test::Test1()" and notice that "Thread_VolatileRead" is added
9. In the "Assembly-CSharp.cpp" file observe the comment "System.Void Test::Test2()" and notice that "VolatileRead" is added

Expected result: "System.Void Test::Test1()" will have "VolatileRead" added
Actual result: "System.Void Test::Test1()" has "Thread_VolatileRead" added

Reproducible with: 2019.4.31f1, 2020.3.21f1, 2021.1.27f1, 2021.2.1f1, 2022.1.0a12

- Issue is reproducible when building the project for Standalone and Android

  1. Resolution Note (fix version 2022.1):

    Fixed in: 2022.1.0b1

  2. Resolution Note (fix version 2021.2):

    Fixed in: 2021.2.6f1

  3. Resolution Note (fix version 2020.3):

    Fixed in: 2020.3.25f1

  4. Resolution Note (fix version 2019.4):

    Fixed in: 2019.4.34f1

Comments (2)

  1. dejawitting26

    Oct 25, 2023 04:59

    Your writing on this wonderful topic has left me speechless. Normally, I check your site to see what new information you've posted, but I think today's entry will be the most helpful. That's fantastic work!

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.