Originally posted by bumsuec September 10, 2026
Hi,
I'm encountering a reproducible Android startup crash in MediaPipe4U Premium. I reproduced the same issue with both UE 5.6 and UE 5.7.
The project packages and installs successfully. On launch, MediaPipePremium finds the license file correctly:
LogMediaPipePremium: Android assert cached:
/storage/emulated/0/Android/data/com.YourCompany.churi_main/files/mediapipe4u/mediapipe4u.license
LogMediaPipePremium: Check license:
/storage/emulated/0/Android/data/com.YourCompany.churi_main/files/mediapipe4u/mediapipe4u.license
Immediately afterward, Unreal crashes:
Fatal error: [MallocBinnedCommon.cpp] [Line: 635]
FMallocBinnedCommon attempted to GetAllocationSizeExternal
on an unrecognized pointer
I symbolicated the UE 5.7 Android crash using the packaged symbols. The relevant stack is:
FMallocBinnedCommonBase::UnrecognizedPointerFatalError(void*)
TMallocBinnedCommon<FMallocBinned3,...>::GetAllocationSizeExternal(...)
FMallocPoisonProxy::Free(void*)
std::__ndk1::basic_string<...>::__is_long() const
string:1773
FLicenseInfo::ParseFromFile(FString const&)
MediaPipePremium/Private/License/LicenseInfo.cpp:145
FMediaPipePremiumModule::LoadLicense()
MediaPipePremium/Private/MediaPipePremium.cpp:126
FModuleManager::LoadModuleWithFailureReason(...)
FModuleManager::GetOrLoadModule(...)
FModuleManager::LoadModuleChecked(...)
UMediaPipePluginSettings::RefreshLicenseInfo()
MediaPipePluginSettings.cpp:26
UMediaPipePluginSettings::UMediaPipePluginSettings()
MediaPipePluginSettings.cpp:15
Environment:
Unreal Engine: 5.7
Android NDK: 27.2.12479018 (r27c)
Architecture: arm64-v8a
Device OS: Android 13
MediaPipe4U: current UE 5.7 package
The debug symbols for the supplied Premium binary also show it was built against NDK 27.2.12479018.
I also verified that the license copied to the device is byte-for-byte identical to the source license (same SHA-256), so this does not appear to be a corrupted/missing license file.
The Premium package only provides Public/License/LicenseInfo.h; Private/License/LicenseInfo.cpp is not included, so I cannot inspect or patch line 145 locally.
Could you please check FLicenseInfo::ParseFromFile() around LicenseInfo.cpp:145, particularly the std::string lifetime/deallocation there? The stack appears to show a std::string operation reaching FMallocPoisonProxy::Free() with a pointer Unreal does not recognize.
I can provide the full logcat and additional symbolicated addresses if needed.
Thank you.
Discussed in #269
Originally posted by bumsuec September 10, 2026
Hi,
I'm encountering a reproducible Android startup crash in MediaPipe4U Premium. I reproduced the same issue with both UE 5.6 and UE 5.7.
The project packages and installs successfully. On launch, MediaPipePremium finds the license file correctly:
LogMediaPipePremium: Android assert cached:
/storage/emulated/0/Android/data/com.YourCompany.churi_main/files/mediapipe4u/mediapipe4u.license
LogMediaPipePremium: Check license:
/storage/emulated/0/Android/data/com.YourCompany.churi_main/files/mediapipe4u/mediapipe4u.license
Immediately afterward, Unreal crashes:
Fatal error: [MallocBinnedCommon.cpp] [Line: 635]
FMallocBinnedCommon attempted to GetAllocationSizeExternal
on an unrecognized pointer
I symbolicated the UE 5.7 Android crash using the packaged symbols. The relevant stack is:
FMallocBinnedCommonBase::UnrecognizedPointerFatalError(void*)
TMallocBinnedCommon<FMallocBinned3,...>::GetAllocationSizeExternal(...)
FMallocPoisonProxy::Free(void*)
std::__ndk1::basic_string<...>::__is_long() const
string:1773
FLicenseInfo::ParseFromFile(FString const&)
MediaPipePremium/Private/License/LicenseInfo.cpp:145
FMediaPipePremiumModule::LoadLicense()
MediaPipePremium/Private/MediaPipePremium.cpp:126
FModuleManager::LoadModuleWithFailureReason(...)
FModuleManager::GetOrLoadModule(...)
FModuleManager::LoadModuleChecked(...)
UMediaPipePluginSettings::RefreshLicenseInfo()
MediaPipePluginSettings.cpp:26
UMediaPipePluginSettings::UMediaPipePluginSettings()
MediaPipePluginSettings.cpp:15
Environment:
Unreal Engine: 5.7
Android NDK: 27.2.12479018 (r27c)
Architecture: arm64-v8a
Device OS: Android 13
MediaPipe4U: current UE 5.7 package
The debug symbols for the supplied Premium binary also show it was built against NDK 27.2.12479018.
I also verified that the license copied to the device is byte-for-byte identical to the source license (same SHA-256), so this does not appear to be a corrupted/missing license file.
The Premium package only provides Public/License/LicenseInfo.h; Private/License/LicenseInfo.cpp is not included, so I cannot inspect or patch line 145 locally.
Could you please check FLicenseInfo::ParseFromFile() around LicenseInfo.cpp:145, particularly the std::string lifetime/deallocation there? The stack appears to show a std::string operation reaching FMallocPoisonProxy::Free() with a pointer Unreal does not recognize.
I can provide the full logcat and additional symbolicated addresses if needed.
Thank you.