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.
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){}}}
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-240302 in the post.
0 |
Component | UE - Anim - Gameplay |
---|---|
Affects Versions | 5.4 |
Created | Jan 27, 2025 |
---|---|
Updated | Jan 30, 2025 |