Reproduction Steps
No repro currently known, but happens 100% of time for SOME users, but seems related to recent FFlag, which maybe get rolled out slowly?
Expected Behavior
select(index, ...)
when variadic only contains tables should only ever return a table. But for some reason I am getting a NUMBER returned, despite {...}[index]
properly returning table.
Actual Behavior
As of a few hours ago we started getting reports of UI not loading when players join Jailbreak.
I was able to find a user to whom it was occurring, and it is happening 100% of the time they join. I discovered that an error was occurring in Roact, but it’s not Roact related – it’s in the Roact assign
function which uses the select
function. It is being passed completely normal, valid tables from a variadic such as…
local function f(source, ...)
local index = 2
print(select(index, ...))
end
But it is returning a NUMBER value. When I first assign to a table and index into it, it works fine… such as…
local t = {...}
local index = 2
print(t[index])
But interestingly enough, when I tried to isolate for a repro, it seemed to be working fine and not returning number. So I think something deeper in the Luau compiler may be happening here.
So, I took a look at recent FFlags, and noticed that one named LuauCompileSelectBuiltin
which looks suspiciously exactly related to what I am experiencing.
So, despite not having a repro, I have reason to believe this flag is breaking Jailbreak at the moment. Happy to work with any engineer to find more info asap…
Issue Area: Engine
Issue Type: Other
Impact: Very High
Frequency: Constantly
Date First Experienced: 2022-02-01 00:02:00 (-05:00)