Repo Added
|
Files
89
|
Badge
README BADGES
|
push
github
Fix stack allocation after on-trace stack check. (cherry picked from commit 204cee2c9) It is possible that a snapshot topslot is less than the possible topslot of the Lua stack. In that case, if the Lua stack overflows in `lj_vmevent_prepare()`, the error is raised inside `lj_vm_exit_handler()`, which has no corresponding DWARF eh_frame [1], so it leads to the crash. This patch fix-ups the topslot of the snapshot on trace exit to the maximum possible one. Sergey Kaplun: * added the description and the test for the problem [1]: https://refspecs.linuxfoundation.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/ehframechpt.html Part of tarantool/tarantool#10199
5688 of 6029 branches covered (94.34%)
Branch coverage included in aggregate %.
3 of 3 new or added lines in 1 file covered. (100.0%)
4 existing lines in 1 file now uncovered.21685 of 23435 relevant lines covered (92.53%)
2956158.41 hits per line
Coverage | ∆ | File | Lines | Relevant | Covered | Missed | Hits/Line | Branch Hits | Branch Misses |
---|---|---|---|---|---|---|---|---|---|
13.79 | src/lj_utils_leb128.c | 132 | 51 | 7 | 44 | 1337056.0 - 18884 | 1 | 6 | |
65.41 | src/lj_clib.c | 432 | 102 | 69 | 33 | 3769.0 + 19 | 18 | 13 | |
76.62 | src/lj_wbuf.c | 141 | 66 | 48 | 18 | 477485.0 - 6747 | 11 | 0 | |
77.8 | src/lj_api.c | 1369 | 860 | 665 | 195 | 918708.0 + 289 | 183 | 47 | |
78.02 | src/lj_opt_fold.c | 2542 | 977 | 747 + 1 | 230 - 1 | 780805.0 + 6397 | 247 | 50 | |
78.75 | src/lib_math.c | 224 | 72 | 56 | 16 | 20823.0 + 7 | 7 | 1 | |
84.03 | src/lj_ccall.c | 1183 | 172 | 145 | 27 | 30938.0 + 220 | 55 | 11 | |
84.21 | src/lj_load.c | 164 | 81 | 69 | 12 | 30875.0 + 23 | 11 | 3 | |
86.84 | src/lj_vmevent.c | 57 | 31 | 27 | 4 | 18799.0 + 10 | 6 | 1 | |
87.21 | src/lib_jit.c | 771 | 323 | 283 | 40 | 426.0 + 3 | 58 | 10 |