Licensee reports missing memory tracking for LLM on iOS:
In Engine/Source/Runtime/Core/Private/HAL/MallocBinned.cpp in SmallOSAlloc, there is a compiler define for IOS and within it there is an LLM_PLATFORM_SCOPE applying an FMalloc tag but there is never a call to LLM(FLowLevelMemTracker::Get().OnLowLevelAlloc(ELLMTracker::Platform, Ptr, NewSize)). I stepped through this code and ::malloc is calling into the OS malloc and not redirecting through the overloaded UE4 malloc. The LLM OnLowLevelFree is missing in SmallOSFree as well.
I identified this using the LLM csv output in a blank level. The FMallocUnused stat was negative. After making this fix, it went positive. So I wanted to confirm this is correct and if so, how to get it back into the engine for the next update.
Licensee report from [Link Removed]
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-104420 in the post.
5 |
Component | UE - Platform - Mobile |
---|---|
Affects Versions | 4.26 |
Target Fix | 5.1 |
Fix Commit | 20894856 |
---|
Created | Dec 11, 2020 |
---|---|
Resolved | Jul 8, 2022 |
Updated | Nov 1, 2022 |