From: Sergey Ostanevich <sergos@tarantool.org>
To: Igor Munkin <imun@tarantool.org>
Cc: tarantool-patches@dev.tarantool.org,
Vladislav Shpilevoy <v.shpilevoy@tarantool.org>
Subject: Re: [Tarantool-patches] [PATCH 1/2] test: disable JIT for Lua Fun totable function
Date: Sun, 21 Jun 2020 13:26:26 +0300 [thread overview]
Message-ID: <20200621102626.GA16381@tarantool.org> (raw)
In-Reply-To: <dd1d4a30c5f5daa0505a1538b6dc2a4594f9dfc9.1592597647.git.imun@tarantool.org>
Hi!
Thanks for the patch!
AFAIU you just fix one of our test. Is it make sence to fix the library
code in fun.lua to bring the fix for all cutomers?
Also, as soon as we know the #584 essence - how hard will it be to test
all Tarantool libs for this bug?
Regards,
Sergos
On 19 Jun 23:40, Igor Munkin wrote:
> JIT compiler can generate invalid trace for <totable> function breaking
> its semantics (see LuaJIT/LuaJIT#584). Since interpreter works fine and
> produces right results, disabling JIT for this function (and all its
> subfunctions) stops execution failures.
>
> Relates to LuaJIT/LuaJIT#584
> Fixes #4252
>
> Signed-off-by: Igor Munkin <imun@tarantool.org>
> ---
> test/box-tap/key_def.test.lua | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/test/box-tap/key_def.test.lua b/test/box-tap/key_def.test.lua
> index d7dbf5b88..ce7a3cb63 100755
> --- a/test/box-tap/key_def.test.lua
> +++ b/test/box-tap/key_def.test.lua
> @@ -4,6 +4,14 @@ local tap = require('tap')
> local ffi = require('ffi')
> local json = require('json')
> local fun = require('fun')
> +
> +-- Fix for gh-4252: to prevent invalid trace assembling (see
> +-- LuaJIT/LuaJIT#584) disable JIT for fun.totable function and
> +-- method (these functions are different GCfunc objects) and all
> +-- their subfunctions.
> +jit.off(fun.totable, true)
> +jit.off(fun.iter({}).totable, true)
> +
> local key_def_lib = require('key_def')
>
> local usage_error = 'Bad params, use: key_def.new({' ..
> --
> 2.25.0
>
next prev parent reply other threads:[~2020-06-21 10:26 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-19 20:50 [Tarantool-patches] [PATCH 0/2] Reduce Lua GC pressure in Tarantool Igor Munkin
2020-06-19 20:40 ` [Tarantool-patches] [PATCH 1/2] test: disable JIT for Lua Fun totable function Igor Munkin
2020-06-21 10:26 ` Sergey Ostanevich [this message]
2020-06-21 20:24 ` Igor Munkin
2020-06-25 9:43 ` Sergey Ostanevich
2020-06-26 11:11 ` Igor Munkin
2020-06-26 13:11 ` Igor Munkin
2020-06-23 18:04 ` Igor Munkin
2020-06-23 18:45 ` Alexander V. Tikhonov
2020-06-23 21:58 ` Igor Munkin
2020-06-19 20:40 ` [Tarantool-patches] [PATCH 2/2] box: reduce box_process_lua Lua GC memory usage Igor Munkin
2020-06-20 17:42 ` Vladislav Shpilevoy
2020-06-20 21:24 ` Igor Munkin
2020-06-21 10:27 ` Sergey Ostanevich
2020-06-21 10:40 ` Igor Munkin
2020-06-21 15:35 ` Vladislav Shpilevoy
2020-06-21 19:09 ` Igor Munkin
2020-06-22 22:54 ` [Tarantool-patches] [PATCH 0/2] Reduce Lua GC pressure in Tarantool Vladislav Shpilevoy
2020-06-23 21:06 ` Vladislav Shpilevoy
2020-06-23 21:58 ` Igor Munkin
2020-06-23 21:59 ` Igor Munkin
2020-06-27 13:22 ` Igor Munkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200621102626.GA16381@tarantool.org \
--to=sergos@tarantool.org \
--cc=imun@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--cc=v.shpilevoy@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH 1/2] test: disable JIT for Lua Fun totable function' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox