[Tarantool-patches] [PATCH luajit 0/3] Fixes for the concat metamethod.

Sergey Kaplun skaplun at tarantool.org
Mon Mar 10 17:51:34 MSK 2025


This patch set fixes the case of the OOM during the concatenation recording.
Unfortunately, it takes 2 commits. See details in the corresponding
letters. Also, it refactors tests using alloc injections -- now they
use the single module with predefined functions.

Branch: https://github.com/tarantool/luajit/tree/skaplun/lj-1298-oom-on-concat-recording

Note: CI is red due to problems with the integration testing.
See also: https://github.com/tarantool/tarantool/pull/11220

Related issues:
* https://github.com/tarantool/tarantool/issues/11055
* https://github.com/LuaJIT/LuaJIT/issues/1298
* https://github.com/LuaJIT/LuaJIT/issues/1338

Mike Pall (2):
  Restore state when recording __concat metamethod throws OOM.
  Fix state restore when recording __concat metamethod.

Sergey Kaplun (1):
  test: unify helpers for a custom allocator setting

 src/lj_record.c                               | 58 +++++++----
 test/tarantool-tests/CMakeLists.txt           |  5 +-
 .../lj-1166-error-stitch-oom-ir-buff.test.lua |  2 +-
 ...j-1166-error-stitch-oom-snap-buff.test.lua |  2 +-
 .../lj-1166-error-stitch/allocinject.c        | 52 ----------
 ...j-1247-fin-tab-rehashing-on-trace.test.lua |  4 +-
 .../CMakeLists.txt                            |  2 -
 .../lj_1247_allocinject.c                     | 49 ----------
 .../lj-1298-oom-on-concat-recording.test.lua  | 53 ++++++++++
 .../CMakeLists.txt                            |  2 +
 test/tarantool-tests/utils/allocinject.c      | 97 +++++++++++++++++++
 11 files changed, 198 insertions(+), 128 deletions(-)
 delete mode 100644 test/tarantool-tests/lj-1166-error-stitch/allocinject.c
 delete mode 100644 test/tarantool-tests/lj-1247-fin-tab-rehashing-on-trace/CMakeLists.txt
 delete mode 100644 test/tarantool-tests/lj-1247-fin-tab-rehashing-on-trace/lj_1247_allocinject.c
 create mode 100644 test/tarantool-tests/lj-1298-oom-on-concat-recording.test.lua
 rename test/tarantool-tests/{lj-1166-error-stitch => utils}/CMakeLists.txt (64%)
 create mode 100644 test/tarantool-tests/utils/allocinject.c

-- 
2.48.1



More information about the Tarantool-patches mailing list