Comments (7)
Callstack:
> UE4Editor-DonAINavigation.dll!TSet<AActor * __ptr64,DefaultKeyFuncs<AActor * __ptr64,0>,FDefaultSetAllocator>::FindId(AActor * Key) Line 631 C++
[Inline Frame] UE4Editor-DonAINavigation.dll!TSet<AActor *,DefaultKeyFuncs<AActor *,0>,FDefaultSetAllocator>::Contains(AActor *) Line 728 C++
[Inline Frame] UE4Editor-DonAINavigation.dll!ADonNavigationManager::HasTask(AActor *) Line 1063 C++
UE4Editor-DonAINavigation.dll!UBTTask_FlyTo::SchedulePathfindingRequest(UBehaviorTreeComponent & OwnerComp, unsigned char * NodeMemory) Line 92 C++
UE4Editor-DonAINavigation.dll!UBTTask_FlyTo::ExecuteTask(UBehaviorTreeComponent & OwnerComp, unsigned char * NodeMemory) Line 58 C++
[Inline Frame] UE4Editor-AIModule.dll!UBTTaskNode::WrappedExecuteTask(UBehaviorTreeComponent &) Line 28 C++
UE4Editor-AIModule.dll!UBehaviorTreeComponent::ExecuteTask(UBTTaskNode * TaskNode) Line 1687 C++
UE4Editor-AIModule.dll!UBehaviorTreeComponent::ProcessPendingExecution() Line 1486 C++
UE4Editor-AIModule.dll!UBehaviorTreeComponent::ProcessExecutionRequest() Line 1442 C++
UE4Editor-AIModule.dll!UBehaviorTreeComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction * ThisTickFunction) Line 1172 C++
[Inline Frame] UE4Editor-Engine.dll!FActorComponentTickFunction::ExecuteTick::__l2::<lambda_e8384def656dc646af48282ce274db64>::operator()(float) Line 795 C++
UE4Editor-Engine.dll!FActorComponentTickFunction::ExecuteTickHelper<<lambda_e8384def656dc646af48282ce274db64> >(UActorComponent * Target, bool bTickInEditor, float DeltaTime, ELevelTick TickType, const FActorComponentTickFunction::ExecuteTick::__l2::<lambda_e8384def656dc646af48282ce274db64> & ExecuteTickFunc) Line 3095 C++
UE4Editor-Engine.dll!FActorComponentTickFunction::ExecuteTick(float DeltaTime, ELevelTick TickType, ENamedThreads::Type CurrentThread, const TRefCountPtr<FGraphEvent> & MyCompletionGraphEvent) Line 797 C++
[Inline Frame] UE4Editor-Engine.dll!FTickFunctionTask::DoTask(ENamedThreads::Type) Line 270 C++
UE4Editor-Engine.dll!TGraphTask<FTickFunctionTask>::ExecuteTask(TArray<FBaseGraphTask *,FDefaultAllocator> & NewTasks, ENamedThreads::Type CurrentThread) Line 829 C++
[Inline Frame] UE4Editor-Core.dll!FBaseGraphTask::Execute(TArray<FBaseGraphTask *,FDefaultAllocator> & CurrentThread, ENamedThreads::Type) Line 498 C++
UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksNamedThread(int QueueIndex, bool bAllowStall) Line 665 C++
UE4Editor-Core.dll!FNamedTaskThread::ProcessTasksUntilIdle(int QueueIndex) Line 585 C++
UE4Editor-Engine.dll!FTickTaskSequencer::ReleaseTickGroup(ETickingGroup WorldTickGroup, bool bBlockTillComplete) Line 558 C++
UE4Editor-Engine.dll!FTickTaskManager::RunTickGroup(ETickingGroup Group, bool bBlockTillComplete) Line 1455 C++
UE4Editor-Engine.dll!UWorld::RunTickGroup(ETickingGroup Group, bool bBlockTillComplete) Line 780 C++
UE4Editor-Engine.dll!UWorld::Tick(ELevelTick TickType, float DeltaSeconds) Line 1466 C++
UE4Editor-UnrealEd.dll!UEditorEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 1691 C++
UE4Editor-UnrealEd.dll!UUnrealEdEngine::Tick(float DeltaSeconds, bool bIdleMode) Line 403 C++
UE4Editor.exe!FEngineLoop::Tick() Line 3495 C++
[Inline Frame] UE4Editor.exe!EngineTick() Line 62 C++
UE4Editor.exe!GuardedMain(const wchar_t * CmdLine, HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, int nCmdShow) Line 166 C++
UE4Editor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow) Line 209 C++
[Inline Frame] UE4Editor.exe!invoke_main() Line 102 C++
UE4Editor.exe!__scrt_common_main_seh() Line 283 C++
kernel32.dll!BaseThreadInitThunk�() Unknown
ntdll.dll!RtlUserThreadStart�() Unknown
from donainavigation.
Got the same error and stacktrace. The issue in my case is that the actor which does a pathfinding request is outside of the manager range
NavigationManager = UDonNavigationHelper::DonNavigationManagerForActor(pawn);
if (NavigationManager->HasTask(pawn) && !QueryParams.bForceRescheduleQuery)
return EBTNodeResult::Failed; // early exit instead of going through the manager's internal checks and fallback via HandleTaskFailure (which isn't appropriate here)
NavigationManager is a nullptr here in my case, which results in an incorrect dereference on the next line. Current local code to fix the issue:
NavigationManager = UDonNavigationHelper::DonNavigationManagerForActor(pawn);
if (NavigationManager && NavigationManager->HasTask(pawn) && !QueryParams.bForceRescheduleQuery)
return EBTNodeResult::Failed; // early exit instead of going through the manager's internal checks and fallback via HandleTaskFailure (which isn't appropriate here)
from donainavigation.
The actor was well within the navmesh in my case
from donainavigation.
Another case where it could go wrong, since it really seems to be the same crashsite, is that the moment an actor dies this task is still ran (could be timing related). I.e. if the pawn is a nullptr here, you get the same issue, since then also the manager is not found for the pawn.
from donainavigation.
The crash occurs as soon as the BT is activated. The pawn is alive and well at the time.
from donainavigation.
Why not attach a debugger and find out? It should break at the right spot
from donainavigation.
It breaks on FlyTo
, throws callstack mentioned above. Not much more, if anything, to work with.
from donainavigation.
Related Issues (13)
- multithreading issue HOT 1
- access Raw path data?
- Question: Is it possible to compile for UE v4.5.1? HOT 1
- Build error on UE 4.15 HOT 2
- Up to date fork UE5, UE4.27+ HOT 4
- Seg-fault when using FlyTo BT node in sub-level BTs with `Recalculate Path Tolerance` enabled
- UE5 Packing fail
- The DoNNavigationManager doesn't properly clean up its threads
- Support compilation with UE4 4.16
- Please migrate plugin to 4.16 HOT 4
- Pawn circles around the 'fly-to' destination HOT 1
- Setting bRecalcPathOnDestinationChanged to true on the BTTask_FlyTo node causes the task to always fail HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from donainavigation.