Unreal Engine Fatal crash while packed for shipping 0x0000000000000008

While working in Editor even using Launch game from .uproject, it works fine, but after using Project Launcher to pack the game in shipping form the game crashes with Fatal Error!. From crash error it seems to be an error because localization, and I also tried to read from .dmp but I can’t understand what causes it from this one.

I only have localization for 2 languages and both are selected from culture list in Project Launcher.

This is the error:

Fatal error!

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x0000000000000008

0x00007ff7e0c6e096 MyGame-Win64-Shipping.exe!FICUInternationalization::IsCultureAllowed() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Core\Private\Internationalization\ICUInternationalization.cpp:501]
0x00007ff7e0ca2640 MyGame-Win64-Shipping.exe!TextLocalizationResourceUtil::GetLocalizedCultureNames() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Core\Private\Internationalization\TextLocalizationResource.cpp:709]
0x00007ff7e0ca21e8 MyGame-Win64-Shipping.exe!FLocalizationResourceTextSource::GetLocalizedCultureNames() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Core\Private\Internationalization\LocalizationResourceTextSource.cpp:45]
0x00007ff7e0ca2372 MyGame-Win64-Shipping.exe!FTextLocalizationManager::GetLocalizedCultureNames() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Core\Private\Internationalization\TextLocalizationManager.cpp:882]
0x00007ff7e0c9340e MyGame-Win64-Shipping.exe!ApplyDefaultCultureSettings() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Core\Private\Internationalization\TextLocalizationManager.cpp:461]
0x00007ff7e0ca5952 MyGame-Win64-Shipping.exe!InitEngineTextLocalization() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Core\Private\Internationalization\TextLocalizationManager.cpp:539]
0x00007ff7e3b9032c MyGame-Win64-Shipping.exe!FEngineLoop::PreInitPreStartupScreen() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Launch\Private\LaunchEngineLoop.cpp:3210]
0x00007ff7e3b89fe1 MyGame-Win64-Shipping.exe!GuardedMain() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Launch\Private\Launch.cpp:144]
0x00007ff7e3b8a23a MyGame-Win64-Shipping.exe!GuardedMainWrapper() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:123]
0x00007ff7e3b8b10d MyGame-Win64-Shipping.exe!LaunchWindowsStartup() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:277]
0x00007ff7e3b92c94 MyGame-Win64-Shipping.exe!WinMain() [E:\UE_SC\UnrealEngine-5.5.1\Engine\Source\Runtime\Launch\Private\Windows\LaunchWindows.cpp:318]
0x00007ff7e6292be2 MyGame-Win64-Shipping.exe!__scrt_common_main_seh() [D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288]
0x00007ffaef5ee8d7 KERNEL32.DLL!UnknownFunction []

And this is from crash file:

!analyze -v
*******************************************************************************
*                                                                             *
*                        Exception Analysis                                   *
*                                                                             *
*******************************************************************************


KEY_VALUES_STRING: 1

    Key  : AV.Dereference
    Value: NullClassPtr

    Key  : AV.Fault
    Value: Read

    Key  : Analysis.CPU.mSec
    Value: 312

    Key  : Analysis.Elapsed.mSec
    Value: 370

    Key  : Analysis.IO.Other.Mb
    Value: 0

    Key  : Analysis.IO.Read.Mb
    Value: 1

    Key  : Analysis.IO.Write.Mb
    Value: 0

    Key  : Analysis.Init.CPU.mSec
    Value: 187

    Key  : Analysis.Init.Elapsed.mSec
    Value: 2149

    Key  : Analysis.Memory.CommitPeak.Mb
    Value: 338

    Key  : Analysis.Version.DbgEng
    Value: 10.0.27725.1000

    Key  : Analysis.Version.Description
    Value: 10.2408.27.01 amd64fre

    Key  : Analysis.Version.Ext
    Value: 1.2408.27.1

    Key  : Failure.Bucket
    Value: NULL_CLASS_PTR_READ_c0000005_MyGame-Win64-Shipping.exe!Unknown

    Key  : Failure.Hash
    Value: {f4d022cf-a6ce-15ef-6431-996b1c5804b0}

    Key  : Timeline.OS.Boot.DeltaSec
    Value: 20054

    Key  : Timeline.Process.Start.DeltaSec
    Value: 3

    Key  : WER.OS.Branch
    Value: ge_release

    Key  : WER.OS.Version
    Value: 10.0.26100.1

    Key  : WER.Process.Version
    Value: 5.5.2.0


FILE_IN_CAB:  UEMinidump.dmp

CONTEXT:  (.ecxr)
rax=00000179c0f68020 rbx=00000179c26d24a0 rcx=14e18e9ce49f0000
rdx=00000179bde2a500 rsi=0000000000000000 rdi=00000179bde2a500
rip=00007ff7e0c6e096 rsp=00000060d777e7b0 rbp=00007ff7e640db34
 r8=00000179be000060  r9=0000000000000000 r10=00000179bb340000
r11=00000060d777e7a8 r12=00000060d777e920 r13=0000000000000000
r14=0000000000000000 r15=00000179bde2a500
iopl=0         nv up ei pl zr na po nc
cs=0033  ss=002b  ds=002b  es=002b  fs=0053  gs=002b             efl=00010246
MyGame_Win64_Shipping!png_write_chunk_end+0x512346:
00007ff7`e0c6e096 8b4608          mov     eax,dword ptr [rsi+8] ds:00000000`00000008=????????
Resetting default scope

EXCEPTION_RECORD:  (.exr -1)
ExceptionAddress: 00007ff7e0c6e096 (MyGame_Win64_Shipping!png_write_chunk_end+0x0000000000512346)
   ExceptionCode: c0000005 (Access violation)
  ExceptionFlags: 00000000
