cook determinism issue found in PoseSearch when doing a "-diffonly" cook.
We see a number of worker threads using a UPoseSearchSchema for their processing but the main thread calls UPoseSearchSchema::ResetFinalize() which resets its data and all the worker threads are now trying to access an invalid Schema.
Occurs frequently but not always so looks like a timing issue. it seems to be due to Schema getting scheduled for cooking just when the PoseSearch are using the asset
original UDN: https://udn.unrealengine.com/s/case/500QP00000DadUpYAJ/posesearch-and-cook-determinism?fromCase=1
Main thread:
UnrealEditor-PoseSearch.dll!UPoseSearchSchema::ResetFinalize() Line 213 C++
UnrealEditor-PoseSearch.dll!UPoseSearchSchema::Finalize() Line 224 C++
UnrealEditor-PoseSearch.dll!UPoseSearchSchema::PreSave(FObjectPreSaveContext ObjectSaveContext) Line 318 C++
UnrealEditor-CoreUObject.dll!UE::SavePackageUtilities::CallPreSave(UObject * Object, FObjectSaveContextData & ObjectSaveContext) Line 672 C++
UnrealEditor-CoreUObject.dll!`anonymous namespace'::RoutePresave(FSaveContext & SaveContext) Line 280 C++
UnrealEditor-CoreUObject.dll!UPackage::Save2(UPackage * InPackage, UObject * InAsset, const wchar_t * InFilename, const FSavePackageArgs & SaveArgs) Line 3108 C++
UnrealEditor-CoreUObject.dll!UPackage::Save(UPackage * InOuter, UObject * InAsset, const wchar_t * Filename, const FSavePackageArgs & SaveArgs) Line 20 C++
UnrealEditor-UnrealEd.dll!UEditorEngine::Save(UPackage * InOuter, UObject * InAsset, const wchar_t * Filename, const FSavePackageArgs & InSaveArgs) Line 4887 C++
UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::SaveCookedPackage(UE::Cook::FSaveCookedPackageContext & Context) Line 6173 C++
UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::PumpSaves(UE::Cook::FTickStackData & StackData, unsigned int DesiredQueueLength, int & OutNumPushed, bool & bOutBusy) Line 4739 C++
[Inline Frame] UnrealEditor-UnrealEd.dll!IsEngineExitRequested() Line 390 C++
UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::TickMainCookLoop(UE::Cook::FTickStackData & StackData) Line 1463 C++
UnrealEditor-UnrealEd.dll!UCookOnTheFlyServer::TickCookByTheBook(const float TimeSlice, ECookTickFlags TickFlags) Line 1345 C++
UnrealEditor-UnrealEd.dll!UCookCommandlet::RunCookByTheBookCook(UCookOnTheFlyServer * CookOnTheFlyServer, void * StartupOptionsAsVoid, ECookByTheBookOptions CookOptions) Line 583 C++
UnrealEditor-UnrealEd.dll!UCookCommandlet::CookByTheBook(const TArray<ITargetPlatform *,TSizedDefaultAllocator<32>> & Platforms) Line 536 C++
UnrealEditor-UnrealEd.dll!UCookCommandlet::Main(const FString & CmdLineParams) Line 252 C++
UnrealEditor.exe!FEngineLoop::PreInitPostStartupScreen(const wchar_t * CmdLine) Line 4239 C++
[Inline Frame] UnrealEditor.exe!FEngineLoop::PreInit(const wchar_t *) Line 4527 C++
[Inline Frame] UnrealEditor.exe!EnginePreInit(const wchar_t *) Line 44 C++
UnrealEditor.exe!GuardedMain(const wchar_t * CmdLine) Line 139 C++
UnrealEditor.exe!LaunchWindowsStartup(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * __formal, int nCmdShow, const wchar_t * CmdLine) Line 251 C++
UnrealEditor.exe!WinMain(HINSTANCE__ * hInInstance, HINSTANCE__ * hPrevInstance, char * pCmdLine, int nCmdShow) Line 314 C++
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-218880 in the post.
0 |
Component | UE - Anim - Gameplay |
---|---|
Target Fix | 5.5 |
Fix Commit | 34966245 |
---|
Created | Jun 26, 2024 |
---|---|
Resolved | Jul 21, 2024 |
Updated | Aug 21, 2024 |