MarekRonson5
Replied on January 8, 2021
So a little addition from my point of view.
Games from Microsoft contain a degree of protection to encrypt the storage used in a part method of their Digital Rights Management etc.
To enable this to function, part of this is supplied by the Windows Storage Service as an underlying layer to provide this method of protecting the game. Storage Services provide other functions as well as security on storage devices typically only used in Server based environments or with specific third party products that need a low level interface with some of the storage functions provided by Windows itself.
Other game loaders and vendors, Steam, Epic, Origin do not use this method as they are not simply providing a subscription based service where some degree of control with DRM is needed where the game code sits on your PC.
Microsoft don't want you playing it once it has gone from Game Pass unless you purchase it. (Seems reasonable enough)
The DLL that shows as crashing is a commonly used piece of code for C Runtime.
It is not this that normally causes the crash but the program using that code library. In this case Explorer.
Windows 10 starts many applications before you login that reside in 'User-Land' , they have to wait ( or fight ) responses from underlying services that provide key system functions that when enabled need to start up first.
Previous versions of Windows did not do this in quite the same way as Windows 10, hence one of the benefits is in the right situation Windows 10 can startup and be ready to login quicker than before.
But all this needs everything to either share or wait fairly patiently for something else to finish first.
It seems once enabled Windows 10 will make the Storage Service fire up way before other 'User-Land' applications (such as Explorer) in order to provide the Xbox Games installed available before you have logged in and want to play them.
It will do this no matter how it is configured once enabled as it will be triggered on demand by the Xbox services as they need to check the games installed and they need Storage Services running to do that.
Explorer is now being held ransom whilst this goes on in the background as it gets some way into its normal checks and then gets told it cant have what it wants being served up by ucrtbase.dll code.
Either
1) A function of the Xbox Game software is using another piece of code that is being way too greedy for Explorer to get a timely response as it tries to start up in the background before a login is completed. It will keep crashing as it tries to run its normal storage lookups to see what devices and drives are available among other things it typically looks for at startup.
2) A piece of the Storage Services code is being used exclusively (not entirely true depending on thread model used by code) by the Xbox Game software as it checks games installed and paths where they are stored for its normal startup and Explorer cannot get any response via the ucrtbase.dll it is calling until that has finished. A few minutes later (depending on PC specs, storage, etc) Explorer finally gets to finish off its startup as normal.
Regardless, it is a giant PITA for anyone who wants to use Game Pass on a PC !
I haven't got anywhere near debugging which function, code thread or something that should not be mutually exclusive used by the Xbox Software to protect the storage is triggering it yet and stopping Explorer getting on with its normal startup.
The protection method they use with the games causes other problems apart from this, but has to be tied into part of the Windows OS at a fairly deep level to avoid trivial removal of the protection and the DRM part of Game Pass.
I don't think this has as much impact with being fixed by Microsoft as opposed to a weakness in the Storage Services code for example that could be exploited and either used to inject malware at storage level system calls or something similar to remove encryption that protects storage used by games for example.
Let's hope this gets a bit more attention from the right team who have either had their code affected by a security fix or caused the problem and aren't in a hurry to change it to fix a problem with PC's with the Xbox / Game Pass installed.
Marek.