Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

app-luattest/http_client_test.lua fails after Lua JIT update #8718

Closed
locker opened this issue May 31, 2023 · 1 comment · Fixed by #8843
Closed

app-luattest/http_client_test.lua fails after Lua JIT update #8718

locker opened this issue May 31, 2023 · 1 comment · Fixed by #8843
Assignees
Labels
3.0 Target is 3.0 and all newer release/master branches bug Something isn't working luajit

Comments

@locker
Copy link
Member

locker commented May 31, 2023

Only the master (3.0) branch seems to be affected. I couldn't reproduce the issue on 2.11 or 2.10.

After commit cde911d was pushed, app-luatest/http_client_test.lua started to fail on CI with the following errors:

    http_client.sock_family:"AF_INET".test_encode_body_method_post_default_content_type_number ... (5.705s) fail
...arantool/tarantool/test/app-luatest/http_client_test.lua:55: connection is ok
expected: 200, actual: 595
    http_client.sock_family:"AF_INET".test_encode_body_method_post_default_content_type_boolean ... (5.198s) fail
...arantool/tarantool/test/app-luatest/http_client_test.lua:55: connection is ok
expected: 200, actual: 595
    http_client.sock_family:"AF_INET".test_body_decoders ... (5.127s) fail
...arantool/tarantool/test/app-luatest/http_client_test.lua:55: connection is ok
expected: 200, actual: 595
    http_client.sock_family:"AF_INET".test_default_body_decoders ... (5.096s) fail
...arantool/tarantool/test/app-luatest/http_client_test.lua:55: connection is ok
expected: 200, actual: 595

The issue can be reproduced locally with (it fails quite often but not always so you might need to run it a few times):

luatest -v test/app-luatest/http_client_test.lua -r 10

Disabling Lua JIT in the test helps.

Patch disabling Lua JIT in the test
diff --git a/test/app-luatest/http_client_test.lua b/test/app-luatest/http_client_test.lua
index b45cc9cc21f5..86f8a102a925 100644
--- a/test/app-luatest/http_client_test.lua
+++ b/test/app-luatest/http_client_test.lua
@@ -5,6 +5,9 @@ local uri = require('uri')
 local os = require('os')
 local t = require('luatest')
 
