How to build an Android app using Unreal Engine 5.6 so I can use std::stringstream without crashing?

Problem:

When I use std::stringstream in Unreal Engine on Android, I get a crash when running the app on the phone.

Note:

Running the app on my Desktop does not crash.

How to reproduce:

  • Install Unreal Engine 5.6

  • In the Unreal editor, go to File → New Project

  • Select First Person and C++

  • Add this code somewhere it gets executed:

    std::stringstream ss{};
    ss << "someLongStringToPreventShortStringOptimization";
    

    This also crashes with the same error:

    std::string{} + "someLongStringToPreventShortStringOptimization";
    

    This runs fine:

    std::string{"someLongStringToPreventShortStringOptimization"};
    
  • Launch on your Android phone

When I do this, I get following crash:

LogPlayLevel: Error: UAT: 08-01 13:07:09.039  1414  1844 D UE      : Fatal error: [File:Runtime/Core/Public/HAL/MallocBinnedCommon.h] [Line: 894]
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : FMallocBinned Attempt to GetAllocationSizeExternal an unrecognized pointer 0x72203668a0
LogPlayLevel: Error: UAT: 08-01 13:07:09.039  1414  1844 D UE      : [2025.08.01-11.07.09:039][  0]Fatal error: [File:Runtime/Core/Public/HAL/MallocBinnedCommon.h] [Line: 894]
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : FMallocBinned Attempt to GetAllocationSizeExternal an unrecognized pointer 0x72203668a0
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : 0x0000007201DCB77C libUnreal.so(0x0000000002AF477C)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : 0x0000007201FB5060 libUnreal.so(0x0000000002CDE060)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : 0x0000007201F7393C libUnreal.so(0x0000000002C9C93C)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : 0x000000720931C4CC libUnreal.so(0x000000000A0454CC)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : 0x000000720276081C libUnreal.so(0x000000000348981C)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : 0x0000007202A4FA78 libUnreal.so(0x0000000003778A78)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : 0x00000072091F375C libUnreal.so(0x0000000009F1C75C)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : 0x00000072091EA5D4 libUnreal.so(0x0000000009F135D4)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.039  1414  1844 D UE      : 0x00000072091D8D04 libUnreal.so(0x0000000009F01D04)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.040  1414  1844 D UE      : 0x00000072091E6F54 libUnreal.so(0x0000000009F0FF54)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.040  1414  1844 D UE      : 0x000000720920BBC4 libUnreal.so(0x0000000009F34BC4)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.040  1414  1844 D UE      : 0x000000730EF557C4 libc.so(0x00000000000CF7C4)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.040  1414  1844 D UE      : 0x000000730EEF81AC libc.so(0x00000000000721AC)![Unknown]()  []
LogPlayLevel: UAT: 08-01 13:07:09.040  1414  1844 D UE      :
LogPlayLevel: UAT: 08-01 13:07:09.040  1414  1844 D UE      :
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: === Critical error: ===
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error:
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: Fatal error: [File:Runtime/Core/Public/HAL/MallocBinnedCommon.h] [Line: 894]
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: FMallocBinned Attempt to GetAllocationSizeExternal an unrecognized pointer 0x72203668a0
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x0000007201DCB77C libUnreal.so(0x0000000002AF477C)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x0000007201FB5060 libUnreal.so(0x0000000002CDE060)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x0000007201F7393C libUnreal.so(0x0000000002C9C93C)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x000000720931C4CC libUnreal.so(0x000000000A0454CC)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x000000720276081C libUnreal.so(0x000000000348981C)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x0000007202A4FA78 libUnreal.so(0x0000000003778A78)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x00000072091F375C libUnreal.so(0x0000000009F1C75C)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x00000072091EA5D4 libUnreal.so(0x0000000009F135D4)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x00000072091D8D04 libUnreal.so(0x0000000009F01D04)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x00000072091E6F54 libUnreal.so(0x0000000009F0FF54)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x000000720920BBC4 libUnreal.so(0x0000000009F34BC4)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x000000730EF557C4 libc.so(0x00000000000CF7C4)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error: [Callstack] 0x000000730EEF81AC libc.so(0x00000000000721AC)![Unknown]()  []
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error:
LogPlayLevel: Error: UAT: 08-01 13:07:09.040  1414  1844 D UE      : [2025.08.01-11.07.09:040][  0]LogAndroid: Error:

Development environment:

Edition	Windows 11 Pro
Version	24H2
Installed on	‎12/‎10/‎2024
OS build	26100.3775
Experience	Windows Feature Experience Pack 1000.26100.66.0

Processor	AMD Ryzen 7 7800X3D 8-Core Processor              4.20 GHz
Installed RAM	32,0 GB (31,1 GB usable)
System type	64-bit operating system, x64-based processor
Pen and touch	No pen or touch input is available for this display

Settings:

[/Script/AndroidPlatformEditor.AndroidSDKSettings]
SDKPath=(Path="C:/Users/huhul/AppData/Local/Android/Sdk")
NDKPath=(Path="C:/Users/huhul/AppData/Local/Android/Sdk/ndk/29.0.13599879")
JavaPath=(Path="C:/Program Files/Android/Android Studio/jbr")
SDKAPILevel=latest
NDKAPILevel=latest


