Humanoid:ApplyDescriptionReset() crashes studio and/or servers if no humanoid description is applied to the humanoid before the call

A detailed description - If you attempt to call Humanoid:ApplyDescriptionReset() on a humanoid when this humanoid has no applied description, the server will crash, including live games and studio.

Where it happens - Both studio and in-game. Should you do it in studio, studio will crash, if you do it in-game, the entire server will crash.

When it happens - First noticed it June 2nd at 4:16 AM AST.

Videos and images

Reproduction instructions -
1- At runtime, call Humanoid:ApplyDescriptionReset() on a humanoid that does not have an applied description. For example, put this in a script inside of a dummy with a humanoid and then attempt to playtest:

script.Parent.Humanoid:ApplyDescriptionReset(Instance.new('HumanoidDescription'))

2- If in studio, observe that studio crashes. If in a game, observe as the server crashes (all clients disconnect), or observe that the client will refuse to connect (error code 17 or disconnect).

Also would like to add that this does not cause the server to crash if the humanoid has an existing humanoid description applied. The following will not cause the server or client to crash:

script.Parent.Humanoid:ApplyDescription(Instance.new('HumanoidDescription'))
script.Parent.Humanoid:ApplyDescriptionReset(Instance.new('HumanoidDescription'))

Reproduction files -
hum desc.rbxl (38.4 KB)

Logs:
https://devforum.roblox.com/t/logscrash-dumps/1819130

3 Likes

Thanks for the report. We will fix this shortly (in the meantime you can place a HumanoidDescription beneath the Humanoid and it will avoid the crash)

5 Likes