Hello,
this question was created in reference to: [PSO collection [Content removed] so I will just write what I have found out about it, and what was the fix for us.
Although I am not sure if it is hiding some bigger threading issue or if it is “proper” fix?
I think that something like this is happening based on some extra logs:
- New RequestA is created in PrecachePSOs and its collection task is dispatched and finished
- RequestA is waiting for compilation task
- RequestA is released ReleasePrecacheData before the compilation task finishes
- New RequestB is created for the same FMaterialPSOPrecacheParams. As the RequestA was released it will not find it and again new collection task is dispatched
- RequestA finished compilation task and invokes MarkCompilationComplete, where based on precache params it finds the new RequestB instead, which is not finished yet and the assert hits.
For example what i saw in logs:
[-14.16.19] [BoostPriority] RequestID: 5108
[-14.16.33] [ReleasePrecacheData] RequestID: 5108
[-14.18.07] [MarkCompilationComplete] RequestID: 5108, precache result RequestID: 6823
So we pass also the RequestID in:
[Image Removed]