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

Sergey Kaplun skaplun at tarantool.org
Thu Feb 16 09:50:41 MSK 2023


Hi, Maxim!
Thanks for the patch!
LGTM, except a few nits regarding the commit message.

On 15.02.23, Maxim Kokryashkin wrote:
> From: Mike Pall <mike>
> 
> (cherry-picked from commit be251d9149b386ca0d4b51106be14366c5dbdf14)
> 
> `_Unwind_Find_FDE()` will locate the FDE if the pc is in some
> function that has an associated FDE. Note, Mac OS X 10.6 and
> later, introduces "compact unwind info" which the runtime uses in
> preference to DWARF unwind info. This function will only work if
> the target function has an FDE but no compact unwind info.

Please, mention that our VM has "compact unwind info" (see
`BUILD_machasm` case), so this is the reason why DWARF unwind info isn't
found by unwinder's `_Unwind_Find_FDE()`.

Does it mean, that all `pcall()` related tests will fail on macOS with
enabled external unwinder (this is why we don't need a test case)?

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

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

> ---
>  src/lj_err.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/src/lj_err.c b/src/lj_err.c
> index f6200233..975b5621 100644
> --- a/src/lj_err.c
> +++ b/src/lj_err.c

<snipped>

> -- 
> 2.39.0
> 

-- 
Best regards,
Sergey Kaplun


More information about the Tarantool-patches mailing list