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++
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!
Head over to the existing Questions & Answers thread and let us know what's up.
0 |
Component | UE - Gameplay - Blueprint |
---|---|
Affects Versions | 4.7.1, 4.7.2 |
Target Fix | 4.8 |
Fix Commit | 2471338 |
---|
Created | Mar 5, 2015 |
---|---|
Resolved | Mar 6, 2015 |
Updated | Apr 27, 2018 |