[Tarantool-patches] [PATCH luajit] FFI: Fix various issues in recff_cdata_arith.
Sergey Kaplun
skaplun at tarantool.org
Thu Sep 12 13:16:45 MSK 2024
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
--
Best regards,
Sergey Kaplun
More information about the Tarantool-patches
mailing list