Android Crash: Fatal error: Ran out of memory

Version: 4.8.0-2579680+++depot+UE4-Releases+4.8

Often on startup our Android Build (Debug, Development and Shipping) will crash, and even when it does not crash some textures will appear corrupted. The relevent error from the log appears to be here, during the .obb load/mounting process:

D/UE4     (  391): [2015.06.18-03.15.47:774][  0]LogCompression:Warning: appUncompressMemoryZLIB failed: Error: Z_DATA_ERROR, input data was corrupted or incomplete!
D/UE4     (  391): [2015.06.18-03.15.47:775][  0]LogCompression:Error: FCompression::UncompressMemory - Failed to uncompress memory (750/65536), this may indicate the asset is corrupt!

Full Log (5 consecutive failures)

Confirmed on three different devices to help rule out hardware issues. The same project ran under 4.7.6 without this issue.

We have the same problem.Most time it crash at game launch,sometimes the game can start,but when open another level,it will crash.
This never happen on 4.7.5

For corrupt files that probably occurred in converting a project rather than making a copy for the new release, here is something to try:

In the Engine folder, delete the DDC
(Derived Data Cache). In your project,
delete the Intermediate, the Saved,
and the Binary folders.

When you next try to package it will take considerably longer as the shaders will need to newly compile, but this should get rid of any old or corrupted files that haven’t gotten deleted.

Good luck!

Thanks, it’s a good tip but I forgot to mention that we tried that as well, including a clean build of the project on a PC that had never built it before.

Hi Thrakhath,

Are you seeing this during launch on to the device, or with your packaged project? If the latter, can you try launching onto your device and see if you get the same crash? If you do, it is very likely this known issue. I suspect this because I see

Fatal error:
[File:D:\BuildFarm\buildmachine_++depot+UE4-Releases+4.8\Engine\Source\Runtime\CoreUObject\Private\UObject\LinkerLoad.cpp]
[Line: 4087]

in your logs, and it would then be the same crash that others have reported, crashing during launch and on device. The good thing is, if it is that, the fix is in and if you’re using source or able to use source, the commit to the fix is in that linked thread.

I’ll wait until you get a chance to try launch on before I call it that issue definitively, however.

Thanks!

Anyother good tip, but unfortunately I did come across that post in my attempts to solve this issue and the suggested fix did not work. Just in case though, I updated my git copy to commit d1550e6 today and tried again with no luck. The LinkerLoad.cpp assertion fail, like the others, seems to be a downstream consequence of the failure to properly uncompress the package during load, not a problem directly at those asserts.

This issue is primarily in packaged, compressed builds, but also shows up in launched-from-editor and uncompressed builds.

edit: I feel I should add that uncompressed builds seem to greatly reduce the incidence of this error, but they do not entirely eliminate it.

Can I get the launch on crash logs from after you’ve updated to the suggested fix? Just attach to this thread as a txt file.

Thanks!

Here you go. Thanks for helping out with this, it has been a very thorny issue for us.

Hi

I see a lot of stuff going on in the logs, so I’m going to reach out to the Android dev for confirmation, however one specific thing I did notice was this error:

Fatal error:
[File:E:\GitHub\UnrealEngine\Engine\Source\Runtime\Core\Private\GenericPlatform\GenericPlatformMemory.cpp]
[Line: 53] D/UE4 (15075): Ran out
of memory allocating 4293394432 bytes
with alignment 0

We’ve had this reported for GitHub in the past, and it indicated a mis-match of versions between the editor and the project, and a rebuild of both the editor and the project seemed to fix it up. That is something to try.

I do see the compressmemory error: LogCompression:Error: FCompression::UncompressMemory - Failed to uncompress memory (664/65536), this may indicate the asset is corrupt!

and it appears that the asset it’s referring to may be this: ailed to load Outer for resource ‘WidgetTree’: WidgetBlueprint /Script/UMGEditor.Default__WidgetBlueprint

So that’s something else to look into. I will update here once I’ve had a chance to double check your logs with the Android dev.

Thanks!

Hi Thrakhath,

This is turning out to be related to a known issue, concerning that LinkerLoad.cpp. For reference, the issue is UE-16970. It appears to be a wide-ranging issue, but unfortunately it will almost certainly not make it into the first 4.8 hotfix, but we’re digging into it so hopefully I will have more information for you concerning it pretty soon. I’ll update this thread when I have more information.

Thanks!

Can we get some more detail on this bug? Is there something we can do to work around it temporarily while we wait for an official fix?

I will double check with the dev if he has any ideas for a workaround.

I’m cheerleading to have this included in a subsequent hotfix for this release, so I will definitely update you when I hear one way or the other about when it will make it into release.

this issue is affecting me as well - 4.8.1 - when i open a new map - a sound cue in my character animation (step sound) - which works fine… it might be firing at that moment

D/UE4 (32659): [2015.07.07-21.05.45:699][192000]LogCompression:Warning: appUncompressMemoryZLIB failed: Error: Z_DATA_ERROR, input data was corrupted or incomplete!
D/UE4 (32659): [2015.07.07-21.05.45:700][192000]LogCompression:Error: FCompression::UncompressMemory - Failed to uncompress memory (584/1528), this may indicate the asset is corrupt!
D/UE4 (32659): [2015.07.07-21.05.45:700][192000]LogFileManager:Warning: ReadFile failed: Count=0 Length=4533 Error=No such file or directory for file …/…/…/ZOMBIETOWNAHHH/Content/SOUND/HUMAN/cue_sound_step.uasset
D/UE4 (32659): Fatal error: [File:D:\UNREAL_4_8_1\Engine\Source\Runtime\Core\Private\HAL\FileManagerGeneric.cpp] [Line: 605]
D/UE4 (32659): Invalid BufferCount=0 while reading …/…/…/ZOMBIETOWNAHHH/Content/SOUND/HUMAN/cue_sound_step.uasset. Pos=5557, Size=1528, PrecacheSize=2147483647, PrecacheOffset=5557
D/UE4 (32659): [2015.07.07-21.05.45:702][192000]Assertion failed: Assertionfailed: [File:D:\UNREAL_4_8_1\Engine\Source\Runtime\Core\Private\HAL\FileManagerGeneric.cpp] [Line: 605]
D/UE4 (32659): Invalid BufferCount=0 while reading …/…/…/ZOMBIETOWNAHHH/Content/SOUND/HUMAN/cue_sound_step.uasset. Pos=5557, Size=1528, PrecacheSize=2147483647, PrecacheOffset=5557

It appears that my issue has been resolved in 4.8.2, thank you