diff --git a/src/Lua/Runtime/LuaVirtualMachine.cs b/src/Lua/Runtime/LuaVirtualMachine.cs index b7ee568d..e8b5af76 100644 --- a/src/Lua/Runtime/LuaVirtualMachine.cs +++ b/src/Lua/Runtime/LuaVirtualMachine.cs @@ -339,6 +339,11 @@ enum PostOperationType internal static ValueTask ExecuteClosureAsync(LuaState state, CancellationToken cancellationToken) { + if (!RuntimeHelpers.TryEnsureSufficientExecutionStack()) + { + throw new LuaStackOverflowException(); + } + ref readonly var frame = ref state.GetCurrentFrame(); var context = VirtualMachineExecutionContext.Get(state, in frame,