[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