Calling `Player:LoadCharacter()` can sometimes infinitely yield

Reproduction Steps
Currently, as of 1/12/22, it is possible for the Player:LoadCharacter() API to infinitely yield, if a backend web request errors or somesuch. This makes it impossible for the server to know that the request failed, and by extension, it cannot attempt to retry loading the player’s character. This results in game logic breaking, players being stuck in limbo while in the server, and more.

Reproduction steps
I was not able to reproduce the API hanging, but it was happening in production.

Expected Behavior
It is expected that LoadCharacter() will spit an error after some amount of time has passed (a timeout), either Roblox-specified or developer-specified (Player:LoadCharacter(Timeout)).

Actual Behavior
Player:LoadCharacter() can infinitely hang in some cases where there was a backend Roblox failure, resulting in a hung server thread, with no chance of recovery.

Workaround
None

Issue Area: Engine
Issue Type: Other
Impact: High
Frequency: Sometimes
Date First Experienced: 2022-01-12 00:01:00 (-05:00)

10 Likes

I can confirm that :LoadCharacter() does yeld infinitely but I’ve only experienced it in studio testing.

100% of the time all other humanoid NPCs meshes (except for the head) and textures in workspace failed to load and were invisible.

only ONCE my character and every other NPC loaded exactly as I enabled the freecam (shift + p) and looked around, It’s a weird coincidence but if there are any loading updates connected to the camera moving or the freecam being enabled in studio then It’s worth investigating.

2 Likes

This bug report might actually be a symptom of this : Player:LoadCharacter() inconsistently errors when player leaves while it is running - #7 by Noble_Draconian

1 Like

I thought this was a bug in my code until I realized it wasn’t This issue also happens to me (in-studio and in-game). This happened quite frequently yesterday (Jan 11th) and it seems okay today (Jan 12th).

1 Like

Thanks for the report! I have filed an ticket for it.

3 Likes

Hey everyone, I wanted to circle back here, is this still an issue?

1 Like

This was allegedly fixed in release 599 26 days ago (Release Notes for 599 | Documentation - Roblox Creator Hub), but the release notes says the fix is still in a “pending” state.

So it is fixed, but the fix is not released.

Ok, I let the engineers know, thanks for the heads up.

1 Like

Unfortunately, the fix in 599 had an error causing R6 games to crash.
Fix with the issue resolved will be included in 604.

2 Likes

This issue has now been fixed, callbacks should be called in all cases.

3 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.