Search Issue Tracker
Fixed in 2019.2.X
Fixed in 2017.4.X, 2018.3.X, 2019.1.X
Votes
0
Found in
2017.4.0f1
2017.4.20f1
Issue ID
1126689
Regression
No
[Windows] Malformed utf16 surrogates in C# strings can cause the Unity Editor to crash or spam hundreds of Errors
To reproduce:
1. Download attached project “MalformedStringInspectorCrashRepro.zip" and open in Unity
2. Set Scripting Runtime Version to .NET 4.x Equivalent
3. Open "ReproScene" scene
4. In the Hierarchy window select the "ReproObject" and make sure the Inspector panel has the "ReproScript" component expanded
5. Enter to Play mode
6. Click either of the "Set Serialized Field to X Surrogate" buttons in the Game window
7. Observe that the Editor will become unresponsive and Crashes within a few seconds
8. Reopen “MalformedStringInspectorCrashRepro.zip" project
9. Set Scripting Runtime Version to .NET 3.5 Equivalent
10. Open "ReproScene" scene
11. In the Hierarchy window select the "ReproObject" and make sure the Inspector panel has the "ReproScript" component expanded
12. Enter to Play mode
13. Click the "Set Serialized Field to Low Surrogate" button in the Game window
14. Observe that the Console will begin spamming unexpected info such as "Allocation of 256 bytes at <64-bit address>" and "Assertion failed: TLS Allocator ALLOC_TEMP_THREAD, underlying allocator ALLOC_TEMP_THREAD has unfreed allocations, size 4864". These log messages accumulate until the Editor is completely restarted, even if the string is set to a valid value.
Notes:
- This issue appears only on Windows, on macOS, everything seems works as expected
- Stack Trace is shared in Comments section
Reproduced on Unity 2017.4.0f1, 2017.4.20f2, 2018.3.6f1, 2019.1.0b4 and 2019.2.0a6
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Editor crashes when debugging a for loop
- Crash on UnityPlayer!profiling::ProfilerManager::DisposeProfilerRecorder+0xa when Player gets relaunched and exited after running for a long amount of time
- [Input system] When releasing one touch and pressing a second touch during a single frame, the second touch is not translated into UI event line OnPointerDown by the InputSystemUIInputModule
- URP Samples - multiple "Attempting to resolve render surface" and other errors appear when setting Quality pipeline asset
- OnDemandRendering.willCurrentFrameRender returns incorrect values in the Player when UnityEngine.Rendering.OnDemandRendering.renderFrameInterval is greater than 1
Add comment