[Tarantool-patches] [PATCH luajit v2 3/5] Disable unreliable assertion for external frame unwinding.

Maxim Kokryashkin max.kokryashkin at gmail.com
Tue Mar 14 15:01:45 MSK 2023


From: Mike Pall <mike>

Broken on Fedora/ARM64. Reported by Yichun Zhang.

(cherry-picked from commit e957737650e060d5bf1c2909b741cc3dffe073ac)

This patch disables the assertion that failed because of
incorrectly constructed unwind information. That debug
info generation was fixed in the scope of
tarantool/tarantool#6096 with commit
b731df1c0392cf7008be2e3c4112e1edb2392de4 ("ARM64: Reorder
interpreter stack frame and fix unwinding.")
This patch is backported only for consistency.

Maxim Kokryashkin:
* added the description for the problem

Part of tarantool/tarantool#7745
Part of tarantool/tarantool#8069
Relates to tarantool/tarantool#6096
---
 src/lj_err.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/lj_err.c b/src/lj_err.c
index c7fd9e65..f6200233 100644
--- a/src/lj_err.c
+++ b/src/lj_err.c
@@ -488,7 +488,9 @@ void lj_err_verify(void)
   ** lj_assertX(_Unwind_Find_FDE((void *)_Unwind_RaiseException, &ehb), "broken build: external frame unwinding enabled, but system libraries have no unwind tables");
   */
   lua_assert(_Unwind_Find_FDE((void *)lj_err_throw, &ehb));
+  /* Check disabled, because of broken Fedora/ARM64. See #722.
   lua_assert(_Unwind_Find_FDE((void *)_Unwind_RaiseException, &ehb));
+  */
 }
 #endif
 
-- 
2.39.0



More information about the Tarantool-patches mailing list