diff --git a/.github/workflows/jit.yml b/.github/workflows/jit.yml index af460f4264932c..6ea238d294ca89 100644 --- a/.github/workflows/jit.yml +++ b/.github/workflows/jit.yml @@ -126,29 +126,30 @@ jobs: make all --jobs 4 ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 - jit-with-disabled-gil: - name: Free-Threaded (Debug) - needs: interpreter - runs-on: ubuntu-24.04 - timeout-minutes: 90 - strategy: - fail-fast: false - matrix: - llvm: - - 19 - steps: - - uses: actions/checkout@v4 - with: - persist-credentials: false - - uses: actions/setup-python@v5 - with: - python-version: '3.11' - - name: Build with JIT enabled and GIL disabled - run: | - sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} - export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" - ./configure --enable-experimental-jit --with-pydebug --disable-gil - make all --jobs 4 - - name: Run tests - run: | - ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 + # XXX: GH-133171 + # jit-with-disabled-gil: + # name: Free-Threaded (Debug) + # needs: interpreter + # runs-on: ubuntu-24.04 + # timeout-minutes: 90 + # strategy: + # fail-fast: false + # matrix: + # llvm: + # - 19 + # steps: + # - uses: actions/checkout@v4 + # with: + # persist-credentials: false + # - uses: actions/setup-python@v5 + # with: + # python-version: '3.11' + # - name: Build with JIT enabled and GIL disabled + # run: | + # sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ matrix.llvm }} + # export PATH="$(llvm-config-${{ matrix.llvm }} --bindir):$PATH" + # ./configure --enable-experimental-jit --with-pydebug --disable-gil + # make all --jobs 4 + # - name: Run tests + # run: | + # ./python -m test --multiprocess 0 --timeout 4500 --verbose2 --verbose3 diff --git a/Misc/NEWS.d/next/Build/2025-04-29-15-29-11.gh-issue-133171.YbwbwP.rst b/Misc/NEWS.d/next/Build/2025-04-29-15-29-11.gh-issue-133171.YbwbwP.rst new file mode 100644 index 00000000000000..6207ffa851d225 --- /dev/null +++ b/Misc/NEWS.d/next/Build/2025-04-29-15-29-11.gh-issue-133171.YbwbwP.rst @@ -0,0 +1,2 @@ +Since free-threaded builds do not support the experimental JIT compiler, +prevent these configurations from being combined. diff --git a/PCbuild/build.bat b/PCbuild/build.bat index db67ae72981345..88d6b99d651cf3 100644 --- a/PCbuild/build.bat +++ b/PCbuild/build.bat @@ -123,6 +123,13 @@ if "%do_pgo%" EQU "true" if "%platf%" EQU "x64" ( ) ) +if "%UseDisableGil%" EQU "true" if "%UseTIER2%" NEQ "" ( + rem GH-133171: This configuration builds the JIT but never actually uses it, + rem which is surprising (and strictly worse than not building it at all): + echo.ERROR: --experimental-jit cannot be used with --disable-gil. + exit /b 1 +) + if not exist "%GIT%" where git > "%TEMP%\git.loc" 2> nul && set /P GIT= < "%TEMP%\git.loc" & del "%TEMP%\git.loc" if exist "%GIT%" set GITProperty=/p:GIT="%GIT%" if not exist "%GIT%" echo Cannot find Git on PATH & set GITProperty= diff --git a/configure b/configure index 1ec91021a38b66..7dbb35f9f45f4b 100755 --- a/configure +++ b/configure @@ -10866,6 +10866,12 @@ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $tier2_flags $jit_flags" >&5 printf "%s\n" "$tier2_flags $jit_flags" >&6; } +if test "$disable_gil" = "yes" -a "$enable_experimental_jit" != "no"; then + # GH-133171: This configuration builds the JIT but never actually uses it, + # which is surprising (and strictly worse than not building it at all): + as_fn_error $? "--enable-experimental-jit cannot be used with --disable-gil." "$LINENO" 5 +fi + case "$ac_cv_cc_name" in mpicc) CFLAGS_NODIST="$CFLAGS_NODIST" diff --git a/configure.ac b/configure.ac index 16367b3ea53c27..65f265045ba318 100644 --- a/configure.ac +++ b/configure.ac @@ -2786,6 +2786,12 @@ AC_SUBST([REGEN_JIT_COMMAND]) AC_SUBST([JIT_STENCILS_H]) AC_MSG_RESULT([$tier2_flags $jit_flags]) +if test "$disable_gil" = "yes" -a "$enable_experimental_jit" != "no"; then + # GH-133171: This configuration builds the JIT but never actually uses it, + # which is surprising (and strictly worse than not building it at all): + AC_MSG_ERROR([--enable-experimental-jit cannot be used with --disable-gil.]) +fi + case "$ac_cv_cc_name" in mpicc) CFLAGS_NODIST="$CFLAGS_NODIST" pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy