The Problem
Since the update(s) a day or 2 ago, most (if not all) XBox users for our game SEO have been unable to play due to multiple services not responding, and instances taking longer to load than usual, effectively stalling just about everything client sided.
The Details
I don’t have an Xbox personally to test this myself, though this is what we were able to gather from players who do use Xbox, and we know none of this happens on any other device. Unfortunately, the XBox emulation that is provided by Studio doesn’t allow us to find the same problems as an actual Xbox would provide.
We use a custom character selection screen for our game that makes use of services like MarketPlaceService, StarterGui, ContentProvider, etc; calling roughly 7 of them at the very start of the script for multiple uses. This runs from StarterPlayerScripts since the player doesn’t spawn in; we use a custom spawning method due to having custom character models. Fetching the services themselves work just fine, but attempting to call a function on one of the services causes the script to flat-out stall, and thus cannot spawn in. It gives no errors; wrapping it in pcall or error-checking doesn’t help (with no errors provided, of course). Even using a function on a LocalPlayer will stall, such as using GetRankInGroup(). This appears to happen 100% of the time.
EDIT (07/27/2020 11:52 AM EST)
It appears to specifically be with Services that require fetching information from the site, such as MarketPlaceService. Using something like StarterGui seems to work fine.
EDIT (08/04/2020 01:55 PM EST)
This appears to only happen in the case that you have not initially spawned into the game, likely due to having CharacterAutoLoads disabled. Fetching information from the site after having spawned in once will appear to work accordingly.
Reproduction…?
The strangest part is that it only appears to be happening in that game specifically, I believe? I attempted a similar situation on another game on my profile, but it worked perfectly fine on there for the user who was willing to assist. With that in mind, I don’t think I can give a reproduction place to test with (and not exactly comfortable sharing all of the code).
This is an example of what causes it to freeze:
local Player = game.Players.LocalPlayer
local S,IsAboveCertainRank = pcall(Player.GetRankInGroup,Player,3371645)
IsAboveCertainRank = S and IsAboveCertainRank>=5 or false
I wish I had more information (or any evidence) to give or any sort of reproduction method/place, but I’m still unsure of the nature of the issue myself, and can only tell that something goes wrong every time a function upon a service or player is called.