From 0004401071f4fb54c0ed2c71f29e0451c1cd793c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edouard=20Choini=C3=A8re?= <27212526+echoix@users.noreply.github.com> Date: Sat, 26 Sep 2026 11:05:11 -0400 Subject: [PATCH] CI: Confirm the core plain-import/pytest divergence on latest main (not for merge) All prior diagnostics in this investigation were run against commit b0a6d7703c, which turned out to be 15 commits behind the commit (d24a5e09d7) actually used in the originally reported passing/failing runs, and further behind current main. Checked the 15 intervening commits directly: none touch Windows CI, ctypes loading, or pytest config (the two candidates worth a closer look -- the Python 3.14 fork/forkserver fix and the C++17 standard change -- are explicitly Windows-inert and C++-only respectively, and grass_gis.8.6.dll is built entirely from .c files). This re-runs the core comparison (plain python import succeeds, pytest collecting the same import crashes with "Windows fatal exception: code 0xc0000139") against the actual current main tip, to confirm the finding isn't an artifact of testing a stale base. Temporary, for CI investigation only. Co-Authored-By: Claude Sonnet 5 --- .github/workflows/osgeo4w.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.github/workflows/osgeo4w.yml b/.github/workflows/osgeo4w.yml index 96b5a6bb9aa..a5680eeab8f 100644 --- a/.github/workflows/osgeo4w.yml +++ b/.github/workflows/osgeo4w.yml @@ -133,6 +133,32 @@ jobs: pytest-randomly # Obfuscated usage of GitHub Actions features, Windows CMD shell limits analysis shell: cmd /D /E:ON /V:OFF /S /C "CALL C:/OSGeo4W/OSGeo4W.bat "{0}"" # zizmor: ignore[misfeature] + + - name: "[CI diagnostic, not for merge] Confirm plain-import-OK/pytest-crashes on latest main" + # All prior diagnostics in this investigation (gdal313.dll + # exports/imports, curl/openssl/libjpeg-turbo/expat exports, + # MSYS2 toolchain downgrade, standalone imports vs pytest + # collection, xdist vs no xdist, pytest.exe vs python -m + # pytest, before/after pip install) were run against commit + # b0a6d7703c, which turned out to be 15 commits behind the + # commit (d24a5e09d7) actually used in the originally reported + # passing/failing runs, and further behind current main. None + # of the 15 intervening commits touch Windows CI, ctypes + # loading, or pytest config, but this confirms the core + # divergence (plain import succeeds, pytest collection crashes + # with "Windows fatal exception: code 0xc0000139") still holds + # on the actual current main tip, not just the stale base. + run: | + call %OSGEO4W_ROOT%\opt\grass\etc\env.bat + set PYTHONPATH=%GISBASE%\etc\python;%PYTHONPATH% + path %GISBASE%\lib;%GISBASE%\bin;%PATH% + echo === plain python import === + python -c "from grass.pygrass import utils; print('OK: pygrass.utils imported successfully')" + echo === bare pytest, no xdist === + pytest -v imagery/i.gensig/testsuite/test_i_gensig.py lib/arraystats/tests + # Obfuscated usage of GitHub Actions features, Windows CMD shell limits analysis + shell: cmd /D /E:ON /V:OFF /S /C "CALL C:/OSGeo4W/OSGeo4W.bat "{0}"" # zizmor: ignore[misfeature] + - name: Run pytest with multiple workers in parallel run: | call %OSGEO4W_ROOT%\opt\grass\etc\env.bat