Faster Lua VM: Production test run, take 2

Roblox-flavored Lua was usually called “RBX.Lua” whenever the distinction was needed.

4 Likes

This game is now broken. Could the new Lua VM be temporarily disabled here for now?

(Worth noting that this is a universe & I don’t know if disabling it would apply to all the games. If not, could you disable this one too?)

This is one of the lines of code that now breaks the game:

image

Error says “Cannot convert mixed or non-array tables: keys must be strings” so there may be something that’s preventing it from being sent and causing it to error.

Maybe this isn’t good practice in the first place, but I would assume this isn’t intended behavior given it did not have any issues before.

2 Likes

Was that aray you typoing or was that the actual error message that had a typo?

1 Like

A quick test shows that the location of some of the errors might not be the actual locations:

Screenshot from Roblox Studio

5 Likes

@zeuxcg

I’m having an issue with what seems like the code referencing incorrect variables or garbage collecting variables too quickly, I have no idea. The code was written months ago and has never errored until the start of the test.

It only errors in game, not in studio. I do not have luau enabled in studio but a friend that did was able to replicate the error on studio. There are a few other errors with the same issue in a different form.

Go into the game and click the text button to trigger the error, I also have it unlocked for you to take a copy if needed.

local i = 0 
repeat 
		
	local part = Instance.new("Part")
	part.Parent = workspace
	part.CanCollide = true
	delay(3, function()
		part.Transparency = 1 --line that errors
	end)
		
	i = i + 10
		
	game:GetService("Debris"):AddItem(part, 6)
		
	wait()
	
until i > 100

Can you confirm the thread scheduler isn’t delaying execution of the delay statement? Is there something else running that might be taking up too much cpu time?

The place is open go take a look but the place is empty and only has that script in it so I have to say no.

Yeah, I just reproduced in an empty place. Was replying to what you had before the edit.

Yea I assumed that post was too confusing so I simplified it.

1 Like

From what I’m seeing here, can game be classified as a string? IIRC it would be considered a class and wouldn’t be converted to a string under a table. Not sure about that though.

Uh oh; yeah this seems to be a problem with closing variables in some cases in repeat…until loops specifically. I think you can use an extra do...end scope to work around this, or change this to a while loop.

We have disabled the VM and will fix this and re-enable the VM in a week or two. Thanks for providing a simple repro, it helped a lot!

4 Likes

I know, the point was to trigger the error. The issue I was showing isn’t JSONEncode erroring, but that the error gets printed twice with one being in the “wrong” place. Not really wrong, but makes it easy to confuse, which I think happened to Repotted

3 Likes

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.