NumberParameters: 2
   Parameter[0]: 0000000000000000
   Parameter[1]: 0000000000000008
Attempt to read from address 0000000000000008

PROCESS_NAME:  MyGame-Win64-Shipping.exe

READ_ADDRESS:  0000000000000008 

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.

EXCEPTION_CODE_STR:  c0000005

EXCEPTION_PARAMETER1:  0000000000000000

EXCEPTION_PARAMETER2:  0000000000000008

STACK_TEXT:  
00000060`d777e7b0 00007ff7`e0ca2640     : 00007ff7`e8165978 00000060`d777e8e0 00000000`00000001 00000000`00000000 : MyGame_Win64_Shipping!png_write_chunk_end+0x512346
00000060`d777e7e0 00007ff7`e0ca21e8     : 00000060`d777e8c0 00000000`00000000 00000060`d777e8e0 ffffffff`fffffff0 : MyGame_Win64_Shipping!png_write_chunk_end+0x5468f0
00000060`d777e890 00007ff7`e0ca2372     : 00000179`bce5b950 00000000`0000001c 00000179`bce5b960 00000000`00000000 : MyGame_Win64_Shipping!png_write_chunk_end+0x546498
00000060`d777e8f0 00007ff7`e0c9340e     : 00000000`00000006 00000000`00000000 00000000`00000000 00000000`00000006 : MyGame_Win64_Shipping!png_write_chunk_end+0x546622
00000060`d777e9c0 00007ff7`e0ca5952     : 00000179`c25c221c 00000000`00000000 00000000`00000000 00000000`00000005 : MyGame_Win64_Shipping!png_write_chunk_end+0x5376be
00000060`d777ec00 00007ff7`e3b9032c     : 00000000`000185a2 00000000`00000000 00000179`bdde60a0 00000179`bdde60a0 : MyGame_Win64_Shipping!png_write_chunk_end+0x549c02
00000060`d777ece0 00007ff7`e3b89fe1     : 00000179`bdddd524 00000060`d777fb09 00000179`bdddd524 00000179`bde76c10 : MyGame_Win64_Shipping!src_strerror+0x1fc22bc
00000060`d777fa70 00007ff7`e3b8a23a     : 00000000`00000000 00007ff7`e640db34 00000000`00000000 00000000`00000000 : MyGame_Win64_Shipping!src_strerror+0x1fbbf71
00000060`d777fb70 00007ff7`e3b8b10d     : 00007ff7`e640db34 00000000`00000000 00000000`00000000 00000000`00000000 : MyGame_Win64_Shipping!src_strerror+0x1fbc1ca
00000060`d777fbb0 00007ff7`e3b92c94     : 00000000`00000000 00000000`00000001 00000000`00000000 00007ffa`ed5770b0 : MyGame_Win64_Shipping!src_strerror+0x1fbd09d
00000060`d777fbf0 00007ff7`e6292be2     : 00000000`00000001 00000000`00000000 00000000`00000000 00000000`00000000 : MyGame_Win64_Shipping!src_strerror+0x1fc4c24
00000060`d777fc30 00007ffa`ef5ee8d7     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : MyGame_Win64_Shipping!agsSetDisplayMode+0x1d1ae2
00000060`d777fc70 00007ffa`efabfbcc     : 00000000`00000000 00000000`00000000 000004f0`fffffb30 000004d0`fffffb30 : kernel32!BaseThreadInitThunk+0x17
00000060`d777fca0 00000000`00000000     : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : ntdll!RtlUserThreadStart+0x2c


STACK_COMMAND:  ~0s; .ecxr ; kb

SYMBOL_NAME:  MyGame_Win64_Shipping+512346

MODULE_NAME: MyGame_Win64_Shipping

IMAGE_NAME:  MyGame-Win64-Shipping.exe

FAILURE_BUCKET_ID:  NULL_CLASS_PTR_READ_c0000005_MyGame-Win64-Shipping.exe!Unknown

OS_VERSION:  10.0.26100.1

BUILDLAB_STR:  ge_release

OSPLATFORM_TYPE:  x64

OSNAME:  Windows 10

IMAGE_VERSION:  5.5.2.0

FAILURE_ID_HASH:  {f4d022cf-a6ce-15ef-6431-996b1c5804b0}

Followup:     MachineOwner

I made a copy of the game and removed all Game Targets, but after packing the game, still the same error.

I narrowed down the problem to Project Launcher, because if I use the other way to pack the game it works and all languages are available, meaning from Level / Platforms / Windows / Package Project with Binary configuration set to “Use project settings (Shipping)”.

These are the settings inside Project Launcher:

  • Build: Detect Automatically
  • Build Configuration: Shipping
  • Build UAT checked
  • Cook: By the book
  • Cooked Platforms: Windows
  • Cooked Cultures: Same as in Project Settings / Packaging / Languages to Package
  • Cooked Maps: All maps are selected
  • Create a release version of the game for distribution checked
  • Name of the new release: Some name
  • Advanced Settings: “Iterative cooking” and “Don’t Include…” are checked the rest unchecked
  • Http unchecked
  • Cooker build configuration: Shipping
  • Package: Package & store locally
  • Is this build for distribution to public checked
  • Include an installer checked
  • User container unchecked
  • Make a binary config checked
  • Archive unchecked
  • Deploy: Do not deploy

Do I need to change something?

Do I need to change some settings here?

So it seems that the problem was with Make a binary config file for faster runtime startup times, but even if that is checked the config file wasn’t binary it was still normal “.ini” file.

If I uncheck that then I don’t get that crash at startup. Can someone tell me what that option is suppose to do and maybe why it was causing the crash?