[Tarantool-patches] [PATCH luajit] Rework stack overflow handling.

Sergey Bronnikov sergeyb at tarantool.org
Fri Jun 6 16:42:30 MSK 2025


Hello,

LGTM with a comment below.

Sergey

On 6/6/25 16:40, Sergey Kaplun wrote:

<snipped>

>>> diff --git a/test/LuaJIT-tests/lang/stackov.lua b/test/LuaJIT-tests/lang/stackov.lua
>>> index 8afa86b4..b052ad80 100644
>>> --- a/test/LuaJIT-tests/lang/stackov.lua
>>> +++ b/test/LuaJIT-tests/lang/stackov.lua
>> I don't get why we need this change. With reverted patch this test is
>> passed.
> With reverted -- yes. But after reworking the stack overflow handling,
> it is possible that there is no place on the stack to call the error
> handler (in that case, `debug.traceback`). Since this thing looks like
> implementation-defined behaviour, I prefer to make the test less strict.
>
Please add a message to the test or/and to the commit message.
>>> @@ -31,13 +31,17 @@ end
>>>    do --- Base test.
>>>      local err, s = xpcall(f, debug.traceback)
>>>      assert(err == false)
>>> -  test_error_msg(f, s)
>>> +  -- There is no place on the stack to invoke the handler.
>>> +  -- Just test the error reason.
>>> +  assert(string.match(s, "stack overflow"))
>>>    end
>>>    
>>>    do --- Stack overflow with non-empty arg list.
>>>      local err, s = xpcall(g, debug.traceback, 1)
>>>      assert(err == false)
>>> -  test_error_msg(g, s)
>>> +  -- There is no place on the stack to invoke the handler.
>>> +  -- Just test the error reason.
>>> +  assert(string.match(s, "stack overflow"))
>>>    end
>>>    
>>>    do --- Vararg tail call with non-empty arg list. +slow
> <snipped>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20250606/44dcc7a8/attachment.htm>


More information about the Tarantool-patches mailing list