[/Script/Engine.CollisionProfile]
+Profiles=(Name="Projectile",CollisionEnabled=QueryOnly,ObjectTypeName="Projectile",CustomResponses=,HelpMessage="Preset for projectiles",bCanModify=True)
+DefaultChannelResponses=(Channel=ECC_GameTraceChannel1,Name="Projectile",DefaultResponse=ECR_Block,bTraceType=False,bStaticObject=False)
+EditProfiles=(Name="Trigger",CustomResponses=((Channel=Projectile, Response=ECR_Ignore)))

[/Script/EngineSettings.GameMapsSettings]
EditorStartupMap=/Game/FirstPerson/Lvl_FirstPerson.Lvl_FirstPerson
LocalMapOptions=
TransitionMap=
bUseSplitscreen=True
TwoPlayerSplitscreenLayout=Horizontal
ThreePlayerSplitscreenLayout=FavorTop
GameInstanceClass=/Script/Engine.GameInstance
GameDefaultMap=/Game/FirstPerson/Lvl_FirstPerson.Lvl_FirstPerson
ServerDefaultMap=/Engine/Maps/Entry
GlobalDefaultGameMode=/Game/FirstPerson/Blueprints/BP_FirstPersonGameMode.BP_FirstPersonGameMode_C
GlobalDefaultServerGameMode=None

[/Script/Engine.RendererSettings]
r.ReflectionMethod=1
r.GenerateMeshDistanceFields=True
r.DynamicGlobalIlluminationMethod=1
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=True
r.DefaultFeature.AutoExposure.ExtendDefaultLuminanceRange=true
r.AllowStaticLighting=False


r.SkinCache.CompileShaders=True

r.RayTracing.RayTracingProxies.ProjectEnabled=True

r.Shadow.Virtual.Enable=1

r.DefaultFeature.LocalExposure.HighlightContrastScale=0.8

r.DefaultFeature.LocalExposure.ShadowContrastScale=0.8

[/Script/WindowsTargetPlatform.WindowsTargetSettings]
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
DefaultGraphicsRHI=DefaultGraphicsRHI_DX12
-D3D12TargetedShaderFormats=PCD3D_SM5
+D3D12TargetedShaderFormats=PCD3D_SM6
-D3D11TargetedShaderFormats=PCD3D_SM5
+D3D11TargetedShaderFormats=PCD3D_SM5
Compiler=Default
AudioSampleRate=48000
AudioCallbackBufferFrameSize=1024
AudioNumBuffersToEnqueue=1
AudioMaxChannels=0
AudioNumSourceWorkers=4
SpatializationPlugin=
SourceDataOverridePlugin=
ReverbPlugin=
OcclusionPlugin=
CompressionOverrides=(bOverrideCompressionTimes=False,DurationThreshold=5.000000,MaxNumRandomBranches=0,SoundCueQualityIndex=0)
CacheSizeKB=65536
MaxChunkSizeOverrideKB=0
bResampleForDevice=False
MaxSampleRate=48000.000000
HighSampleRate=32000.000000
MedSampleRate=24000.000000
LowSampleRate=12000.000000
MinSampleRate=8000.000000
CompressionQualityModifier=1.000000
AutoStreamingThreshold=0.000000
SoundCueCookQualityIndex=-1

[/Script/LinuxTargetPlatform.LinuxTargetSettings]
-TargetedRHIs=SF_VULKAN_SM5
+TargetedRHIs=SF_VULKAN_SM6

[/Script/AIModule.AISystem]
bForgetStaleActors=True

[/Script/Engine.Engine]
NearClipPlane=5.000000


+ActiveGameNameRedirects=(OldGameName="TP_FirstPerson",NewGameName="/Script/MyProject5")
+ActiveGameNameRedirects=(OldGameName="/Script/TP_FirstPerson",NewGameName="/Script/MyProject5")

+ActiveClassRedirects=(OldClassName="TP_FirstPersonPlayerController",NewClassName="MyProject5PlayerController")
+ActiveClassRedirects=(OldClassName="TP_FirstPersonGameMode",NewClassName="MyProject5GameMode")
+ActiveClassRedirects=(OldClassName="TP_FirstPersonCharacter",NewClassName="MyProject5Character")
+ActiveClassRedirects=(OldClassName="TP_FirstPersonCameraManager",NewClassName="MyProject5CameraManager")

[/Script/HardwareTargeting.HardwareTargetingSettings]
TargetedHardwareClass=Desktop
AppliedTargetedHardwareClass=Desktop
DefaultGraphicsPerformance=Maximum
AppliedDefaultGraphicsPerformance=Maximum

[/Script/AndroidFileServerEditor.AndroidFileServerRuntimeSettings]
bEnablePlugin=True
bAllowNetworkConnection=True
SecurityToken=CA478A2D41DDCCEEB6F23A8046F029A4
bIncludeInShipping=False
bAllowExternalStartInShipping=False
bCompileAFSProject=False
bUseCompression=False
bLogFiles=False
bReportStats=False
ConnectionType=USBOnly
bUseManualIPAddress=False
ManualIPAddress=

[/Script/AndroidRuntimeSettings.AndroidRuntimeSettings]
NDKAPILevelOverride=android-29