Description

A user reported an issue resulting in a crash with callstack pasted below.

After a brief investigation I've found that user was able to successfully compile a blueprint where a function taking an AActor parameter, that defaults to "self" (meta=(DefaultToSelf="Target")) is being used where "self" is an UObject.

This should not compile, and the resulting callstack does not indicate what was the problem.

>	UE4Editor-CoreUObject-Win64-Debug.dll!UObject::CallFunction(FFrame & Stack, void * const Result, UFunction * Function) Line 376	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UObject::execFinalFunction(FFrame & Stack, void * const Result) Line 1537	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FFrame::Step(UObject * Context, void * const Result) Line 126	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UObject::ProcessContextOpcode(FFrame & Stack, void * const Result, bool bCanFailSilently) Line 1451	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UObject::execContext_FailSilent(FFrame & Stack, void * const Result) Line 1434	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FFrame::Step(UObject * Context, void * const Result) Line 126	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UObject::ProcessInternal(FFrame & Stack, void * const Result) Line 625	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UObject::CallFunction(FFrame & Stack, void * const Result, UFunction * Function) Line 516	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UObject::execVirtualFunction(FFrame & Stack, void * const Result) Line 1530	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!FFrame::Step(UObject * Context, void * const Result) Line 126	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UObject::ProcessInternal(FFrame & Stack, void * const Result) Line 625	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UFunction::Invoke(UObject * Obj, FFrame & Stack, void * const Result) Line 3684	C++
 	UE4Editor-CoreUObject-Win64-Debug.dll!UObject::ProcessEvent(UFunction * Function, void * Parms) Line 927	C++
 	UE4Editor-AIModule-Win64-Debug.dll!UBTService_BlueprintBase::ReceiveTickAI(AAIController * OwnerController, APawn * ControlledPawn, float DeltaSeconds) Line 1018	C++
 	UE4Editor-AIModule-Win64-Debug.dll!UBTService_BlueprintBase::TickNode(UBehaviorTreeComponent & OwnerComp, unsigned char * NodeMemory, float DeltaSeconds) Line 117	C++
 	UE4Editor-AIModule-Win64-Debug.dll!UBTService::OnSearchStart(FBehaviorTreeSearchData & SearchData) Line 26	C++
 	UE4Editor-AIModule-Win64-Debug.dll!UBTService_BlueprintBase::OnSearchStart(FBehaviorTreeSearchData & SearchData) Line 109	C++
 	UE4Editor-AIModule-Win64-Debug.dll!UBTService::NotifyParentActivation(FBehaviorTreeSearchData & SearchData) Line 38	C++
 	UE4Editor-AIModule-Win64-Debug.dll!UBTCompositeNode::OnNodeActivation(FBehaviorTreeSearchData & SearchData) Line 136	C++
 	UE4Editor-AIModule-Win64-Debug.dll!UBehaviorTreeComponent::ProcessExecutionRequest() Line 907	C++
 	UE4Editor-AIModule-Win64-Debug.dll!UBehaviorTreeComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction * ThisTickFunction) Line 820	C++
 	UE4Editor-Engine-Win64-Debug.dll!UActorComponent::ConditionalTickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction & ThisTickFunction) Line 1045	C++
 	UE4Editor-Engine-Win64-Debug.dll!FActorComponentTickFunction::ExecuteTick(float DeltaTime, ELevelTick TickType, ENamedThreads::Type CurrentThread, const TRefCountPtr<FGraphEvent> & MyCompletionGraphEvent) Line 602	C++
 	UE4Editor-Engine-Win64-Debug.dll!FTickTaskSequencer::FTickFunctionTask::DoTask(ENamedThreads::Type CurrentThread, const TRefCountPtr<FGraphEvent> & MyCompletionGraphEvent) Line 322	C++
 	UE4Editor-Engine-Win64-Debug.dll!TGraphTask<FTickTaskSequencer::FTickFunctionTask>::ExecuteTask(TArray<FBaseGraphTask *,FDefaultAllocator> & NewTasks, ENamedThreads::Type CurrentThread) Line 669	C++
 	UE4Editor-Core-Win64-Debug.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,FDefaultAllocator> & NewTasks, ENamedThreads::Type CurrentThread) Line 301	C++
 	UE4Editor-Core-Win64-Debug.dll!FTaskThread::ProcessTasks(int QueueIndex, bool bAllowStall) Line 428	C++
 	UE4Editor-Core-Win64-Debug.dll!FTaskThread::ProcessTasksUntilQuit(int QueueIndex) Line 271	C++
 	UE4Editor-Core-Win64-Debug.dll!FTaskGraphImplementation::ProcessThreadUntilRequestReturn(ENamedThreads::Type CurrentThread) Line 940	C++
 	UE4Editor-Core-Win64-Debug.dll!FTaskGraphImplementation::WaitUntilTasksComplete(const TArray<TRefCountPtr<FGraphEvent>,TInlineAllocator<4,FDefaultAllocator> > & Tasks, ENamedThreads::Type CurrentThreadIfKnown) Line 984	C++
 	UE4Editor-Engine-Win64-Debug.dll!FTaskGraphInterface::WaitUntilTaskCompletes(const TRefCountPtr<FGraphEvent> & Task, ENamedThreads::Type CurrentThreadIfKnown) Line 188	C++
 	UE4Editor-Engine-Win64-Debug.dll!FTickTaskSequencer::ReleaseTickGroup(ETickingGroup WorldTickGroup, bool bBlockTillComplete) Line 187	C++
 	UE4Editor-Engine-Win64-Debug.dll!FTickTaskManager::RunTickGroup(ETickingGroup Group, bool bBlockTillComplete) Line 722	C++
 	UE4Editor-Engine-Win64-Debug.dll!UWorld::RunTickGroup(ETickingGroup Group, bool bBlockTillComplete) Line 696	C++
 	UE4Editor-Engine-Win64-Debug.dll!UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Line 1119	C++
 	UE4Editor-UnrealEd-Win64-Debug.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1329	C++
 	UE4Editor-UnrealEd-Win64-Debug.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 347	C++
 	UE4Editor-Win64-Debug.exe!FEngineLoop::Tick() Line 2257	C++
 	UE4Editor-Win64-Debug.exe!EngineTick() Line 52	C++
 	UE4Editor-Win64-Debug.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 145	C++
 	UE4Editor-Win64-Debug.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 191	C++

Steps to Reproduce

1. Create a blueprint class derived from Object
2. In its event graph add a call to GetBlackboard
3. Add a custom event and use the results of previous call, just to make sure it gets compiled
4. Compile the blueprint

Result: it should not compile!

Have Comments or More Details?

Head over to the existing Questions & Answers thread and let us know what's up.

0
Login to Vote

Fixed
ComponentUE - Gameplay - Blueprint
Affects Versions4.7.14.7.2
Target Fix4.8
Fix Commit2471338
CreatedMar 5, 2015
ResolvedMar 6, 2015
UpdatedApr 27, 2018
View Jira Issue