This repository was archived by the owner on Oct 28, 2025. It is now read-only.
Commit f8c4572
committed
fix!: declare all lua* ffi functions as C-unwind
This is a continuation of work done in commit 52bb62c. This time the
problem arose after a recent change in rustc, and resulted in lua
exceptions stopping being intercepted by tarantool. I don't know yet
what's the specific cause of this, what changed in rust and how did it
affect the seemingly unrelated functionality of tarantool, but this
change seems to help.
Here's how the problem showcased in the tests:
running 1 test
test tlua::functions_write::error ... #1 0x16378a7 in tarantool_panic_handler+103
#2 0x183eaf5 in lj_err_throw+117
#3 0x183ee65 in lj_err_run+277
#4 0x183f63f in lua_error+15
#5 0x7673285fc50a in ??+0
#6 0x1834373 in lj_BC_FUNCC+70
#7 0x183b295 in lua_pcall+117
#8 0x76732868f87d in ??+0
#9 0x7673286adea5 in ??+0
#10 0x7673289e1acc in ??+0
#11 0x7673289e15ae in ??+0
#12 0x7673289e0f9c in ??+0
#13 0x7673289dedfb in ??+0
#14 0x7673289ced2c in ??+0
#15 0x76732858b414 in ??+0
#16 0x7673285a1659 in ??+0
#17 0x16920eb in module_func_call+139
#18 0x17b4ba3 in lbox_func_call+307
#19 0x1834373 in lj_BC_FUNCC+70
#20 0x183b295 in lua_pcall+117
#21 0x16411ef in luaT_call+15
#22 0x16381f1 in lua_main+97
#23 0x1638ab1 in run_script_f+2193
#24 0x165c3e1 in fiber_cxx_invoke(int (*)(__va_list_tag*), __va_list_tag*)+17
#25 0x15beea7 in fiber_loop+55
#26 0x1618f68 in coro_init+72
2025-02-10 19:39:05.410 [3087063] main/104/run_tests.lua C> your message: my message1 parent 4b66150 commit f8c4572
4 files changed
+8
-6
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
| 17 | + | |
16 | 18 | | |
17 | 19 | | |
18 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
26 | 26 | | |
27 | 27 | | |
28 | 28 | | |
29 | | - | |
| 29 | + | |
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
138 | 138 | | |
139 | 139 | | |
140 | 140 | | |
141 | | - | |
| 141 | + | |
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
| |||
658 | 658 | | |
659 | 659 | | |
660 | 660 | | |
661 | | - | |
| 661 | + | |
662 | 662 | | |
663 | 663 | | |
664 | 664 | | |
| |||
730 | 730 | | |
731 | 731 | | |
732 | 732 | | |
733 | | - | |
| 733 | + | |
734 | 734 | | |
735 | 735 | | |
736 | 736 | | |
| |||
0 commit comments