Loading is stuck, flush will never finish

No having a RequestedPackage == nullptr is not normal, if you look at

FAsyncLoadingThread2::UpdateSyncLoadContext toward the end of the function, you’ll see we only handle some specific recursive case if we found all packages… why we don’t find anything for index 0 is not clear.

If you look in FAsyncLoadingThread2::CreateAsyncPackagesFromQueue, the only condition where we would not register the package mapping RequestId->Package in RequestIdToPackageMap would be when going through the QueueUnresolvedPackage code path. Which indicate the package you see marked as nullptr is either EPackageStoreEntryStatus::Missing or EPackageStoreEntryStatus::NotInstalled.

Since this seems to happen very early during boot at requestid ~120... you could try to run the LogStreaming logs in veryverbose mode until requestid 150 and turn it back to normal afterward? Probably requires some code change tho in AsyncLoading2.cpp.

Are the logs indicating anything about missing packages?

Unless you load these packages with LOAD_NoWarn or LOAD_Quiet, any call to QueueUnresolvedPackage should issue some warnings.

Let me know if it helps you dig further into the issue.

Thanks

Danny