FloatCurve property now causes severe game crash

Reproduction Steps
We use FloatCurve to create smooth display effects on SurfaceGui’s.

  • We’ve created an uncopylocked game to reproduce the issue consistently here: FloatCurve Test

  • You can join this game to see the network error.

  • The controller is located in ServerScriptService.

Expected Behavior

Actual Behavior
As of today’s Roblox patch or feature update, parenting this property to a surfacegui consistently crashes the server.

Player is disconnected shortly after joining with the error "There was a problem receiving data, please reconnect. (error Code: 260) or "this experience is currently unavailable, Please try again later (error Code: 517)

This thread here is what lead to this specific bug report: New servers unable to be created, unable to join


Code used to produce this issue, generating the FloatCurve property:

local ui = script.Parent.UI:Clone()

local GUI = ui

ui.Parent = workspace.Part

local oldPrint = print 
local print = function(...)

local GrowthCurve = Instance.new("FloatCurve")
print("made float curve")
GrowthCurve.Name = "float"
print("inserting key")
GrowthCurve:InsertKey(FloatCurveKey.new(0, 0, Enum.KeyInterpolationMode.Cubic))
print("inserted key")
local middleKey = FloatCurveKey.new(0.5, 0.5, Enum.KeyInterpolationMode.Cubic)
print("making another key")
middleKey.LeftTangent = 2
middleKey.RightTangent = 2
print("inserting middle key")
print("inserted another key")
GrowthCurve:InsertKey(FloatCurveKey.new(1, 1, Enum.KeyInterpolationMode.Cubic))
print("parented to gui")
GrowthCurve.Parent = GUI

Issue Area: Engine
Issue Type: Crashing
Impact: Very High
Frequency: Constantly
Date First Experienced: 2021-11-10 13:11:00 (+00:00)


After doing some testing, it seems that the issue is not the FloatCurve instance itself, but parenting it to another instance. When I created an instance without setting the parent, my experience loaded perfectly fine.


Thanks for the report. We already have a ticket filed in our database regarding this issue and we’ll follow up when we have an update for you.