+jit.off()
+jit.flush()
+
 local g = t.group('http_client', {
     {sock_family = 'AF_INET'},
     {sock_family = 'AF_UNIX'},

NOTE: We disabled Lua JIT in the test in commit 53c94bc. Please roll it back as soon as the bug is fixed.

If you apply the following patch to the test you'll get a more verbose failure log:

Patch making the test more verbose
diff --git a/test/app-luatest/http_client_test.lua b/test/app-luatest/http_client_test.lua
index b45cc9cc21f5..45143420bf74 100644
--- a/test/app-luatest/http_client_test.lua
+++ b/test/app-luatest/http_client_test.lua
@@ -52,7 +52,7 @@ local function start_server(sock_family)
     t.helpers.retrying({}, function()
         local ok, res = pcall(client.get, url, client_opts)
         t.skip_if(not ok, "not supported")
-        t.assert_equals(res.status, 200, "connection is ok")
+        t.assert_covers(res, {status = 200}, "connection is ok")
     end)
 
     return server, url, client_opts
    http_client.sock_family:"AF_INET".test_errors ... (5.753s) fail
...arantool/tarantool/test/app-luatest/http_client_test.lua:55: connection is ok
expected
{
    _decoders = {
        ["application/json"] = function: 0x41323be0,
        ["application/msgpack"] = function: 0x41323c20,
        ["application/yaml"] = function: 0x41323c00,
    },
    reason = "Couldn't resolve host name",
    status = 595,
    url = 5.782961770405e-313,
} to cover
{status = 200}

Note that the url contains a number but it shouldn't be possible because it's initialized with a string:

url = string.format("http://%s/", sock_addr)
t.helpers.retrying({}, function()
local ok, res = pcall(client.get, url, client_opts)
t.skip_if(not ok, "not supported")
t.assert_equals(res.status, 200, "connection is ok")
end)

@locker locker added bug Something isn't working luajit labels May 31, 2023
locker added a commit to locker/tarantool that referenced this issue May 31, 2023
We'll enable it when tarantool#8718 is fixed.

NO_DOC=test
NO_CHANGELOG=test
locker added a commit to locker/tarantool that referenced this issue May 31, 2023
We'll enable it when tarantool#8718 is fixed.

NO_DOC=test
NO_CHANGELOG=test
@locker locker added the 3.0 Target is 3.0 and all newer release/master branches label May 31, 2023
locker added a commit that referenced this issue May 31, 2023
We'll enable it when #8718 is fixed.

NO_DOC=test
NO_CHANGELOG=test
@Buristan
Copy link
Collaborator

Should be fixed via backporting of 2801500a ("Fix use-def analysis for BC_VARG."). I've added this commit to the backport list in #8516. JIT compilation should be enabled after the aforementioned commit is backported.

Buristan pushed a commit to tarantool/luajit that referenced this issue Jun 8, 2023
Reported by Ryan Lucia.

(cherry-picked from commit 2801500)

Use-def analizis for BC_VARG has to strong limit for the top/maxslot, so
no slots may considered as used. This leads to addititional SLOAD on
trace with incorrect value used later. This patch disables the use-def
analisis for BC_VARG as NIY.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
Buristan pushed a commit to tarantool/luajit that referenced this issue Jun 9, 2023
Reported by Ryan Lucia.

(cherry-picked from commit 2801500)

Use-def analizis for BC_VARG has to strong limit for the top/maxslot, so
no slots may considered as used. This leads to addititional SLOAD on
trace with incorrect value used later. This patch disables the use-def
analisis for BC_VARG as NIY.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
Buristan pushed a commit to tarantool/luajit that referenced this issue Jun 9, 2023
Reported by Shmuel Zeigerman.

(cherry-picked from commit 0e53a31)

Use-def analysis for BC_FUNCV may consider slots greater than amount of
non-vararg parameters as dead slots due to early return for BC_RET
emitted before usage of BC_VARG. This patch restricts the maxslot to be
analyzed in such case with amount of parameters for the prototype of the
current function being recorded.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
Buristan pushed a commit to tarantool/luajit that referenced this issue Jun 21, 2023
Reported by Ryan Lucia.

(cherry-picked from commit 2801500)

Use-def analysis for BC_VARG has to strong limit for the top/maxslot, so
no slots may be considered as used. This leads to an addititional SLOAD
on the trace with an incorrect value used later. This patch disables the
use-def analysis for BC_VARG as NIY.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
Buristan pushed a commit to tarantool/luajit that referenced this issue Jun 21, 2023
Reported by Shmuel Zeigerman.

(cherry-picked from commit 0e53a31)

Use-def analysis for BC_FUNCV may consider slots greater than the amount
of non-vararg parameters as dead slots due to the early return (see case
`BCMlit`) for BC_RET emitted before usage of BC_VARG. This patch
restricts the maxslot to be analyzed in such case with the amount of
parameters for the prototype of the current function being recorded.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
Buristan pushed a commit to tarantool/luajit that referenced this issue Jun 23, 2023
Reported by Ryan Lucia.

(cherry-picked from commit 2801500)

Use-def analysis for BC_VARG has too strong limit for the top/maxslot,
so no slots may be considered as used. This leads to an addititional
SLOAD on the trace with an incorrect value used later. This patch
disables the use-def analysis for BC_VARG as NIY.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
Buristan pushed a commit to tarantool/luajit that referenced this issue Jun 23, 2023
Reported by Shmuel Zeigerman.

(cherry-picked from commit 0e53a31)

Use-def analysis for BC_FUNCV may consider slots greater than the amount
of non-vararg parameters as dead slots due to the early return (see case
`BCMlit`) for BC_RET emitted before usage of BC_VARG. This patch
restricts the maxslot to be analyzed in such case with the amount of
parameters for the prototype of the current function being recorded.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
Buristan pushed a commit to tarantool/luajit that referenced this issue Jun 28, 2023
Reported by Ryan Lucia.

(cherry-picked from commit 2801500)

Use-def analysis for BC_VARG has too strong limit for the top/maxslot,
so no slots may be considered as used. This leads to an addititional
SLOAD on the trace with an incorrect value used later. This patch
disables the use-def analysis for BC_VARG as NIY.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
Buristan pushed a commit to tarantool/luajit that referenced this issue Jun 28, 2023
Reported by Shmuel Zeigerman.

(cherry-picked from commit 0e53a31)

Use-def analysis for BC_FUNCV may consider slots greater than the amount
of non-vararg parameters as dead slots due to the early return (see case
`BCMlit`) for BC_RET emitted before usage of BC_VARG. This patch
restricts the maxslot to be analyzed in such case with the amount of
parameters for the prototype of the current function being recorded.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
igormunkin pushed a commit to tarantool/luajit that referenced this issue Jul 4, 2023
Reported by Ryan Lucia.

(cherry-picked from commit 2801500)

Use-def analysis for BC_VARG has too strong limit for the top/maxslot,
so no slots may be considered as used. This leads to an additional
SLOAD on the trace with an incorrect value used later. This patch
disables the use-def analysis for BC_VARG as NYI.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
igormunkin pushed a commit to tarantool/luajit that referenced this issue Jul 4, 2023
Reported by Shmuel Zeigerman.

(cherry-picked from commit 0e53a31)

Use-def analysis for BC_FUNCV may consider slots greater than the amount
of non-vararg parameters as dead slots due to the early return (see case
`BCMlit`) for BC_RET or BC_JMP emitted before usage of BC_VARG. This
patch restricts the maxslot to be analyzed in such case with the amount
of parameters for the prototype of the current function being recorded.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
igormunkin pushed a commit to tarantool/luajit that referenced this issue Jul 4, 2023
Reported by Ryan Lucia.

(cherry-picked from commit 2801500)

Use-def analysis for BC_VARG has too strong limit for the top/maxslot,
so no slots may be considered as used. This leads to an additional
SLOAD on the trace with an incorrect value used later. This patch
disables the use-def analysis for BC_VARG as NYI.

Sergey Kaplun:
* added the description and the test for the problem

Resolves tarantool/tarantool#8718
Part of tarantool/tarantool#8516
igormunkin pushed a commit to tarantool/luajit that referenced this issue Jul 4, 2023
Reported by Shmuel Zeigerman.

(cherry-picked from commit 0e53a31)

Use-def analysis for BC_FUNCV may consider slots greater than the amount
of non-vararg parameters as dead slots due to the early return (see case
`BCMlit`) for BC_RET or BC_JMP emitted before usage of BC_VARG. This
patch restricts the maxslot to be analyzed in such case with the amount
of parameters for the prototype of the current function being recorded.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718
igormunkin pushed a commit to tarantool/luajit that referenced this issue Jul 4, 2023
Reported by Ryan Lucia.

(cherry-picked from commit 2801500)

Use-def analysis for BC_VARG has too strong limit for the top/maxslot,
so no slots may be considered as used. This leads to an additional
SLOAD on the trace with an incorrect value used later. This patch
disables the use-def analysis for BC_VARG as NYI.

Sergey Kaplun:
* added the description and the test for the problem

Resolves tarantool/tarantool#8718
Part of tarantool/tarantool#8516

Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org>
Reviewed-by: Igor Munkin <imun@tarantool.org>
Signed-off-by: Igor Munkin <imun@tarantool.org>
(cherry picked from commit a2ce369)
igormunkin pushed a commit to tarantool/luajit that referenced this issue Jul 4, 2023
Reported by Shmuel Zeigerman.

(cherry-picked from commit 0e53a31)

Use-def analysis for BC_FUNCV may consider slots greater than the amount
of non-vararg parameters as dead slots due to the early return (see case
`BCMlit`) for BC_RET or BC_JMP emitted before usage of BC_VARG. This
patch restricts the maxslot to be analyzed in such case with the amount
of parameters for the prototype of the current function being recorded.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718

Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org>
Reviewed-by: Igor Munkin <imun@tarantool.org>
Signed-off-by: Igor Munkin <imun@tarantool.org>
(cherry picked from commit 7fa0037)
igormunkin pushed a commit to tarantool/luajit that referenced this issue Jul 4, 2023
Reported by Shmuel Zeigerman.

(cherry-picked from commit 0e53a31)

Use-def analysis for BC_FUNCV may consider slots greater than the amount
of non-vararg parameters as dead slots due to the early return (see case
`BCMlit`) for BC_RET or BC_JMP emitted before usage of BC_VARG. This
patch restricts the maxslot to be analyzed in such case with the amount
of parameters for the prototype of the current function being recorded.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718

Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org>
Reviewed-by: Igor Munkin <imun@tarantool.org>
Signed-off-by: Igor Munkin <imun@tarantool.org>
igormunkin pushed a commit to tarantool/luajit that referenced this issue Jul 4, 2023
Reported by Ryan Lucia.

(cherry-picked from commit 2801500)

Use-def analysis for BC_VARG has too strong limit for the top/maxslot,
so no slots may be considered as used. This leads to an additional
SLOAD on the trace with an incorrect value used later. This patch
disables the use-def analysis for BC_VARG as NYI.

Sergey Kaplun:
* added the description and the test for the problem

Resolves tarantool/tarantool#8718
Part of tarantool/tarantool#8516

Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org>
Reviewed-by: Igor Munkin <imun@tarantool.org>
Signed-off-by: Igor Munkin <imun@tarantool.org>
(cherry picked from commit a2ce369)
igormunkin pushed a commit to tarantool/luajit that referenced this issue Jul 4, 2023
Reported by Shmuel Zeigerman.

(cherry-picked from commit 0e53a31)

Use-def analysis for BC_FUNCV may consider slots greater than the amount
of non-vararg parameters as dead slots due to the early return (see case
`BCMlit`) for BC_RET or BC_JMP emitted before usage of BC_VARG. This
patch restricts the maxslot to be analyzed in such case with the amount
of parameters for the prototype of the current function being recorded.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#8516
Relates to tarantool/tarantool#8718

Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org>
Reviewed-by: Igor Munkin <imun@tarantool.org>
Signed-off-by: Igor Munkin <imun@tarantool.org>
(cherry picked from commit 7fa0037)
igormunkin added a commit to igormunkin/tarantool that referenced this issue Jul 4, 2023
* test: fix flaky <unit-jit-parse.test.lua>
* Fix use-def analysis for vararg functions.
* Fix use-def analysis for BC_VARG.
* Fix TNEW load forwarding with instable types.
* Fix memory probing allocator to check for valid end address, too.
* Another fix for lua_yield() from C hook.
* Fix lua_yield() from C hook.
* Fix saved bytecode encapsulated in ELF objects.
* x64: Fix 64 bit shift code generation.
* Fix canonicalization of +-0.0 keys for IR_NEWREF.
* test: add utility for parsing `jit.dump`
* test: split utils.lua into several modules
* test: rewrite lj-49-bad-lightuserdata test in C
* test: rewrite misclib-sysprof-capi test in C
* test: rewrite misclib-getmetrics-capi test in C
* test: introduce utils.h helper for C tests
* test: introduce module for C tests
* test: fix setting of {DY}LD_LIBRARY_PATH variables
* build: fix build with LUAJIT_USE_GDBJIT enabled

Closes tarantool#8718
Part of tarantool#7900
Part of tarantool#8516

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
igormunkin added a commit to igormunkin/tarantool that referenced this issue Jul 4, 2023
* test: fix flaky <unit-jit-parse.test.lua>
* Fix use-def analysis for vararg functions.
* Fix use-def analysis for BC_VARG.
* Fix TNEW load forwarding with instable types.
* Fix memory probing allocator to check for valid end address, too.
* Another fix for lua_yield() from C hook.
* Fix lua_yield() from C hook.
* x64: Fix 64 bit shift code generation.
* Fix canonicalization of +-0.0 keys for IR_NEWREF.
* test: add utility for parsing `jit.dump`
* test: split utils.lua into several modules
* test: rewrite lj-49-bad-lightuserdata test in C
* test: rewrite misclib-sysprof-capi test in C
* test: rewrite misclib-getmetrics-capi test in C
* test: introduce utils.h helper for C tests
* test: introduce module for C tests
* test: fix setting of {DY}LD_LIBRARY_PATH variables
* build: fix build with LUAJIT_USE_GDBJIT enabled
* ci: update the branch name for Tarantool 2.10

Closes tarantool#8718
Part of tarantool#7900
Part of tarantool#8516

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
igormunkin added a commit to igormunkin/tarantool that referenced this issue Jul 4, 2023
* test: fix flaky <unit-jit-parse.test.lua>
* Fix use-def analysis for vararg functions.
* Fix use-def analysis for BC_VARG.
* Fix TNEW load forwarding with instable types.
* Fix memory probing allocator to check for valid end address, too.
* Another fix for lua_yield() from C hook.
* Fix lua_yield() from C hook.
* Fix saved bytecode encapsulated in ELF objects.
* x64: Fix 64 bit shift code generation.
* Fix canonicalization of +-0.0 keys for IR_NEWREF.
* test: add utility for parsing `jit.dump`
* test: split utils.lua into several modules
* test: rewrite lj-49-bad-lightuserdata test in C
* test: rewrite misclib-sysprof-capi test in C
* test: rewrite misclib-getmetrics-capi test in C
* test: introduce utils.h helper for C tests
* test: introduce module for C tests
* test: fix setting of {DY}LD_LIBRARY_PATH variables
* build: fix build with LUAJIT_USE_GDBJIT enabled
* ci: update the branch name for Tarantool 2.11

Closes tarantool#8718
Part of tarantool#7900
Part of tarantool#8516

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
igormunkin added a commit to igormunkin/tarantool that referenced this issue Jul 4, 2023
* test: fix flaky <unit-jit-parse.test.lua>
* Fix use-def analysis for vararg functions.
* Fix use-def analysis for BC_VARG.
* Fix TNEW load forwarding with instable types.
* Fix memory probing allocator to check for valid end address, too.
* Another fix for lua_yield() from C hook.
* Fix lua_yield() from C hook.
* Fix saved bytecode encapsulated in ELF objects.
* x64: Fix 64 bit shift code generation.
* Fix canonicalization of +-0.0 keys for IR_NEWREF.
* test: add utility for parsing `jit.dump`
* test: split utils.lua into several modules
* test: rewrite lj-49-bad-lightuserdata test in C
* test: rewrite misclib-sysprof-capi test in C
* test: rewrite misclib-getmetrics-capi test in C
* test: introduce utils.h helper for C tests
* test: introduce module for C tests
* test: fix setting of {DY}LD_LIBRARY_PATH variables
* build: fix build with LUAJIT_USE_GDBJIT enabled

Closes tarantool#8718
Part of tarantool#7900
Part of tarantool#8516

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
igormunkin added a commit to igormunkin/tarantool that referenced this issue Jul 4, 2023
* test: fix flaky <unit-jit-parse.test.lua>
* Fix use-def analysis for vararg functions.
* Fix use-def analysis for BC_VARG.
* Fix TNEW load forwarding with instable types.
* Fix memory probing allocator to check for valid end address, too.
* Another fix for lua_yield() from C hook.
* Fix lua_yield() from C hook.
* Fix saved bytecode encapsulated in ELF objects.
* x64: Fix 64 bit shift code generation.
* Fix canonicalization of +-0.0 keys for IR_NEWREF.
* test: add utility for parsing `jit.dump`
* test: split utils.lua into several modules
* test: rewrite lj-49-bad-lightuserdata test in C
* test: rewrite misclib-sysprof-capi test in C
* test: rewrite misclib-getmetrics-capi test in C
* test: introduce utils.h helper for C tests
* test: introduce module for C tests
* test: fix setting of {DY}LD_LIBRARY_PATH variables
* build: fix build with LUAJIT_USE_GDBJIT enabled
* ci: update the branch name for Tarantool 2.11

Closes tarantool#8718
Part of tarantool#7900
Part of tarantool#8516

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
igormunkin added a commit to igormunkin/tarantool that referenced this issue Jul 4, 2023
* test: fix flaky <unit-jit-parse.test.lua>
* Fix use-def analysis for vararg functions.
* Fix use-def analysis for BC_VARG.
* Fix TNEW load forwarding with instable types.
* Fix memory probing allocator to check for valid end address, too.
* Another fix for lua_yield() from C hook.
* Fix lua_yield() from C hook.
* x64: Fix 64 bit shift code generation.
* Fix canonicalization of +-0.0 keys for IR_NEWREF.
* test: add utility for parsing `jit.dump`
* test: split utils.lua into several modules
* test: rewrite lj-49-bad-lightuserdata test in C
* test: rewrite misclib-sysprof-capi test in C
* test: rewrite misclib-getmetrics-capi test in C
* test: introduce utils.h helper for C tests
* test: introduce module for C tests
* test: fix setting of {DY}LD_LIBRARY_PATH variables
* build: fix build with LUAJIT_USE_GDBJIT enabled
* ci: update the branch name for Tarantool 2.10

Closes tarantool#8718
Part of tarantool#7900
Part of tarantool#8516

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
igormunkin added a commit that referenced this issue Jul 4, 2023
* test: fix flaky <unit-jit-parse.test.lua>
* Fix use-def analysis for vararg functions.
* Fix use-def analysis for BC_VARG.
* Fix TNEW load forwarding with instable types.
* Fix memory probing allocator to check for valid end address, too.
* Another fix for lua_yield() from C hook.
* Fix lua_yield() from C hook.
* Fix saved bytecode encapsulated in ELF objects.
* x64: Fix 64 bit shift code generation.
* Fix canonicalization of +-0.0 keys for IR_NEWREF.
* test: add utility for parsing `jit.dump`
* test: split utils.lua into several modules
* test: rewrite lj-49-bad-lightuserdata test in C
* test: rewrite misclib-sysprof-capi test in C
* test: rewrite misclib-getmetrics-capi test in C
* test: introduce utils.h helper for C tests
* test: introduce module for C tests
* test: fix setting of {DY}LD_LIBRARY_PATH variables
* build: fix build with LUAJIT_USE_GDBJIT enabled

Closes #8718
Part of #7900
Part of #8516

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
igormunkin added a commit that referenced this issue Jul 4, 2023
* test: fix flaky <unit-jit-parse.test.lua>
* Fix use-def analysis for vararg functions.
* Fix use-def analysis for BC_VARG.
* Fix TNEW load forwarding with instable types.
* Fix memory probing allocator to check for valid end address, too.
* Another fix for lua_yield() from C hook.
* Fix lua_yield() from C hook.
* Fix saved bytecode encapsulated in ELF objects.
* x64: Fix 64 bit shift code generation.
* Fix canonicalization of +-0.0 keys for IR_NEWREF.
* test: add utility for parsing `jit.dump`
* test: split utils.lua into several modules
* test: rewrite lj-49-bad-lightuserdata test in C
* test: rewrite misclib-sysprof-capi test in C
* test: rewrite misclib-getmetrics-capi test in C
* test: introduce utils.h helper for C tests
* test: introduce module for C tests
* test: fix setting of {DY}LD_LIBRARY_PATH variables
* build: fix build with LUAJIT_USE_GDBJIT enabled
* ci: update the branch name for Tarantool 2.11

Closes #8718
Part of #7900
Part of #8516

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
igormunkin added a commit that referenced this issue Jul 4, 2023
* test: fix flaky <unit-jit-parse.test.lua>
* Fix use-def analysis for vararg functions.
* Fix use-def analysis for BC_VARG.
* Fix TNEW load forwarding with instable types.
* Fix memory probing allocator to check for valid end address, too.
* Another fix for lua_yield() from C hook.
* Fix lua_yield() from C hook.
* x64: Fix 64 bit shift code generation.
* Fix canonicalization of +-0.0 keys for IR_NEWREF.
* test: add utility for parsing `jit.dump`
* test: split utils.lua into several modules
* test: rewrite lj-49-bad-lightuserdata test in C
* test: rewrite misclib-sysprof-capi test in C
* test: rewrite misclib-getmetrics-capi test in C
* test: introduce utils.h helper for C tests
* test: introduce module for C tests
* test: fix setting of {DY}LD_LIBRARY_PATH variables
* build: fix build with LUAJIT_USE_GDBJIT enabled
* ci: update the branch name for Tarantool 2.10

Closes #8718
Part of #7900
Part of #8516

NO_DOC=LuaJIT submodule bump
NO_TEST=LuaJIT submodule bump
igormunkin added a commit to igormunkin/tarantool that referenced this issue Jul 27, 2023
This patch reverts the temporary fix introduced in commit
53c94bc ("test: disable Lua JIT in
app-luatest/http_client_test") since the issues with invalid traces
generation for vararg functions are resolved, so JIT machinery can be
enabled back then.

Follows up tarantool#8718
Relates to tarantool#8516

NO_DOC=test
NO_CHANGELOG=test
igormunkin added a commit that referenced this issue Jul 28, 2023
This patch reverts the temporary fix introduced in commit
53c94bc ("test: disable Lua JIT in
app-luatest/http_client_test") since the issues with invalid traces
generation for vararg functions are resolved, so JIT machinery can be
enabled back then.

Follows up #8718
Relates to #8516

NO_DOC=test
NO_CHANGELOG=test
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
3.0 Target is 3.0 and all newer release/master branches bug Something isn't working luajit
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants