• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / luajit
93%
tarantool/master: 93%

Build:
Build:
LAST BUILD BRANCH: skaplun/lj-1057-arm64-stp-fusing-across-tbar
DEFAULT BRANCH: tarantool/master
Repo Added 27 Jul 2023 09:52AM CUT
Files 89
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH tarantool/release/3.3
branch: tarantool/release/3.3
CHANGE BRANCH
x
Reset
  • tarantool/release/3.3
  • elhimov/gh-4808-display-fast-function-name
  • experimental/mremap-always-nomove
  • experimental/no-shrink-cdata-fin-table
  • experimental/riscv-64
  • fckxorg/auto-pr
  • fckxorg/fix-argv-handling
  • fckxorg/fixup-error-in-finalizer-tests
  • fckxorg/generalized-debugger
  • fckxorg/gh-5688-cli-for-memprof-parse
  • fckxorg/gh-5688-cli-for-memprof-parse-tnt
  • fckxorg/gh-6323-fix-curL
  • fckxorg/gh-8140-crash-in-allocator
  • fckxorg/gh-8594-sysprof-ffunc-crash
  • fckxorg/gh-8700-sysprof-parser-refactoring
  • fckxorg/integration-testing
  • fckxorg/integration-testing-3.0
  • fckxorg/lj-1004-fix-flaky
  • fckxorg/lj-1004-oom-error-frame
  • fckxorg/lj-1117-fuse-loads
  • fckxorg/lj-595-fix-clang-build
  • fckxorg/lj-624-jloop-snapshot-pc
  • fckxorg/lj-690-concat-tail-call
  • fckxorg/lj-720-errors-before-stitch
  • fckxorg/lj-839-concat-recording
  • fckxorg/lj-840-fix-hrefk-optimization
  • fckxorg/lj-866-allow-building-with-unwinding-disabled
  • fckxorg/lj-913-avoid-assertion-stkov-from-stitched-trace
  • fckxorg/lj-946-print-errors-from-gc-fin
  • fckxorg/lj-962-error-reporting-on-stack-overflow
  • fckxorg/lj-pr-720-errors-before-stitch
  • fckxorg/mark-conv-non-weak
  • fckxorg/memprof-parser-refactoring
  • fckxorg/profile-parsers-refactoring
  • fckxorg/profile-parsers-refactoring-WIP
  • fckxorg/profile-parsers-refactoring-p1
  • fckxorg/sysprof-libunwind
  • gdb-fix
  • imun/disable-sysprof-tests-for-tarantool
  • imun/enable-tarantool-cli-tests-in-lua-Harness
  • imun/fix-test-for-tarantool-searchers
  • imun/lj-549-make-gcc-7-happy
  • imun/lj-802-panic-at-mcode-protfail
  • imun/sysprof-ptrace-ffunc-test
  • imun/tarantool-master
  • imun/tarantool-release-2.10
  • imun/tarantool-release-2.11
  • ligurio/code-coverage
  • ligurio/code-generation-jit.bcsave
  • ligurio/enable_test_target
  • ligurio/fix-_TARANTOOL
  • ligurio/fix-cmake-warnings
  • ligurio/fix-gh-actions-warnings
  • ligurio/gh-11229-misc.sysprof.report
  • ligurio/gh-1181-64bit-non-FAT-Mach-O-object-files
  • ligurio/gh-1279-recording-getmetatable
  • ligurio/gh-xxxx-close-file-profiler
  • ligurio/gh-xxxx-define-unused
  • ligurio/gh-xxxx-fix-msg-stop-sysprof
  • ligurio/gh-xxxx-fix-stack-checks-in-vararg-calls
  • ligurio/gh-xxxx-fix-sysprof-opts-processing
  • ligurio/gh-xxxx-set-max-length
  • ligurio/gh-xxxx-skip-sysprof-tests
  • ligurio/gh-xxxx-spellchecking
  • ligurio/gh-xxxx-update-ubsan-supp
  • ligurio/lj-1054-incorrect-pc-value-predict_next
  • ligurio/lj-1087-vm-handler-call
  • ligurio/lj-1168-heap-use-after-free-on-access-to-CTState-finalizer
  • ligurio/lj-1168-heap-use-after-free-on-access-to-CTState-finalizer-nointegration
  • ligurio/lj-549-fix-embedded-bytecode-loader
  • ligurio/lj-611-always-snapshot-functions-for-non-base-frames
  • ligurio/lj-720-throw-any-errors-before-stack-changes-in-trace-stitching
  • ligurio/lj-736-prevent-loop-in-snap_usedef
  • ligurio/lj-865-fix_generation_of_mach-o_object_files
  • ligurio/lj-881-fix-concat
  • ligurio/skaplun/gh-9656-gcc-asan-build
  • ligurio/support-diff-cover
  • locker/ci-drop-centos-7-workflow
  • mandesero/dlmalloc-instr
  • mandesero/dlmalloc-instr-nointegration
  • mandesero/lj-10231-ASAN-and-LJ-allocator
  • mandesero/lj-3705-turn-off-strcmp-opt-in-debug
  • mkokryashkin/integration-testing-2.11
  • mkokryashkin/integration-testing-3.0
  • mkokryashkin/profile-parsers-refactoring-p2
  • mkokryashkin/test
  • skaplun/ffi-fixes
  • skaplun/fix-binary-number-parsing
  • skaplun/fix-bit-shift-dualnum
  • skaplun/fix-build-dir
  • skaplun/fix-ff-select-recording
  • skaplun/fix-flake8-7.2.0
  • skaplun/fix-flaky-unit-jit-parse
  • skaplun/fix-getmetrics-lapi-test
  • skaplun/fix-ir-conv
  • skaplun/fix-jit-dump-ir-conv-flaky
  • skaplun/fix-luajit-tests-centos7
  • skaplun/fix-luajit-tests-tablebump
  • skaplun/fix-recording-bc-varg-used-in-select
  • skaplun/fix-stack-alloc-on-trace
  • skaplun/fix-test-complex-double
  • skaplun/follow-up-fix-gh-9398-p2
  • skaplun/gh-11185-stream-trace-assert
  • skaplun/gh-11300-use-perftools-flag
  • skaplun/gh-8473-ubsan
  • skaplun/gh-8825-mips-ppc-refactoring
  • skaplun/gh-9398-more-luajit-tests
  • skaplun/gh-9398-more-luajit-tests-p2
  • skaplun/gh-no-ticket-codespell-2.3.0-fixes
  • skaplun/gh-noticket-codespell-nd
  • skaplun/gh-noticket-disable-ecosystem-intergration
  • skaplun/gh-noticket-fix-alpine-build
  • skaplun/gh-noticket-fix-codespell
  • skaplun/gh-noticket-fix-flaky-mips-spare-exit
  • skaplun/gh-noticket-fix-flaky-test
  • skaplun/gh-noticket-fix-gc-finalizer-pressure
  • skaplun/gh-noticket-fix-glibc-versions
  • skaplun/gh-noticket-fix-macos-c-tests
  • skaplun/gh-noticket-fix-mips64-flaky-test
  • skaplun/gh-noticket-justtest-integration
  • skaplun/lj-1016-1031-asm-head-side
  • skaplun/lj-1025-tsetm-maxslot
  • skaplun/lj-1026-arm64-invalid-hrefk-offset-check
  • skaplun/lj-1028-ldr-fusion-to-ldp-negative-offset
  • skaplun/lj-1033-fix-parsing-predict-next
  • skaplun/lj-1046-fix-bc-varg-recording
  • skaplun/lj-1052-unsink-with-irfl-tab-nomm
  • skaplun/lj-1056-arm64-ldp-sdp-misaligned-fusing
  • skaplun/lj-1057-arm64-stp-fusing-across-tbar
  • skaplun/lj-1069-newref-nan-key
  • skaplun/lj-1079-fix-64-bitshift-folds
  • skaplun/lj-1082-min-max-0-commutative
  • skaplun/lj-1083-missing-tostring-coercion-in-select
  • skaplun/lj-1094-ir-chain-dce
  • skaplun/lj-1110-x64-return-dispatch
  • skaplun/lj-1114-ffi-pragma-pack
  • skaplun/lj-1116-redzones-checks
  • skaplun/lj-1117-loads-fusion
  • skaplun/lj-1128-double-ir-newref-on-restore-sunk
  • skaplun/lj-1132-bad-snap-refs
  • skaplun/lj-1133-fwd-href-hrefk-alias
  • skaplun/lj-1134-fix-link-nointegration
  • skaplun/lj-1134-hotside-jit-off
  • skaplun/lj-1147-fstore-null-meta
  • skaplun/lj-1149-g-number-formating
  • skaplun/lj-1152-stack-buffer-overflow-on-error
  • skaplun/lj-1164-record-meta-concat-varg-pcall
  • skaplun/lj-1166-errors-stitching
  • skaplun/lj-1169-down-rec-side
  • skaplun/lj-1172-debug-handling-ref
  • skaplun/lj-1173-frame-limit-lower-frame
  • skaplun/lj-1194-abc-hoisting
  • skaplun/lj-1196-partial-snap-restore
  • skaplun/lj-1203-limit-format-elements
  • skaplun/lj-1224-fix-jit-cdata-arith
  • skaplun/lj-1226-fix-predict-next
  • skaplun/lj-1232-fix-enum-tostring
  • skaplun/lj-1234-err-in-record-concat
  • skaplun/lj-1244-missing-phi-carg
  • skaplun/lj-1247-fin-tab-rehashing-on-trace
  • skaplun/lj-1248-close-state-early-OOM
  • skaplun/lj-1249-loadfile-fd-leak
  • skaplun/lj-1252-missing-bit64-coercion
  • skaplun/lj-1262-fix-limit-narrow-conv-backprop
  • skaplun/lj-1295-bad-renames-for-sunk-values
  • skaplun/lj-1298-oom-on-concat-recording
  • skaplun/lj-1329-getfenv-setfenv-negative
  • skaplun/lj-1345-flushing-trace-twice
  • skaplun/lj-1353-loadfile-err-use-after-free
  • skaplun/lj-1358-jslot-overflow-uprecursion
  • skaplun/lj-1359-bad-pc-on-snap-restore-stackov
  • skaplun/lj-382-clear-stack-after-jit-status
  • skaplun/lj-522-fix-dlerror-return-null
  • skaplun/lj-567-1176-print-nyi-names
  • skaplun/lj-611-always-snapshot-functions-for-non-base-frames
  • skaplun/lj-737-snap-usedef-upvalues
  • skaplun/lj-783-fix-fold-x-0
  • skaplun/lj-784-cse-ref-base-over-retf
  • skaplun/lj-788-limit-exponents-range
  • skaplun/lj-791-fold-bufhdr-append
  • skaplun/lj-792-hrefk-table-clear
  • skaplun/lj-794-abc-fold-constants
  • skaplun/lj-833-fold-conv-from-num
  • skaplun/lj-859-math-ceil-sign
  • skaplun/lj-861-1005-ffi-fixes
  • skaplun/lj-9-pow-inconsistencies
  • skaplun/lj-903-arm64-unused-number-sload-typecheck
  • skaplun/lj-917-arm64-sload-typecheck-conversion
  • skaplun/lj-918-fma-optimization
  • skaplun/lj-928-1193-sanitizer-fixes
  • skaplun/lj-980-load-fwd-after-table-rehash
  • skaplun/lj-994-instable-pri-types
  • skaplun/lj-994-load-fwd-instable-types-tdup
  • skaplun/lj-noticket-err-concat-oom
  • skaplun/lj-noticket-fix-slots-overflow-for-varg-record
  • skaplun/lj-noticket-test-cat-fix
  • skaplun/shrink-test-env
  • skaplun/tarantool-integration-branch-revision
  • skaplun/test-integrational-ci-3.2
  • tarantool/archive/2.10
  • tarantool/archive/3.0
  • tarantool/archive/3.1
  • tarantool/master
  • tarantool/release/2.10
  • tarantool/release/2.11
  • tarantool/release/3.0
  • tarantool/release/3.1
  • tarantool/release/3.2
  • tarantool/release/3.4

