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>
5695 of 6029 branches covered (94.46%)
Branch coverage included in aggregate %.
3 of 3 new or added lines in 1 file covered. (100.0%)
1 existing line in 1 file now uncovered.21711 of 23435 relevant lines covered (92.64%)
2942270.77 hits per line