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 Reviewed-by: Sergey Bronnikov <sergeyb@tarantool.org> Reviewed-by: Maxim Kokryashkin <m.kokryashkin@tarantool.org> Signed-off-by: Sergey Kaplun <skaplun@tarantool.org> (cherry picked from commit 82820a6e6)
5691 of 6029 branches covered (94.39%)
Branch coverage included in aggregate %.
3 of 3 new or added lines in 1 file covered. (100.0%)
10 existing lines in 3 files now uncovered.21691 of 23435 relevant lines covered (92.56%)
2941162.71 hits per line