01 Jul 2025 03:07PM CUT coverage: 93.034% (-0.07%) from 93.104%
16004999594

push

github

Buristan
Fix error generation in load*.

Reported by Sergey Kaplun.

(cherry picked from commit e76bb50d4)

The chunkname pointer to the "@filename" is put on the Lua stack
before the `lua_loadx()` and is removed right before the next
`lua_pushfstring()` in case of the error. If the GC takes the step
right at this moment inside `lua_pushfstring()` the string may be
collected, and the next read from this `chunkname + 1` is from the
deallocated memory.

This patch fixes this by using the source string (or the constant one)
instead.

Sergey Kaplun:
* added the description and the test for the problem

Part of tarantool/tarantool#11278

Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org>
Signed-off-by: Sergey Kaplun <skaplun@tarantool.org>
(cherry picked from commit 046e9b3a0)

5711 of 6047 branches covered (94.44%)

Branch coverage included in aggregate %.

2 of 2 new or added lines in 1 file covered. (100.0%)

22 existing lines in 5 files now uncovered.

21786 of 23509 relevant lines covered (92.67%)

3867303.07 hits per line

Relevant lines Covered
Build:
Build:
23509 RELEVANT LINES 21786 COVERED LINES
3867303.07 HITS PER LINE
Source Files on tarantool/release/3.3
  • Tree
  • List 89
  • Changed 9
  • Source Changed 0
  • Coverage Changed 9
