[Crash] Crash on allocate() for config data

Hi everyone,
It’s been a while since I got this crash problem, which often occurs recently.

At first I thought it could be started by some unsafe pointers, and I added almost every validation check procs for all my pointers. Obviously, I failed.

Then I tried to overview call stack messages, and then this issue was figured out that some config data became illegal during TSet construct which listed below:



{NetServerMaxTickRate,{SavedValue=L"30" ExpandedValue=Empty bRead=false }}
{MaxNetTickRate,{SavedValue=L"120" ExpandedValue=Empty bRead=false }}
{NetConnectionClassName,{SavedValue=L"/Script/OnlineSubsystemUtils.IpConnection" ExpandedValue=Empty bRead=false }}
{MaxPortCountToTry,{SavedValue=L"512" ExpandedValue=Empty bRead=false }}
{ResolutionConnectionTimeout,{SavedValue=L"20.0" ExpandedValue=Empty bRead=false }}


Also heres those screenshots listing the informations:


](filedata/fetch?id=1837762&d=1606802706)

SInce my project is a totally single-player game, I’m confused about why these network config strings were get load. And how to fix that crash issue?

Many thanks!

As what I’ve figured out, the crash issue came though the following path:
Winmain->
UnrealEngine Tick->
FAudioDeviceManager::UpdateActiveAudioDevices(bool bGameTicking) ->
USoundWave::IsStreaming(*FPlatformCompressionUtilities::GetCookOverrides(PlatformName))

But I really dont know why this could happen…

Check if you’re spawning tickable objects in Editor world instead of in Game world. If you are doing this somewhere, you should not, unless it’s a class meant to be spawned by editor world.

Crash like this is common when in c++ somebody is assuming current world is game world then spawns some runtime classes that then start ticking and doing nasty things while game isn’t playing at all.

Thx for reply!

Yes I ‎merely got these crash during standalone gameplay. There’re still a few questions I can’t understand well:
1.I do use GetWorld()->SpawnActor() method during game play. Is it possible that GetWorld() returns EditorWorld instead of GameWorld?
2.All actors got "Tick before begin play " unchecked. How could that happen for them to tick in EditorWorld?

Thx again!

I would try to track the point where my code → engine code transition happens in the callstack.
Usually looking into the engine area of the trace won’t help to figure out where the crash trigger is coming from.

When it’s coming from an engine dll I usually won’t even look, will skip until it’s a dll from one of my modules.

Yep. But as this issue came from WinMain and UEngineTick, it seems to be not relevant to any of my code.

Did try submitting a bug report?
No guarantee that Epic is going to answer tho.

Not yet. I’ll have a try. Thx~