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

tarantool / luajit / 13012199875
93%

Build:
DEFAULT BRANCH: tarantool/master
Ran 28 Jan 2025 02:45PM UTC
Jobs 1
Files 89
Run time 1min
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

28 Jan 2025 09:55AM UTC coverage: 92.969% (+0.02%) from 92.952%
13012199875

push

github

Buristan
Fix command-line argv handling.

(cherry-picked from commit 9ebebc9b5)

Before the patch, there was a situation where `luaL_newstate()` could
fail in `main()` and the `argv[0]` could be used as a progname in
`l_message()`. However, `argv[0]` is not guaranteed to be non-NULL, so
the segmentation fault could occur. This patch fixes the issue by using
the predefined name in that case. Moreover, it refactors the
`l_message()`, so now there is no need to pass the program name
everywhere.

The patch is tested with the help of the mocking of `luaL_newstate` by
providing an error-injected implementation of it and preloading it. For
preload to work, the LuaJIT must be built with dynamic build mode
enabled. The corresponding flavor is added to the CI only for x86_64
Debug build to avoid CI jobs outgrowing.

The <gh-8594-sysprof-ffunc-crash.test.c> inspects internal symbols from
the LuaJIT static library, so it can't be linked for shared build. The
test is disabled for the dynamic build mode.

Since the Linux kernel 5.18-rc1 release, `argv` is forced to a single
empty string if it is empty [1], so the issue is not reproducible on new
kernels. You may inspect the `dmesg` log for the corresponding warning
entrance.

Maxim Kokryashkin:
* added the description and the test for the problem

[1]: https://lore.kernel.org/all/20220201000947.2453721-1-keescook@chromium.org/

Part of tarantool/tarantool#10709

Reviewed-by: Sergey Kaplun <skaplun@tarantool.org>
Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org>
Signed-off-by: Sergey Kaplun <skaplun@tarantool.org>

5696 of 6033 branches covered (94.41%)

Branch coverage included in aggregate %.

7 of 10 new or added lines in 1 file covered. (70.0%)

1 existing line in 1 file now uncovered.

21703 of 23438 relevant lines covered (92.6%)

2965300.81 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
3
92.0
0.02% src/luajit.c

Uncovered Existing Lines

Lines Coverage ∆ File
1
87.73
-0.08% src/lj_crecord.c
Jobs
ID Job ID Ran Files Coverage
1 13012199875.1 28 Jan 2025 02:45PM UTC 89
92.97
GitHub Action Run
Source Files on build 13012199875
  • Tree
  • List 89
  • Changed 85
  • Source Changed 0
  • Coverage Changed 3
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #13012199875
  • 026a0e46 on github
  • Prev Build on tarantool/master (#12984029852)
  • Next Build on tarantool/master (#13029543298)
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

© 2026 Coveralls, Inc