Search Issue Tracker

Fixed in Unity 2018.3

Votes

0

Found in

2018.1.5f1

Issue ID

1066405

Regression

No

[.NET 4.x][IL2CPP] MultiCastDelegate is leaking memory in Built projects

IL2CPP

-

-

Priority: 3Not yet prioritized for a release

-

Severity: 1Crash, freeze, data loss, work stops

To reproduce:

1. Download attached project "LeakTestCase.zip" and open in Unity
2. Open "SampleScene" scene
3. Set Scripting Runtime Version to ".NET 4.6 or .NET 4.x"
4. Set Scripting Backend to "Mono"
5. Build & Run on any platform
6. Observe that the onscreen memory usages stay fixed
7. Set Scripting Backend to "IL2CPP"
8. Build & Run on any platform

Expected results: Like in Mono, the onscreen memory usages stays fixed
Actual results: There is a memory leak in "foo += handler; foo -= handler;" because the memory counter keeps climbing

Notes:
- This issue appears on both Windows and OSX
- This issue reproduces on Android, iOS, and Standalone
- On .NET 3.5 everything works as expected no matter which Scripting Backend is set

Reproduced on Unity 2017.2.3p3, 2017.3.2f1, 2017.4.8f1, 2018.1.9f1, 2018.2.2f1 and 2018.3.0a7

Comments (2)

  1. 1c49288d112cd7e903a10e81a69c78db?d=mm

    Dave-Hampson

    Sep 05, 2018 17:26

    It is not fixed in 2017.4.6, only 2018.2.5 and higher

  2. B4503de1eadd238ee65688ab6c527ef6?d=mm

    Kai_NaN

    Sep 05, 2018 15:46

    Could you also test this on Nintendo Switch platform? I found memory usage going up when call foo -= handler. It's 2017.4.6f1 with .NET 3.5, Nintendo Switch SDK 5.4.0.

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.