[4.11] Random crash when streaming level

Hello.

With 4.11 preview 8, my game will crash at random timing. My game was not crashing with 4.10.2 and 4.10.4.
The level being played has 9 of streamed sub levels. None of sub levels causing a crash when played individually.

Reducing number of actors helped a bit. But not enough to solve.
I have started to think this is a bug in engine side.

I may able to investigate what causing crash if you suggest some ideas.
So please tell me what I can check still.
I have attached crash dump and log to this post.

Crash dump on this link

Crash log is below

Assertion failed: AllEnabledTickFunctions.Remove(TickFunction) == 1 [File:D:\BuildFarm\buildmachine_++UE4+Release-4.11\Engine\Source\Runtime\Engine\Private\TickTaskManager.cpp] [Line: 811]



UE4Editor_Core!FDebug::AssertFailed() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\runtime\core\private\misc\outputdevice.cpp:430]
UE4Editor_Engine!FTickTaskLevel::ScheduleTickFunctionCooldowns() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\runtime\engine\private\ticktaskmanager.cpp:813]
UE4Editor_Engine!FTickTaskManager::StartFrame() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\runtime\engine\private\ticktaskmanager.cpp:1331]
UE4Editor_Engine!UWorld::Tick() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\runtime\engine\private\leveltick.cpp:1184]
UE4Editor_UnrealEd!UEditorEngine::Tick() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\editor\unrealed\private\editorengine.cpp:1356]
UE4Editor_UnrealEd!UUnrealEdEngine::Tick() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\editor\unrealed\private\unrealedengine.cpp:370]
UE4Editor!FEngineLoop::Tick() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\runtime\launch\private\launchengineloop.cpp:2643]
UE4Editor!GuardedMain() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\runtime\launch\private\launch.cpp:142]
UE4Editor!GuardedMainWrapper() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\runtime\launch\private\windows\launchwindows.cpp:126]
UE4Editor!WinMain() [d:\buildfarm\buildmachine_++ue4+release-4.11\engine\source\runtime\launch\private\windows\launchwindows.cpp:200]
UE4Editor!__scrt_common_main_seh() [f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:264]
kernel32
ntdll

HI ,

  • Does this occur in a clean, blank project with no additional content or is it limited to one project?
  • What steps are you taking to stream/unload your levels?
  • Is this a blueprint or C++ project?
  • Does this seem limited to a specific sublevel?

(Edited)
Thank you for your helping!! I’m really looking for running my game on Apple TV.

I just figured out crash is not happening when following conditions ware made.

  • Starting BehaviorTree several seconds after streaming of level
  • TickInterval of AIController is 0.0

However, crash is not occurring in empty project even though above conditions ware false.
I guess sub levels with bunch of StaticMesh ond/or custom AIController defined in C++ is necessary to crash.

Now it’s looks like core issue is in my side. Apologize if I wasted your time.

  • Does this occur in a clean, blank project with no additional content or is it limited to one project?

Not yet tested really. I’ll do proper test as soon as possible.

  • What steps are you taking to stream/unload your levels?

GameState subclass is streaming all levels serially. No level streaming volumes are involved. I have also tested with “Always Loaded” level streaming method.

  • Is this a blueprint or C++ project?

Initially it was Blueprint project. But converted to C++ project quite while ago.

  • Does this seem limited to a specific sublevel?

No. it was related with BehaviorTree or custom nodes.

Hi ,

To confirm, you have found the source of the crash you are experiencing?

  • Have you found a workaround that resolves the error?
  • Do you have steps I can take to reproduce this on my end?
  • Is the AI spawning in the sublevel or is it in the persistent level?

Hi.

Have you found a workaround that resolves the error?
→ Yes, by ether set TickInterval of AIController to 0.0 or completely avoid to use ReceiveTick event in AIController blueprint.

Do you have steps I can take to reproduce this on my end?
→ No. Unfortunately.

Is the AI spawning in the sublevel or is it in the persistent level?
→ AI was spawning in sublevels.

Thank you for the reply. I am happy to hear you found a solution for your error. For now, I will mark this as answered for tracking purposes. If this occurs again and you find steps I can take to reproduce it, I will be glad to take another look.

I’m having the same problem in 4.12.

The crash seems to come from this line in ScheduleTickFunctionCooldowns() (TickTaskManager.cpp)

verify(AllEnabledTickFunctions.Remove(TickFunction) == 1); 

Apparently using a non-zero TickInterval makes the TickFunctionsToReschedule array to contain the same tick functions several times.

Removing the verify fixes the crash for me, but I’d like to be sure this is not breaking anything else.

Hi ,

Do you have any steps I can take to reproduce this on my end?

Sadly, no. I posted more details hereudn.unrealengine.com/questions/298947/tickinterval-0-causing-assertions.html

Thank you for the updated information. We will follow up on the UDN post.