[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