Search Issue Tracker
Fixed in 5.2.4
Votes
10
Found in
5.2.1p4
Issue ID
737529
Regression
No
[IL2CPP] ExecutionEngineException is thrown on System.Reflection.MonoProperty::GetterAdapterFrame
1. Open attached project
2. Make sure that .NET 2.0 is set as API
3. Build to iOS with IL2CPP or WebGL
4. ExecutionEngineException will be thrown
5. Select .NET 2.0 subset as API and it will work without errors
Comments (1)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- The sidebar reopens when Unity Hub is started when Unity Hub was closed with the sidebar closed
- Characters are invisible in the TextField when certain Japanese characters are used
- "InvalidOperationException" is thrown when using Prefab > Replace to replace a Canvas GameObject with a Prefab that has an incompatible root Transform type
- Looping AudioSource resumes from the wrong playback position when the app is backgrounded and resumed on iOS Safari
- "AnyState Transition Created" action can be undone when pressing "Auto Generate Animation" on the uGUI GameObjects
Artur_at_Artcode
Nov 06, 2015 06:10
This is a major, major issue!
When compiling for iOS it forces you to either drop Newtonsoft.Json.Net, as this important package doesn't work with ".NET 2.0 subset", or to not be able to use HTTPS when using HttpsWebRequest, as this currently gives you a nasty AOT exception when using ".NET 2.0" and IL2CPP.
Because of this, we are blocked right before an initial release of our product.
To reproduce what I've described, all you need to do is to add Unity.Json.Net to tour project (aka Newtonsoft.Json.Net for Unity) and make a HttpWebRequest to a URI that starts with 'https'. This was tested today with the latest 5.2.2p3.
When running with ".NET 2.0" and IL2CPP you get the following AOT exception:
System.Net.WebException: Error: SendFailure (Attempting to call method 'System.Reflection.MonoProperty::GetterAdapterFrame' for which no ahead of time (AOT) code was generated.) ---> System.ExecutionEngineException: Attempting to call method 'System.Reflection.MonoProperty::GetterAdapterFrame' for which no ahead of time (AOT) code was generated.
at System.Reflection.MonoProperty+GetterAdapter.Invoke (System.Object _this) [0x00000] in <filename unknown>:0
at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index) [0x00000] in <filename unknown>:0
at System.Net.WebConnection.Write (System.Net.HttpWebRequest request, System.Byte[] buffer, Int32 offset, Int32 size, System.String& err_msg) [0x00000] in <filename unknown>:0
at System.Net.WebConnectionStream.WriteHeaders () [0x00000] in <filename unknown>:0
at System.Net.WebConnectionStream.SetHeaders (System.Byte[] buffer) [0x00000] in <filename unknown>:0
at System.Net.HttpWebRequest.SendRequestHeaders (Boolean propagate_error) [0x00000] in <filename unknown>:0
at System.Net.HttpWebRequest.SetWriteStream (System.Net.WebConnectionStream stream) [0x00000] in <filename unknown>:0
at System.Net.WebConnection.InitConnection (System.Object state) [0x00000] in <filename unknown>:0
--- End of inner exception stack trace ---
at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) [0x00000] in <filename unknown>:0
at System.Net.HttpWebRequest.GetResponse () [0x00000] in <filename unknown>:0
at HttpsRequest.Start () [0x00000] in <filename unknown>:0
UnityEngine.Debug:Internal_Log(Int32, String, Object)
UnityEngine.Debug:LogWarning(Object)
HttpsRequest:Start()
How quickly can this be fixed?