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 C7B636EFEB; Tue, 4 Aug 2026 15:56:20 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org C7B636EFEB DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=tarantool.org; s=dev; t=1785848180; bh=LOVPR5S6MW9rF3B3ptUha+basuJWhDbGpHjFtRe6l8I=; h=Date:To:References:In-Reply-To:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=vC6r6sG+JqVJZw1Q8aiHDQ/1KalDMWy5a0hw/N2BQjERYn6Ygps+iP5ngqzDieOC4 K4SvQdjFbHjgFkF4m7YisN2xpU97OuiDt247ByoL6ZyVzn/4gcnpNhTa+b27R8CuH3 XJA0YJwSzcjZZkq95szfClJCDXDLgHsM4VlfnaEs= Received: from send126.i.mail.ru (send126.i.mail.ru [89.221.237.221]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 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 71F026EFEB for ; Tue, 4 Aug 2026 15:56:19 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 dev.tarantool.org 71F026EFEB Received: by exim-smtp-7f4897b4d8-j6r7s with esmtpa (envelope-from ) id 1wrEgs-00000000Ere-0IvI; Tue, 04 Aug 2026 15:56:18 +0300 Date: Tue, 4 Aug 2026 15:55:58 +0300 To: Evgeniy Temirgaleev Message-ID: References: <83481da1b7122a93f6705837ebd0d6a1174b0119.1785521480.git.e.temirgaleev@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <83481da1b7122a93f6705837ebd0d6a1174b0119.1785521480.git.e.temirgaleev@tarantool.org> X-Mailru-Src: smtp X-4EC0790: 10 X-7564579A: 646B95376F6C166E X-77F55803: 4F1203BC0FB41BD9AF873410181998B8B88601C3B0BC0A699E561F30553F62AC182A05F53808504036CC5222C778AF053DE06ABAFEAF670564B57D15F457C7CC06BF80DCFC8970B8039F47AC1EBC7B57 X-7FA49CB5: FF5795518A3D127A4AD6D5ED66289B5278DA827A17800CE74378043A27BE1642EA1F7E6F0F101C67BD4B6F7A4D31EC0BCC500DACC3FED6E28638F802B75D45FF8AA50765F7900637ECAF4C2CEE0D0B2F8638F802B75D45FF914D58D5BE9E6BC1A93B80C6DEB9DEE97C6FB206A91F05B23F3CADDC0EAD4F8F2E070BE324C7D3C451BBF72B20672BF4F6B57BC7E64490618DEB871D839B73339E8FC8737B5C224952D31B9D28593E51CC7F00164DA146DAFE8445B8C89999729449624AB7ADAF37F6B57BC7E64490611E7FA7ABCAF51C92176DF2183F8FC7C078FCF50C7EAF9C588941B15DA834481F9449624AB7ADAF37BA3038C0950A5D3613377AFFFEAFD269176DF2183F8FC7C0DDF275FCE8193C8E7B076A6E789B0E97A8DF7F3B2552694AD5FFEEA1DED7F25D49FD398EE364050FB1593CA6EC85F86D1AB2475877E8919AB3661434B16C20ACC84D3B47A649675FE827F84554CEF5019E625A9149C048EE9ECD01F8117BC8BEE2021AF6380DFAD18AA50765F790063735872C767BF85DA227C277FBC8AE2E8B8E48D8FAA4D20A9F75ECD9A6C639B01B4E70A05D1297E1BBCB5012B2E24CD356 X-C1DE0DAB: 0D63561A33F958A53AE3C649E7C3A4365002B1117B3ED6965D8AE66C8E0ADAEDA13BD6A4B0E00B96823CB91A9FED034534781492E4B8EEADAE4FDBF11360AC9BBDAD6C7F3747799A X-C8649E89: 1C3962B70DF3F0AD73CAD6646DEDE1918E10F71CB4DF9F96AB70F9BE574AE9C625B6776AC983F447FC0B9F89525902EE6F57B2FD27647F25E66C117BDB76D659F003975875AF9958DACDB88322294DB439CF6289C9D71E444FDF66FD2BD05D920053AAFAA774CAF6B8341EE9D5BE9A0A4CAD22308214D209C5CAD4167DE3ECCCBCD0A6457CE910566536EB022892E5344C41F94D744909CECFA6C6B0C050A61A8CAF69B82BA93681CD72808BE417F3B9E0E7457915DAA85F X-D57D3AED: 3ZO7eAau8CL7WIMRKs4sN3D3tLDjz0dLbV79QFUyzQ2Ujvy7cMT6pYYqY16iZVKkSc3dCLJ7zSJH7+u4VD18S7Vl4ZUrpaVfd2+vE6kuoey4m4VkSEu53w8ahmwBjZKM/YPHZyZHvz5uv+WouB9+ObcCpyrx6l7KImUglyhkEat/+ysWwi0gdhEs0JGjl6ggRWTy1haxBpVdbIX1nthFXMZebaIdHP2ghjoIc/363UZI6Kf1ptIMVczkDsfooUjfRK8rnXIDsWE= X-Mailru-Sender: 583F1D7ACE8F49BD1E22B6041E04C8AA760DFF65D4DF8C6D05E38EDE555C28064E4473DE1E3FB50623647241908DD939F2400F607609286E924004A7DEC283833C7120B22964430C52B393F8C72A41A84198E0F3ECE9B5443453F38A29522196 X-Mras: Ok Subject: Re: [Tarantool-patches] [PATCH luajit v2 2/3] ci: enabled sanitizer tests for macOS 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: Sergey Kaplun via Tarantool-patches Reply-To: Sergey Kaplun Cc: tarantool-patches@dev.tarantool.org Errors-To: tarantool-patches-bounces@dev.tarantool.org Sender: "Tarantool-patches" Hi, Evgeniy! Thanks for the patch! Please, consider my questions below. On 31.07.26, Evgeniy Temirgaleev wrote: > From: Temir Galeev > > The arm64 and x86_64 architectures with clang compiler were added > to the matrix. > --- > .../README.md | 0 > .../action.yml | 0 > .../actions/setup-sanitizers-macos/README.md | 12 ++++ > .../actions/setup-sanitizers-macos/action.yml | 18 +++++ > .github/workflows/sanitizers-testing.yml | 65 ++++++++++++++++--- > 5 files changed, 86 insertions(+), 9 deletions(-) > rename .github/actions/{setup-sanitizers => setup-sanitizers-linux}/README.md (100%) > rename .github/actions/{setup-sanitizers => setup-sanitizers-linux}/action.yml (100%) > create mode 100644 .github/actions/setup-sanitizers-macos/README.md > create mode 100644 .github/actions/setup-sanitizers-macos/action.yml > > diff --git a/.github/actions/setup-sanitizers/README.md b/.github/actions/setup-sanitizers-linux/README.md > similarity index 100% > rename from .github/actions/setup-sanitizers/README.md > rename to .github/actions/setup-sanitizers-linux/README.md > diff --git a/.github/actions/setup-sanitizers/action.yml b/.github/actions/setup-sanitizers-linux/action.yml > similarity index 100% > rename from .github/actions/setup-sanitizers/action.yml > rename to .github/actions/setup-sanitizers-linux/action.yml > diff --git a/.github/actions/setup-sanitizers-macos/README.md b/.github/actions/setup-sanitizers-macos/README.md > new file mode 100644 > index 00000000..7061c042 > --- /dev/null > +++ b/.github/actions/setup-sanitizers-macos/README.md > diff --git a/.github/actions/setup-sanitizers-macos/action.yml b/.github/actions/setup-sanitizers-macos/action.yml > new file mode 100644 > index 00000000..441285f9 > --- /dev/null > +++ b/.github/actions/setup-sanitizers-macos/action.yml > @@ -0,0 +1,18 @@ > +name: Setup CI environment for testing with sanitizers on macOS > +description: Common part to tweak macOS CI runner environment for sanitizers For macOS this looks weird, since we just use the default compiler anyway. Is it possible to specify compiler version on macOS? > +inputs: > + cc_name: > + description: C compiler name (for example, gcc-12) > + required: false > + default: clang > +runs: > + using: composite > + steps: > + - name: Setup CI environment on macOS > + uses: ./.github/actions/setup-macos > + - name: Set specific C compiler as a default toolchain > + run: | > + echo CC=${CC_NAME} | tee -a $GITHUB_ENV > + shell: bash > + env: > + CC_NAME: ${{ inputs.cc_name }} > diff --git a/.github/workflows/sanitizers-testing.yml b/.github/workflows/sanitizers-testing.yml > index 4bf7d023..aa9eae16 100644 > --- a/.github/workflows/sanitizers-testing.yml > +++ b/.github/workflows/sanitizers-testing.yml > @@ -31,17 +31,33 @@ jobs: > strategy: > fail-fast: false > matrix: > - # XXX: Let's start with only Linux/x86_64 > + ARCH: [ARM64, x86_64] Side note: For local x86_64 macOS, I can't build LuaJIT with enabled since ASAN just can't be initialized. Hence it leads to buildvm crashes. I suppose there is some issue with modern clang. So, the version specification is desirable. > BUILDTYPE: [Debug, Release] > - CC: [gcc-10, clang-11] > + OS: [Linux, macOS] > + # Versioned compilers are for Linux. > + CC: [gcc-10, clang-11, clang] > include: > - BUILDTYPE: Debug > CMAKEFLAGS: -DCMAKE_BUILD_TYPE=Debug -DLUA_USE_ASSERT=ON -DLUA_USE_APICHECK=ON > - BUILDTYPE: Release > CMAKEFLAGS: -DCMAKE_BUILD_TYPE=RelWithDebInfo > - runs-on: [self-hosted, regular, Linux, x86_64] > + exclude: > + - OS: macOS > + CC: gcc-10 > + - OS: macOS > + CC: clang-11 > + - OS: Linux > + CC: clang > + # On current runners with Linux/ARM64 environment and > + # with LUAJIT_USE_SYSMALLOC=ON the system allocator returns addresses > + # with 48-bit set. Thus checkptrGC() fails with new Lua state pointer > + # and luajit fails to start with 'cannot create state: not enough memory' > + # error. So, we exclude this case. > + - ARCH: ARM64 > + OS: Linux These excludes looks too drammatic. Have you considering include option instead? Does it look better/more compact? > + runs-on: [self-hosted, regular, '${{ matrix.OS }}', '${{ matrix.ARCH }}'] > name: > > - LuaJIT with ASan and UBSan (Linux/x86_64) > + LuaJIT with ASan and UBSan (${{ matrix.OS }}/${{ matrix.ARCH }}) > ${{ matrix.BUILDTYPE }} > CC:${{ matrix.CC }} > GC64:ON SYSMALLOC:ON > ASAN_OPTIONS: " \ > detect_invalid_pointer_pairs=1: \ > detect_leaks=1: \ > @@ -95,5 +119,28 @@ jobs: > UBSAN_OPTIONS: " > print_stacktrace=1 \ > " > + run: | > + echo ASAN_OPTIONS=${ASAN_OPTIONS} | tee -a $GITHUB_ENV > + echo UBSAN_OPTIONS=${UBSAN_OPTIONS} | tee -a $GITHUB_ENV > + - name: setup sanitizer options for macOS > + if: ${{ matrix.OS == 'macOS' }} > + env: > + ASAN_OPTIONS: " \ > + detect_invalid_pointer_pairs=1: \ > + detect_leaks=0: \ Why do we need to exclude detect_leaks for macOS? > + detect_stack_use_after_return=1: \ > + dump_instruction_bytes=1: \ > + heap_profile=0: \ > + print_suppressions=0: \ > + symbolize=1: \ > + unmap_shadow_on_exit=1: \ > + " > + UBSAN_OPTIONS: " > + print_stacktrace=1 \ > + " > + run: | > + echo ASAN_OPTIONS=${ASAN_OPTIONS} | tee -a $GITHUB_ENV > + echo UBSAN_OPTIONS=${UBSAN_OPTIONS} | tee -a $GITHUB_ENV > + - name: test > run: cmake --build . --parallel --target LuaJIT-test > working-directory: ${{ env.BUILDDIR }} > -- > 2.49.0 > -- Best regards, Sergey Kaplun