Loading...
Coverage∆FileLinesRelevantCoveredMissedHits/LineBranch HitsBranch Misses
13.79
src/lj_utils_leb128.c132 51 7 44 1394329.0 - 1251 6
65.41
src/lj_clib.c432 102 69 33 3678.0 - 3318 13
76.62
src/lj_wbuf.c141 66 48 18 497973.0 - 2911 0
77.8
src/lj_api.c1369 860 665 - 10195 + 10928866.0 + 16007183 - 147 + 1
78.44
src/lj_opt_fold.c2554 982 756 - 2226 + 2721795.0 - 21990248 50
78.75
src/lib_math.c224 72 56 16 20799.0 - 287 1
84.03
src/lj_ccall.c1183 172 145 27 30035.0 - 30155 11
86.84
src/lj_vmevent.c57 31 27 4 18810.0 + 1.06 1
87.65
src/lib_jit.c752 335 295 40 441.0 + 460 10
87.77
src/lj_sysprof.c577 194 166 28 1847.0 + 21735 0
Showing 1 to 10 of 89 entries
  • Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • …
  • 9
  • Next
  • ►
    93.03
    src/

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
16004999594 tarantool/release/3.3 Fix error generation in load*. Reported by Sergey Kaplun. (cherry picked from commit e76bb50d4) The chunkname pointer to the "@filename" is put on the Lua stack before the `lua_loadx()` and is removed right before... push 01 Jul 2025 04:44PM CUT Buristan github
93.03
15997613354 tarantool/release/3.3 sysprof: fix sampling outside the VM If the signal by timer is handled outside the VM, the `g->vmstate` equals zero. This was interpreted by the sysprof as the trace with the corresponding number and leads to the assertion failure. This patch fi... push 01 Jul 2025 11:13AM CUT Buristan github
93.1
15994754239 tarantool/release/3.3 ARM64: Fix LDP/STP fusing for unaligned accesses. Thanks to Peter Cawley. (cherry picked from commit 0fa2f1cbc) The arm64 emitting of load/store operation works incorrectly in the case when at least one offset of ... push 01 Jul 2025 09:08AM CUT Buristan github
93.04
15918277603 tarantool/release/3.3 ARM64: Fix assembly of HREFK. Reported by caohongqing. Fix contributed by Peter Cawley. (cherry picked from commit 8fbd576fb) `asm_hrefk()` uses the check for the offset for the corresponding node structure. Howev... push 27 Jun 2025 04:41AM CUT Buristan github
93.06
15901242535 tarantool/release/3.3 ARM64: Fix LDP code generation. Thanks to Zhongwei Yao. (cherry picked from commit 9493acc1a) When fusing two LDR (STR) instructions to the single LDP (STP) instruction, the arm64 emitter shifts the offset value t... push 26 Jun 2025 12:08PM CUT Buristan github
93.06
15897929605 tarantool/release/3.3 Avoid out-of-range PC for stack overflow error from snapshot restore. Reported by Sergey Kaplun. (cherry picked from commit cd4af8ad8) When restoring a snapshot because of exiting by the check of the stack, the sn... push 26 Jun 2025 09:21AM CUT Buristan github
93.08
15603502063 tarantool/release/3.3 Different fix for partial snapshot restore due to stack overflow. Reported by Junlong Li. Fixed by Peter Cawley. (cherry picked from commit 86e7123bb) This patch is a follow-up to the previous commit, which leads ... push 12 Jun 2025 06:43AM CUT Buristan github
93.04
15559377890 tarantool/release/3.3 Fix another potential file descriptor leak in luaL_loadfile*(). Reported by Peter Cawley. (cherry picked from commit ab39082fd) `loadfile()` doesn't close the fd in case when `fopen()` results successfully, but th... push 10 Jun 2025 12:32PM CUT Buristan github
93.1
15508613268 tarantool/release/3.3 Rework stack overflow handling. Reported by pwnhacker0x18. Fixed by Peter Cawley. (cherry picked from commit defe61a56) In case of the Lua stack overflow error, LuaJIT restores the `L->top` value and pushes the er... push 07 Jun 2025 02:15PM CUT Buristan github
93.04
15491957553 tarantool/release/3.3 Fix JIT slot overflow during up-recursion. Reported by Sergey Kaplun. (cherry picked from commit 048972dbf) In the case when LuaJIT is recording the side trace after the up-recursion call, there is no check that t... push 06 Jun 2025 01:50PM CUT Buristan github
92.97
See All Builds (1787)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc