Crashes in LoadPackageInternal

Engine Version: GitHub Source - promoted branch of 3rd June 2015

Environment: Dedicated Server - Client, Multiplayer Game

Issue: Two independent crashes in the same engine method LoadPackageInternal.

The first one is a client crash and occurs during gameplay “randomly”.
The second one happens when we hook up our sound system completly and start a dedicated server. The server then crashes during launch.

Both crashes don’t happen while using the editor, they just happen in server/client builds.

What was done to resolve/ find a solution of the issue:

  • Clean checkout of our git repository + engine, fully new setup, rebuild
  • Tried to put some logs in ResolveName method: Just before the crash occurs (@server), the package to load is nothing (empty line).
  • Tried to downgrade to 4.8.1 (where the crash might be fixed? → UE-17194 LoadPackageInternal may crash due to corrupted linkers! ) but that didn’t work due to newer file versions in our used promoted version compared to 4.8
  • Checked out nearly every newer promoted version but they caused other errors (some UMG widgets don’t find outer resources and the engine crashes when trying to compile them after PIE, lighting on normal mapped terrain renders thick black lines, etc.)

What can you suppose we should do? We would be happy if there is a way to fix these crashes in our engine version (e.g. cherry pick some engine commits). Otherwise we could need some support for upgrading to a newer promoted version.

Client Crash (“Randomly” occuring):

Assertion failed: !Result || Result->LinkerLoad == Linker [File:C:\projects\submerge\git_submerge-unreal\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 1055] 

Submerge.exe!FOutputDeviceWindowsError::Serialize() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\core\private\windows\windowsplatformoutputdevices.cpp:95]
Submerge.exe!FOutputDevice::Logf__VA() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\core\private\misc\outputdevice.cpp:144]
Submerge.exe!FDebug::AssertFailed() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\core\private\misc\outputdevice.cpp:355]
Submerge.exe!LoadPackageInternal() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1055]
Submerge.exe!ResolveName() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:677]
Submerge.exe!StaticLoadObjectInternal() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:764]
Submerge.exe!StaticLoadObject() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:826]
Submerge.exe!UGameEngine::Init() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\engine\private\gameengine.cpp:436]
Submerge.exe!FEngineLoop::Init() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\launch\private\launchengineloop.cpp:2046]
Submerge.exe!GuardedMain() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\launch\private\launch.cpp:136]
Submerge.exe!GuardedMainWrapper() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
Submerge.exe!WinMain() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]
Submerge.exe!__tmainCRTStartup() [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]

Server Crash (When using our full sound system during startup)

Fatal error!

Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00000000

SubmergeServer.exe!FCrc::StrCrc32<wchar_t>() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\core\public\misc\crc.h:28]
SubmergeServer.exe!FAsyncIOSystemBase::QueueDestroyHandleRequest() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\core\private\serialization\asynciosystembase.cpp:100]
SubmergeServer.exe!LoadPackageInternal() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1041]
SubmergeServer.exe!ResolveName() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:677]
SubmergeServer.exe!StaticLoadObjectInternal() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:764]
SubmergeServer.exe!StaticLoadObject() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:826]
SubmergeServer.exe!UGameEngine::Init() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\engine\private\gameengine.cpp:436]
SubmergeServer.exe!FEngineLoop::Init() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\launch\private\launchengineloop.cpp:2046]
SubmergeServer.exe!GuardedMain() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\launch\private\launch.cpp:136]
SubmergeServer.exe!GuardedMainWrapper() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
SubmergeServer.exe!WinMain() [c:\projects\submerge\git_submerge-unreal\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]
SubmergeServer.exe!__tmainCRTStartup() [f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618]

Hi imbakeks,

Thanks for your report. We have assigned this issue to a member of our support staff, and they will begin investigation as soon as possible. If we are unable to reproduce the issue, or we need additional information, our staff member will comment here with additional questions. Otherwise, we will post an ‘Answer’ once we have logged the issue in our bug database or we have a solution for it.

In the meantime, please be sure to review our suggestions for how to report a bug, and feel free to edit your post if you have additional information to provide:


