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

Sergey Kaplun skaplun at tarantool.org
Thu Feb 16 09:58:19 MSK 2023


Hi, Maxim!
Thanks for the patch!
LGTM, except a few comments below.

On 15.02.23, Maxim Kokryashkin 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. This patch is backported
> only for consistency.
> 

I suggest to menion the commit directly:
b731df1c0392cf7008be2e3c4112e1edb2392de4 ("ARM64: Reorder interpreter
stack frame and fix unwinding.") NB: I mention _our_ commit intense --
so we can follow this commit chain in our repo and cherry-picked notes
link commits to the upstream.

> Maxim Kokryashkin:
> * added the description for the problem
> 
> Part of tarantool/tarantool#7745
> Relates to tarantool/tarantool#6096

I suppose that we should add:
| Part of tarantool/tarantool#8069

> ---
>  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.

I see that this line is present in LuaJIT's master. Should it be removed
as far as this issue is resolved?

>    lua_assert(_Unwind_Find_FDE((void *)_Unwind_RaiseException, &ehb));
> +  */
>  }
>  #endif
>  
> -- 
> 2.39.0
> 

-- 
Best regards,
Sergey Kaplun


More information about the Tarantool-patches mailing list