Studio Crashes when dealing with modified old chats

I get I am supposed to migrate to the newer chats, but at least allow me to change it without crashing my studio :-1:

2 Likes

I tested on a different game with old chat, it appears that it does not crash on that one. Only on this place file regardless of it being uploaded to a new universe. I am not sure what causes the crash to happen. When learning more about this bug, I figured that you can make the crash instant if you really fast delete all the old chat instances then save the place.

Script used in the video:

for _, child in ipairs(game.Chat:GetDescendants()) do
    child:Destroy()
end

Here is a video of it:

It appears the embedding of videos is not fully functional. Here is the video on youtube: https://youtu.be/ifFid5czEU4

Update: I have found the exact root cause of it. In this experience I used a modified script of the chatservice script and put it inside of ServerScriptService. Obviously for newer work you are not suppose to do this, but keep in mind the game is very old.

Anyway, I disabled all new beta features and I was able to stop the crashing successfully. Then I was able to narrow it down to one script. Without fully knowing what goes on with the internal checks, I believe it has to do with the new chat migration checks. There are something in there that donโ€™t allow you to do exactly what I did.

Repro file:
Bug repro.rbxl (61.7 KB)

This appears to be very inconsistent and there are also other things that will crash studio. For instance inserting this module script anywhere in studio will crash it.

It is not related to invalid serialization. I was able to crash my studio by just copy and pasting the script inside of new script

This script is a snippet of a Bezier module and was narrow down to the relevant crashing parts.

--@recursive

local function binomial(n : number, i : number) : number
	
end

--// Graphing functions \\--

local function graphPoint(t : number, ... : Vector3) : Vector3
	local points = {...}
	local n : number = #points - 1
	local p : Vector3 = nil
	for i = 0, n do
		local x = binomial(n,i)*(1 - t)^(n-i) * t^i * points[i+1] 
		p = p and p + x or x
	end
	return p
end

Salutations!

This issue should be resolved now. Please confirm if thatโ€™s correct on your end.
Thanks for bringing this to our attention.

Have a Nice Day!