@@ -545,14 +545,30 @@ jobs:
545545 CMAKE_INSTALL_PREFIX : /usr
546546 VCPKG_BINARY_SOURCES : ' clear;nugettimeout,600;nuget,GitHub,readwrite'
547547 steps :
548- - name : Disable Crash Dialogs
548+ - name : Configure Crash Dumps
549549 run : |
550+ # Disable crash dialog UI but enable dump collection
550551 reg add `
551552 "HKCU\SOFTWARE\Microsoft\Windows\Windows Error Reporting" `
552553 /v DontShowUI `
553554 /t REG_DWORD `
554555 /d 1 `
555556 /f
557+ # Enable local crash dumps
558+ reg add `
559+ "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" `
560+ /v DumpFolder `
561+ /t REG_EXPAND_SZ `
562+ /d "%LOCALAPPDATA%\CrashDumps" `
563+ /f
564+ reg add `
565+ "HKLM\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumps" `
566+ /v DumpType `
567+ /t REG_DWORD `
568+ /d 2 `
569+ /f
570+ # Create dumps directory
571+ New-Item -ItemType Directory -Force -Path "$env:LOCALAPPDATA\CrashDumps" | Out-Null
556572 - name : Checkout Arrow
557573 uses : actions/checkout@v6
558574 with :
@@ -614,6 +630,11 @@ jobs:
614630 call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
615631 set VCPKG_ROOT=%VCPKG_ROOT_KEEP%
616632 bash -c "ci/scripts/cpp_build.sh $(pwd) $(pwd)/build"
633+ - name : List vcpkg packages for debugging
634+ shell : bash
635+ run : |
636+ echo "=== Installed vcpkg packages (protobuf, grpc, abseil) ==="
637+ vcpkg list | grep -E 'protobuf|grpc|abseil' || echo "No matching packages found"
617638 - name : Register Flight SQL ODBC Driver
618639 shell : cmd
619640 run : |
@@ -636,6 +657,22 @@ jobs:
636657 # Convert VCPKG Windows path to MSYS path
637658 for /f "usebackq delims=" %%I in (`bash -c "cygpath -u \"$VCPKG_ROOT_KEEP\""` ) do set VCPKG_ROOT=%%I
638659 bash -c "ci/scripts/cpp_test.sh $(pwd) $(pwd)/build"
660+ - name : Collect crash dumps
661+ if : failure()
662+ shell : bash
663+ run : |
664+ echo "=== Collecting crash dumps from Windows Error Reporting ==="
665+ mkdir -p crash-dumps
666+ # Windows dumps go to %LOCALAPPDATA%\CrashDumps
667+ cp "$LOCALAPPDATA/CrashDumps/"*.dmp crash-dumps/ 2>/dev/null || echo "No crash dumps found"
668+ ls -lh crash-dumps/ || echo "Crash dumps directory is empty"
669+ - name : Upload crash dumps
670+ if : failure()
671+ uses : actions/upload-artifact@v7
672+ with :
673+ name : arrow-flight-sql-odbc-crash-dumps
674+ path : crash-dumps/
675+ if-no-files-found : warn
639676 - name : Install WiX Toolset
640677 shell : pwsh
641678 run : |
0 commit comments