[Tarantool-patches] [PATCH luajit] FFI: Fix various issues in recff_cdata_arith.
Sergey Bronnikov
sergeyb at tarantool.org
Thu Sep 12 14:45:05 MSK 2024
Thanks! LGTM
On 12.09.2024 13:16, Sergey Kaplun wrote:
> On 10.09.24, Sergey Kaplun via Tarantool-patches wrote:
>> Hi, Sergey!
>> Thanks for the review!
>>
>> On 10.09.24, Sergey Bronnikov wrote:
>>> Hi, Sergey,
>>>
>>> On 09.09.2024 18:37, Sergey Bronnikov via Tarantool-patches wrote:
>>>> Hi, Sergey,
>>>>
>>>> thanks for the patch! see my comments below.
>>>>
>>>> On 21.08.2024 19:52, Sergey Kaplun wrote:
>>>>> From: Mike Pall <mike>
>>>>>
>> <snipped>
>>
>>>>> ---
>>>>>
>>>>> Branch:https://github.com/tarantool/luajit/tree/skaplun/lj-1224-fix-jit-cdata-arith
>>>>> Related issues:
>>>>> *https://github.com/tarantool/tarantool/issues/10199
>>>>> *https://github.com/LuaJIT/LuaJIT/issues/1224
>>>>>
>>>>> src/lj_crecord.c | 10 ++--
>>>>> .../lj-1224-fix-cdata-arith-ptr.test.lua | 48 +++++++++++++++++++
>>>> This test does not fail without fix (but repro from the issue does):
>>>>
>>>> [0] ~/sources/MRG/tarantool/third_party/luajit $
>>>> ./build/gc64/src/luajit -Ohotloop=1 -e "
>>>> repeat
>>>> r = 1LL + nil
>>>> until true
>>>> "
>>>> LuaJIT ASSERT
>>>> /home/sergeyb/sources/MRG/tarantool/third_party/luajit/src/lj_ctype.c:185:
>>>> lj_ctype_intern: uninitialized cts->L
>>>> Aborted
>>>> [0] ~/sources/MRG/tarantool/third_party/luajit $
>>>> ./build/gc64/src/luajit
>>>> test/tarantool-tests/lj-1224-fix-cdata-arith-ptr.test.lua
>>>> TAP version 13
>>>> 1..2
>>>> # cdata arithmetic with nil
>>>> 1..2
>>>> ok - correct recording error with bad cdata arithmetic
>>>> ok - correct error message
>>>> # cdata arithmetic with nil: end
>>>> ok - cdata arithmetic with nil
>>>> # cdata arithmetic with string
>>>> 1..2
>>>> ok - correct recording error with bad cdata arithmetic
>>>> ok - correct error message
>>>> # cdata arithmetic with string: end
>>>> ok - cdata arithmetic with string
>>>> [0] ~/sources/MRG/tarantool/third_party/luajit $
>>>>
>>> With GC64 only (LUAJIT_ENABLE_GC64).
>> It don't fail with GC64?
>>
>> Should I add the comment?
> I've added the following comment to avoid the confusion.
> Branch is force-pushed.
>
> ===================================================================
> diff --git a/test/tarantool-tests/lj-1224-fix-cdata-arith-ptr.test.lua b/test/tarantool-tests/lj-1224-fix-cdata-arith-ptr.test.lua
> index 9de9586d..dd7e23ec 100644
> --- a/test/tarantool-tests/lj-1224-fix-cdata-arith-ptr.test.lua
> +++ b/test/tarantool-tests/lj-1224-fix-cdata-arith-ptr.test.lua
> @@ -11,6 +11,8 @@ local test = tap.test('lj-1224-fix-cdata-arith-ptr'):skipcond({
>
> test:plan(2)
>
> +-- XXX: This test leads to the assertion failure before the patch
> +-- only for non-GC64 build.
> local function arith_nil_protected()
> local i = 1
> while i < 3 do
> ===================================================================
>
>>> <snipped>
>> --
>> Best regards,
>> Sergey Kaplun
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.tarantool.org/pipermail/tarantool-patches/attachments/20240912/3b697b13/attachment.htm>
More information about the Tarantool-patches
mailing list