Hey imbakeks-

When you mention crashing randomly is there any action that is being preformed prior to the crash that is consistent (jumping, attacking, dodging, etc.)? Also when you mention the hooking up the sound system, what does that include? If possible could you reproduce the sound setup in a new project or list the steps for setup so I can try it on my end? Let me know if you can think of any more information that would help me reproduce either of these crashes locally.


Doug Wilson

Hi Doug,

thank you for the fast reply.

Some more general information first: The game we make is a multiplayer RTS called Submerge (Authoritive dedicated server, simulated/predicted clients). We have units based on ACharacter with abilities (using the GameplayAbility system). Our UI is completly done in UMG. The HP bars use the experimental WidgetComponent.

The random crashes don’t follow a specific scheme. They are also rare and therefore hardly reproducible.

Our sound system is done completely in blueprints. It is an Actor and spawned in BeginPlay of the PlayerController after map load on client. We add a UnitSoundComponent to our units and ProjectileSoundComponent to the projectiles. Both use our sound system to play sound cues. The sound system also has a radio component which has no functionality implemented. So far it is working.
As soon as we hook up some implementation on our radio component the server and client builds crash during launch. The radio component uses BP enums, a data table (created using a BP struct), sound classes, sound mixes, and plays several sound waves and cues. Everything works in the editor and just crashes in a build.

The builds are done using the ProjectLauncher.

  • Build Configuration: Development
  • Build and Build UAT are checked
  • Cook by the book for WindowsNoEditor and WindowsServer
  • Culture: en
  • Maps: MainMenu and GameLevel
  • No checks in Release/DLC/Patching Settings and Advanced Settings
  • Some additional cooker options to include DataTables which aren’t referenced anywhere
  • Package is set to Package & store locally
  • Do not Deploy
    The builds are then copied manually somewhere from Submerge/Saved/StagedBuilds.

Testing the sound system in another project isn’t that easy because it references units and other game classes.

Is the currently given information enough for you to help us? Would the server build with pdb help you to find the problem? I also attached the server and client logs, dmp and xml files.

Hi imbakeks,

Can you show me a screenshot of your Widget blueprint graph as well as a sample screenshot of where you call the struct that is crashing? Do you have a callstack you can post here?

Hi Adam,

sorry, I don’t know about which widget blueprint and struct you are talking. The crashlogs are also included in the zip files in my last post.

The callstack I’m looking for is the error message that appears just after the editor crashes. It has some information that isn’t present in the logs. Unfortunately without steps to reproduce this crash on our end there is very little we can do. The struct I’m referencing is in regards to this line in your post:

“The radio component uses BP enums, a data table (created using a BP struct), sound classes, sound mixes, and plays several sound waves and cues. Everything works in the editor and just crashes in a build.”

I’d like to see where it is being utilized in your blueprints so I can see if there is anything there I’ll be able to reproduce on my end.

Hi Adam,

on friday we had the same errors with our Blueprint version of the GameInstance. We didn’t change anything on the C++ side of the GameInstance nor the BP side. At the end of the post I attached the callstack when executing a dedicated server. The assets were cooked using the settings of my last post. In the editor everything works. What we found out is, that the crash causing Linker->Filename starts with multiple 0 values which will later in the callstack result to a nullptr, see the attached image.

Fortunately, we were able to solve the issues for now by merging some engine commits of the hotfixes for 4.8 into our version. We searched for integrates which could possibly have something to do with the following fixes:

  • UE-17087 Assertion failed: !Result || Result->LinkerLoad == Linker crash
  • UE-17194 LoadPackageInternal may crash due to corrupted linkers

We hope, that these fixes are also included in 4.9 and that everything works after updating to the release version. If you can provide some better way to handle this issue right now, any help is appreciated.

Hi imbakeks,

I’m happy to hear this is working for you now. You did exactly what we would recommend when dealing with source if a commit is viable for fixing a specific error. I am going to mark this as answered for tracking purposes. If you experience this error again, please comment back and we’ll take another look.