Reproduction Steps
This error shows up on the client log when the character dies. It happens in Studio and in production.
Players..PlayerScripts.RbxCharacterSounds.AtomicBinding:203: attempt to call a nil value , line 203 - function processDeleteChild
The error is reported to google analytics about one million times per day in my game Growing Up. This is clogging up the network and requires server cpu time which may be impacting players.
Expected Behavior
No message should appear at all.
Actual Behavior
The message displays in the client console window and in the Studio Output window whenever the player dies.
Workaround
I modified the experience to capture this error and exclude it from analytics.
Issue Area: Engine Issue Type: Performance Impact: Moderate Frequency: Constantly Date First Experienced: 2022-04-06 14:04:00 (-07:00)
This was missed because it happens specifically when HumanoidRootPart and Humanoid are deleted before the character leaves the DataModel, which isn’t typically how characters die.
I do some odd character stuff to kind of “obfuscate” the character instances, but looking through the code of the character sounds script, it wasn’t really looking for the humanoid or the rootpart. The entire character disappears and that causes it to break.
I don’t do that intentionally in my game, so I assumed destroying dead characters before loading a new one is default behavior is it not?
I was looking at the error earlier, and that wasn’t even the actual issue. They just forgot a _ with the function. They were doing :function(root) when it was :_function(root) causing it to index a nil value.