From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from [87.239.111.99] (localhost [127.0.0.1]) by dev.tarantool.org (Postfix) with ESMTP id 5DEC424C43A; Wed, 15 Feb 2023 01:32:35 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 5DEC424C43A DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1676413955; bh=ZwXaNxWHaf1Xtzb+VELHYCYxYGdJ73wyIBIXvXlOgY0=; h=To:Date:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=sPUQMZxRatnV2AtInWYsYVew6UK2XPv+QCWsLeAIkDNvyVCJsAIeGU97cw9Bwq7YR jVaZeFktj9skPS1tdktKgwMZBmYQS2cxvJetgxBkwc0m7Lx1O7eR/AqYo4fe4YEJs5 wCUuY1DkreULwCAxfxzUQBNiw794MIJDK/GztBps= Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 2051924C43A for ; Wed, 15 Feb 2023 01:30:46 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 2051924C43A Received: by mail-lj1-f181.google.com with SMTP id m10so20087560ljp.3 for ; Tue, 14 Feb 2023 14:30:46 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=pplgFuNZIM45jSo6E4YitYF9WNpNU1rjX4bln9/FOgE=; b=GghvZ5sbVR9cx65XxaaEfvdFEqtf8qHrsivUGE8c1abeco2RRykW8j1FmSN6wAnhN7 2xnxwHb9PhlOO8nVDwqt90QeNU5WzZ4N6P1YbCB+3cHRHxnNXvl28N3pe/MK3ExM9EYd JiaY41sQ5QS9uO06J7tmj2/EaGdHIVvNMZ5/xmkVPlMC/rgpZKYqT2nnkTe8Nu3qO+y0 eVc4B601GY7SFE66HfmH6EGLz7dbmpPGCtahyjgJYjOt5CPjzhz3ZQBsnhpoP/qYRNFb IsxDY71gaEi7UwvZgzHktJLv5YMgg4zVm4SkxPKqsMB4OJV1HU4gMpqGfIkZhWcvc1VM hMWw== X-Gm-Message-State: AO0yUKXmuQvmGUM+NhmxwH7uTzaiSCjugtPL48/mFF/8G5Lx4wWDUQBq WKzhMXztt9TOrko3cbkLU6nzbj5dVL4= X-Google-Smtp-Source: AK7set/4NOLJT8sahg0uCWUVlzbJuNvEjR4idJp3YCoQ+mcUUhLyg5wf5d6NGcdcUmD1RfEma5FFyQ== X-Received: by 2002:a05:651c:14b:b0:293:524a:9164 with SMTP id c11-20020a05651c014b00b00293524a9164mr1422482ljd.34.1676413845278; Tue, 14 Feb 2023 14:30:45 -0800 (PST) Received: from localhost.localdomain (128-69-253-162.broadband.corbina.ru. [128.69.253.162]) by smtp.gmail.com with ESMTPSA id e19-20020a2eb1d3000000b00293536083cesm413756lja.105.2023.02.14.14.30.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 14 Feb 2023 14:30:44 -0800 (PST) X-Google-Original-From: Maxim Kokryashkin To: tarantool-patches@dev.tarantool.org, skaplun@tarantool.org, sergos@tarantool.org Date: Wed, 15 Feb 2023 01:30:26 +0300 Message-Id: <0f233a6e094d1552b0ac416ec1af4c87610f995f.1676413474.git.m.kokryashkin@tarantool.org> X-Mailer: git-send-email 2.39.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH luajit 4/5] OSX: Disable unreliable assertion for external frame unwinding. X-BeenThere: tarantool-patches@dev.tarantool.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Maxim Kokryashkin via Tarantool-patches Reply-To: Maxim Kokryashkin Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" From: Mike Pall (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. Maxim Kokryashkin: * added the description for the problem Part of tarantool/tarantool#7745 --- 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 @@ -479,6 +479,8 @@ extern const void *_Unwind_Find_FDE(void *pc, struct dwarf_eh_bases *bases); /* Verify that external error handling actually has a chance to work. */ void lj_err_verify(void) { +#if !LJ_TARGET_OSX + /* Check disabled on MacOS due to brilliant software engineering at Apple. */ struct dwarf_eh_bases ehb; /* ** FIXME: The following assertions were replaced with @@ -488,6 +490,7 @@ 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)); +#endif /* Check disabled, because of broken Fedora/ARM64. See #722. lua_assert(_Unwind_Find_FDE((void *)_Unwind_RaiseException, &ehb)); */ -- 2.39.0