Search Issue Tracker
Fixed in 2019.2.X
Fixed in 2018.3.X, 2019.1.X
Votes
0
Found in
2018.3.0b7
2018.3.4f1
Issue ID
1125427
Regression
Yes
[IL2CPP] System out of Memory exception is thrown if ScriptableObject is loaded from inside a DLL
To reproduce:
1. Download attached project “ReproduceSOLoadCrash 2.zip" and open in Unity
2. Open "SampleScene" scene
3. Enter to Play mode
4. Observe that within the Console "Logger settings loaded" message is printed
5. Change Platform to Standalone, iOS or Android
6. Change Scripting Backend to IL2CPP
7. Build and Run project
Expected results: Player does not Crash after Splash Screen
Actual results: Player Crashes after Splash Screen and throws "System out of memory" exception
Notes:
- This issue appears on Windows Standalone, macOS Standalone, iOS, and Android (IL2CPP)
- This issue does not appear on Editor
- This issue does not appear if Scripting Backend is Mono
Reproduced on Unity 2018.3.0b7, 2018.3.5f1, 2019.1.0b3 and 2019.2.0a4
Not reproduced on Unity 2018.2.20f1 and 2018.3.0b6
Regression on Unity 2018.3.0b7
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 default layout file gets corrupted when the project is saved and closed after running a specific Test Runner test
- Cameras overlay sometimes show “No Cameras” for a split second instead of “Main Camera” when clicked to move the overlay
- Sprite Mode defaults to "Multiple" instead of "Single" when switching the Texture Type to "Sprite (2D and UI)"
- Adaptive Probe Volume “Open” button closes the existing RPAsset window and opens a new RPAsset window instead of focusing the existing RPAsset window
- A specific project freezes when Content Size Fitter's Horizontal Fit is set to "Min Size" and it contains double ellipses followed by a CJK character
Resolution Note (fix version 2019.2):
Work around this issue by adding a link.xml file with the following contents to the Assets/ folder of the project:
<linker>
<assembly fullname="core-logger-unity" preserve="all"/>
</linker>
This will prevent the managed code stripper from incorrectly removing managed bytecode from the core-logger-unity.dll assembly. This incorrect code removal is the source of the problem.