Description

User reports that they've been running into an intermittent crash in Pose Search during Cook. Pose Search attempts to index data outside the bounds of an array. Based on the logs, each asset seems to be canceled, and then its BeginCache happens. When looking at the associated Cook code, it seems like a race condition may be possible. More investigation is needed.

Callstack

libUnrealEditor-PoseSearch.so!UE::PoseSearch::FFeatureVectorHelper::EncodeVector(TArrayView<float, int>, int, UE::Math::TVector<double> const&, EComponentStrippingVector, bool) [/src/engine/Engine/Source/./../Plugins/Animation/PoseSearch/Source/Runtime/Private/PoseSearchFeatureChannel.cpp:72]libUnrealEditor-PoseSearch.so!UPoseSearchFeatureChannel_Velocity::IndexAsset(UE::PoseSearch::FAssetIndexer&) const [/src/engine/Engine/Source/./../Plugins/Animation/PoseSearch/Source/Runtime/Private/PoseSearchFeatureChannel_Velocity.cpp:176]libUnrealEditor-PoseSearch.so!UPoseSearchFeatureChannel_GroupBase::IndexAsset(UE::PoseSearch::FAssetIndexer&) const [/src/engine/Engine/Source/./../Plugins/Animation/PoseSearch/Source/Runtime/Private/PoseSearchFeatureChannel_Group.cpp:52]libUnrealEditor-PoseSearch.so!UE::PoseSearch::FAssetIndexer::Process(int) [/src/engine/Engine/Source/./../Plugins/Animation/PoseSearch/Source/Runtime/Private/PoseSearchAssetIndexer.cpp:269]libUnrealEditor-PoseSearch.so!void ParallelForImpl::ParallelForInternal<TFunctionRef<void (int)>, ParallelFor(int, TFunctionRef<void (int)>, EParallelForFlags)::'lambda'(), std::nullptr_t>(char16_t const*, int, int, TFunctionRef<void (int)>, ParallelFor(int, TFunctionRef<void (int)>, EParallelForFlags)::'lambda'(), EParallelForFlags, TArrayView<std::nullptr_t, int> const&)::FParallelExecutor::operator()(bool) const [/src/engine/Engine/Source/Runtime/Core/Public/Async/ParallelFor.h:353]libUnrealEditor-PoseSearch.so!LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask* (bool), 48u>::TTaskDelegateImpl<void LowLevelTasks::FTask::Init<void ParallelForImpl::ParallelForInternal<TFunctionRef<void (int)>, ParallelFor(int, TFunctionRef<void (int)>, EParallelForFlags)::'lambda'(), std::nullptr_t>(char16_t const*, int, int, TFunctionRef<void (int)>, ParallelFor(int, TFunctionRef<void (int)>, EParallelForFlags)::'lambda'(), EParallelForFlags, TArrayView<std::nullptr_t, int> const&)::FParallelExecutor>(char16_t const*, LowLevelTasks::ETaskPriority, TFunctionRef<void (int)>&&, LowLevelTasks::ETaskFlags)::'lambda'(bool), false>::CallAndMove(LowLevelTasks::TTaskDelegate<LowLevelTasks::FTask* (bool), 48u>&, void*, unsigned int, bool) [/src/engine/Engine/Source/Runtime/Core/Public/Async/Fundamental/TaskDelegate.h:171]libUnrealEditor-Core.so!LowLevelTasks::FTask::ExecuteTask() [/src/engine/Engine/Source/Runtime/Core/Public/Async/Fundamental/Task.h:627]libUnrealEditor-Core.so!LowLevelTasks::FScheduler::ExecuteTask(LowLevelTasks::FTask*) [/src/engine/Engine/Source/./Runtime/Core/Private/Async/Fundamental/Scheduler.cpp:177]libUnrealEditor-Core.so!LowLevelTasks::FScheduler::WorkerMain(LowLevelTasks::Private::FWaitEvent*, LowLevelTasks::Private::TLocalQueueRegistry<1024u>::TLocalQueue*, unsigned int, bool) [/src/engine/Engine/Source/./Runtime/Core/Private/Async/Fundamental/Scheduler.cpp:396]libUnrealEditor-Core.so!FThreadImpl::Run() [/src/engine/Engine/Source/./Runtime/Core/Private/HAL/Thread.cpp:66]libUnrealEditor-Core.so!FRunnableThreadPThread::Run() [/src/engine/Engine/Source/./Runtime/Core/Private/HAL/PThreadRunnableThread.cpp:25]libUnrealEditor-Core.so!FRunnableThreadPThread::_ThreadProc(void*) [/src/engine/Engine/Source/Runtime/Core/Private/HAL/PThreadRunnableThread.h:187]libc.so.6!UnknownFunction(0x94ac2){}{{libc.so.6!UnknownFunction(0x12684f){}}}

Have Comments or More Details?

There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-240302 in the post.

0
Login to Vote

Unresolved
ComponentUE - Anim - Gameplay
Affects Versions5.4
CreatedJan 27, 2025
UpdatedJan 30, 2025
View Jira Issue