[Tarantool-patches] [PATCH luajit v3 2/4] Disable unreliable assertion for external frame unwinding.

sergos sergos at tarantool.org
Wed May 3 12:31:07 MSK 2023


Thanks for the patch!

LGTM

Sergos.

> On 28 Mar 2023, at 03:03, Maksim Kokryashkin <max.kokryashkin at gmail.com> wrote:
> 
> 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.
                                   ^ the history?

> 
> 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.37.1 (Apple Git-137.1)
> 



More information about the Tarantool-patches mailing list