I was debugging stuff and hid a block behind "if false then ... end". Upon saving the script, the region crashes and takes a long time to recover. As for why I wasn't commenting it out instead, I have no good explanation other than "block is too long, comments look uglier in my editor".
Said code included a call to LLTimers:every with an anonymous function as the first bit. I culled down the script this this minimal repro (the function call before may not even be necessary, nor the contents of the timer function):
local function setup()
end
setup()
if false then
LLTimers:every(3, function()
ll.SetLinkPrimitiveParamsFast(LINK_THIS, {PRIM_TEXT,
"hi!",
vector(1, 1, 1), 1})
end)
end
I promise to stop testing after crashing 3 out of 4 regions.