Skip to content

CI: [diagnostic, do not merge] Dump grass_gis.8.6.dll exports/imports - #704

Closed
echoix wants to merge 1 commit into
mainfrom
ci-diag/dumpbin-grass-gis
Closed

echoix wants to merge 1 commit into
mainfrom
ci-diag/dumpbin-grass-gis

Conversation

@echoix

@echoix echoix commented Sep 26, 2026

Copy link
Copy Markdown
Owner

Purpose

Third diagnostic in this investigation (after the GDAL exports/imports
PR and the MSYS2 update:false PR). The actual crash (checked directly
against the original job logs, not just the pytest summary) is:

Windows fatal exception: code 0xc0000139

in ctypes.CDLL.__init__ while loading grass_gis.8.6.dll (and
grass_arraystats/grass_rowio/grass_vector, which link it) --
GRASS's own libraries, compiled fresh in the CI run, not an
ImportError on _gdal as first suspected (though a separate, ordinary
_gdal ImportError also appears in the same run, still unexplained).

So far, ruled out with direct dumpbin export/import diffs against the
old/new package builds:

  • gdal313-runtime, python3-gdal (0 relevant removed exports/imports)
  • curl, openssl (0 removed exports)
  • libjpeg-turbo (0 removed exports, all ordinals tiff.dll needs present
    in both)
  • expat (0 removed exports)
  • PROJ (unchanged since April 2026, confirmed via setup.hint)
  • MSYS2 mingw-w64 toolchain (downgrading crt/headers/winpthreads/gcc/
    binutils to a much older git snapshot via update: false still
    reproduces the crash -- see the sibling PR)
  • pytest/pytest-xdist/pytest-randomly/pytest-timeout (identical
    versions installed in both the passing and failing run)
  • GitHub Actions runner image (identical version both times)

What this PR does

Adds a step right after Compile GRASS that runs dumpbin /dependents
and dumpbin /imports on the freshly built libgrass_gis.8.6.dll and
its siblings, to find the actual missing/unresolved symbol directly
instead of continuing to guess at which package might contain it.

This PR is for CI investigation only and is not meant to be merged.

🤖 Generated with Claude Code

…l (not for merge)

Package-level dumpbin diffs of every OSGeo4W package that changed in
the 2026-09-25 regression window (gdal313-runtime, python3-gdal, curl,
openssl, libjpeg-turbo, expat) found no removed exports or broken
ordinals, PROJ is unchanged since April, and downgrading the MSYS2
mingw-w64 toolchain snapshot (crt/headers/winpthreads) to a much older
build still reproduces the crash. So none of the previously suspected
packages explain:

    Windows fatal exception: code 0xc0000139

happening in ctypes.CDLL.__init__ while grass_gis.8.6.dll (and
grass_arraystats/grass_rowio/grass_vector, which link it) get loaded.

This dumps the actual freshly compiled DLLs' dependents and full
import tables right after the Compile GRASS step, to find the exact
missing/unresolved symbol directly instead of guessing at packages.

Temporary, for CI investigation only.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@echoix echoix closed this Oct 1, 2026
@echoix
echoix deleted the ci-diag/dumpbin-grass-gis branch October 1, 2026 00:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant