Search Issue Tracker

Fixed in 2018.4.X

Fixed in 2019.2.X, 2019.3.X

Votes

0

Found in

2018.2.0b6

2018.3.0a1

2019.1.0a1

2019.2.0a1

2019.2.0b7

2019.3.0a1

Issue ID

1168484

Regression

Yes

Unity leaks memory when doing assertion with interpolated string when Burst compilation is off and Profiler is recording

Scripting

-

How to reproduce:
1. Open the "burst_leak.zip" project
2. Open the "SampleScene.unity" scene
3. Make sure Profiler is recording and Burst Compilation is turned off
4. Press Play
5. Check Unity RAM usage

Actual result: Unity RAM usage goes up and doesn't get cleaned.
Expected result: Unity doesn't leak RAM.

Reproducible with: 2019.3.0a10, 2019.2.0b10, 2019.1.10f1, 2018.4.4f1, 2018.2.0b6.
Not reproducible with: 2018.2.0b5, 2018.1.9f2.

Notes:
The leak doesn't happen if "Assert.IsTrue(width > 0, $"FAILED: width ({width}) > 0");" MyBurst2Behavior.cs: 51 is commented out.

For the leak to reproduce there are several circumstances combined:
Assertion message is defined as an interpolated string ($ character).
Burst Compilation is turned off (Jobs > Burst > Enable Compilation).
Profiler has to be recording.

In Unity 2018.2.0b1 - 2018.2.0b5 the RAM usage goes up but gets cleaned quickly.

-------------------------------------------------
Fixed in 2020.1.0a2, 2019.3.0b1, 2019.2.8f1, 2018.4.11f1.

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.