AI Behavior Tree Crashes Packaged Shipping Builds

Dear Friends at Epic,

Here’s a pic of a crash log I got in a shipping build of a simple AI behavior tree test

I’ve marked where the spawning of the bot is occurring

shortly thereafter the crash occurs.

In my BT I just have simple code, some custom decorators and such, but everything works perfectly in the Editor PIE and from commandline :slight_smile:

The crash is instant, right at the instantiating of the BT which makes me feel like it something you can fix on your side :slight_smile:

Have fun today!

Rama

#The Crash (Open in New Tab to see better)

I picked the most conservative OS color scheme I could think of for the presentation of this pic

#Text

I print the message BlackBoardValid!!! in the begin play of the AIController after verifying it has a valid blackboard

[2014.06.08-01.57.45:967][393]LogBlueprintUserMessages: BlackBoardValid!!!
[2014.06.08-01.57.48:027][393]LogWindows: === Critical error: ===


[2014.06.08-01.57.48:027][393]LogWindows: Fatal error!

StaticDuplicateObject() 0x3fd3392c + 9 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\coreuobject\private\uobject\uobjectglobals.cpp:1346] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
InitializeNodeHelper() 0x40a39591 + 113 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\ai\behaviortree\behaviortreemanager.cpp:123] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
InitializeNodeHelper() 0x40a39815 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\ai\behaviortree\behaviortreemanager.cpp:118] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UBehaviorTreeManager::LoadTree() 0x40a3c24e + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\ai\behaviortree\behaviortreemanager.cpp:193] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UBehaviorTreeComponent::PushInstance() 0x40a42b11 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\ai\behaviortree\behaviortreecomponent.cpp:1229] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UBehaviorTreeComponent::StartTree() 0x40a4b530 + 22 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\ai\behaviortree\behaviortreecomponent.cpp:121] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
AAIController::RunBehaviorTree() 0x403d43ad + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\aicontroller.cpp:655] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UKismetAIHelperLibrary::SpawnAIFromClass() 0x4066fbaf + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\kismetaihelperlibrary.cpp:114] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UKismetAIHelperLibrary::execSpawnAIFromClass() 0x41361d55 + 437 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\classes\kismet\kismetaihelperlibrary.h:14] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UObject::CallFunction() 0x3fcee9ee + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:381] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UObject::ProcessContextOpcode() 0x3fcfedba + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1371] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UObject::execLetObj() 0x3fd0e00a + 26 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:1210] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UObject::ProcessInternal() 0x3fd00230 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:561] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UObject::CallFunction() 0x3fceef02 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:490] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UObject::ProcessInternal() 0x3fd00230 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:561] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UObject::ProcessEvent() 0x3fcffa1b + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\coreuobject\private\uobject\scriptcore.cpp:871] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
AActor::ProcessEvent() 0x403cd867 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\actor.cpp:604] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UPlayerInput::ProcessInputStack() 0x40ea2275 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\userinterface\playerinput.cpp:1015] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
APlayerController::ProcessPlayerInput() 0x4075d2eb + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\playercontroller.cpp:2227] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
APlayerController::PlayerTick() 0x4075be35 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\playercontroller.cpp:1909] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
APlayerController::TickActor() 0x40767ee2 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\playercontroller.cpp:3460] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
FActorTickFunction::ExecuteTick() 0x403b5902 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\actor.cpp:185] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
FTickTaskSequencer::FTickFunctionTask::DoTask() 0x4096e79c + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\ticktaskmanager.cpp:320] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
TGraphTask<FTickTaskSequencer::FTickFunctionTask>::ExecuteTask() 0x4097e019 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\core\public\async\taskgraphinterfaces.h:637] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
FTaskThread::ProcessTasks() 0x3f96a030 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\core\private\async\taskgraph.cpp:321] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
FTaskThread::ProcessTasksUntilQuit() 0x3f96a1dd + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\core\private\async\taskgraph.cpp:173] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
FTaskGraphImplementation::WaitUntilTasksComplete() 0x3f97982d + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\core\private\async\taskgraph.cpp:853] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
FTaskGraphInterface::WaitUntilTaskCompletes() 0x3faca595 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\core\public\async\taskgraphinterfaces.h:183] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
FTickTaskSequencer::ReleaseTickGroup() 0x409b4bf4 + 274 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\ticktaskmanager.cpp:185] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
FTickTaskManager::RunTickGroup() 0x409bf76d + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\ticktaskmanager.cpp:718] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UWorld::RunTickGroup() 0x406a1685 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\leveltick.cpp:693] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UWorld::Tick() 0x406a688b + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\leveltick.cpp:1114] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
UGameEngine::Tick() 0x40584693 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\engine\private\gameengine.cpp:897] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
FEngineLoop::Tick() 0x3f930538 + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\launchengineloop.cpp:2091] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
GuardedMain() 0x3f9269dc + 0 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\launch.cpp:132] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
GuardedMainWrapper() 0x3f926a2a + 5 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\windows\launchwindows.cpp:125] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
WinMain() 0x3f9319f7 + 17 bytes [File=e:\victoryue4\unrealengine-4.2\engine\source\runtime\launch\private\windows\launchwindows.cpp:207] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
__tmainCRTStartup() 0x41d401a1 + 21 bytes [File=f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c:618] [in E:\DJ\PackagedDevelopment\WindowsNoEditor\DJProject\Binaries\Win64\DJProject.exe]
Address = 0x76cc652d (filename not found) [in C:\Windows\system32\kernel32.dll]
Address = 0x76dfc521 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]
Address = 0x76dfc521 (filename not found) [in C:\Windows\SYSTEM32\ntdll.dll]

[2014.06.08-01.57.48:055][393]LogWindows:Warning: Couldn't start up the Auto Reporting process!
[2014.06.08-01.57.48:055][393]LogMemory: Platform Memory Stats for WindowsNoEditor
[2014.06.08-01.57.48:055][393]LogMemory: Process Physical Memory: 288.91 MB used, 288.92 MB peak
[2014.06.08-01.57.48:056][393]LogMemory: Process Virtual Memory: 280.53 MB used, 280.66 MB peak
[2014.06.08-01.57.48:056][393]LogMemory: Physical Memory: 2455.95 MB used, 8110.17 MB total
[2014.06.08-01.57.48:056][393]LogMemory: Virtual Memory: 584.77 MB used, 8388608.00 MB total
[2014.06.08-01.57.52:129][393]LogExit: Executing StaticShutdownAfterError
[2014.06.08-01.57.52:133][393]LogWindows: FPlatformMisc::RequestExit(1)
[2014.06.08-01.57.52:133][393]Log file closed, 06/07/14 21:57:52

Thanks for reporting this issue. I’ve just tried to reproduce it locally on 4.2 release, but without any luck. It means that it’s a problem related to that particular asset, or there were some other conditions that I skipped. However, code should handle it more gracefully than crashing :wink:

Can you try again after recreating behavior tree asset? Crash occurred because there were some empty entries in arrays holding BT nodes and this is usually auto corrected during asset save. Maybe it got broken, or maybe asset was created on older release.