From 7d65d9ad3fe31452efc2b5a45ee68e363c5f3708 Mon Sep 17 00:00:00 2001 From: Sergey Kaplun Date: Thu, 5 Sep 2024 12:44:37 +0300 Subject: [PATCH] test: off JIT for routines in This patch is a follow-up to the commit 6a3a97cd8111a2164143fcf81439f70588e0be42 ("test: enable LuaJIT test"). The enabled test may raise an error for the specific builds (see [1], for example) when the stack overflow error is raised on the trace exit during the restoration from the snapshot. In that case, LuaJIT VM can't restore the full traceback, and the corresponding check in the test is failed. This patch disables JIT for these functions with recursive calls to avoid such failures. [1]: https://github.com/tarantool/luajit/actions/runs/10717386746 Follows up tarantool/tarantool#9398 Reviewed-by: Maxim Kokryashkin Reviewed-by: Sergey Bronnikov Signed-off-by: Sergey Kaplun (cherry picked from commit ff62d0cf991aafc1421dcf9452b6bb5dfeebc9dd) --- test/LuaJIT-tests/lang/stackov.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/LuaJIT-tests/lang/stackov.lua b/test/LuaJIT-tests/lang/stackov.lua index 21ae40b605..8afa86b4c5 100644 --- a/test/LuaJIT-tests/lang/stackov.lua +++ b/test/LuaJIT-tests/lang/stackov.lua @@ -1,18 +1,22 @@ local function f() f() end +jit.off(f) local function g(i) g(i) end +jit.off(g) local function vtail(...) return vtail(1, ...) end +jit.off(vtail) local function vcall(...) vcall(1, ...) end +jit.off(vcall) local function test_error_msg(func, s) local first = string.match(s, "[^\n]+")