This is an automated email from the ASF dual-hosted git repository.
isapego pushed a commit to branch ignite-27304
in repository https://gitbox.apache.org/repos/asf/ignite-3.git
The following commit(s) were added to refs/heads/ignite-27304 by this push:
new 629db56fed4 IGNITE-27304: Add analyzing step
629db56fed4 is described below
commit 629db56fed4e78a3083f69f353c944d0bda89cd1
Author: Igor Sapego <[email protected]>
AuthorDate: Wed Mar 18 17:36:45 2026 +0100
IGNITE-27304: Add analyzing step
---
.../files/scripts/powershell/AnalyzeCrashDumps.ps1 | 23 ++++++++++++++++++++++
.../CollectDebugArtifactsForCrashDumps.ps1 | 2 +-
.../test/platform_tests/PlatformCppTestsWindows.kt | 5 +++++
3 files changed, 29 insertions(+), 1 deletion(-)
diff --git a/.teamcity/files/scripts/powershell/AnalyzeCrashDumps.ps1
b/.teamcity/files/scripts/powershell/AnalyzeCrashDumps.ps1
new file mode 100644
index 00000000000..59a2fab2620
--- /dev/null
+++ b/.teamcity/files/scripts/powershell/AnalyzeCrashDumps.ps1
@@ -0,0 +1,23 @@
+$dumpsDir = "%PATH__CRASH_DUMPS%"
+$binDir = "%PATH__CMAKE_BUILD_DIRECTORY%\Debug\bin"
+$cdb = "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\cdb.exe"
+$symPath = "srv*C:\symbols*https://msdl.microsoft.com/download/symbols;$binDir"
+
+if (-not (Test-Path $dumpsDir)) {
+ Write-Host "Dumps directory '$dumpsDir' does not exist, skipping."
+ exit 0
+}
+
+$dumps = @(Get-ChildItem -Path $dumpsDir -File -Filter "*.dmp")
+if ($dumps.Count -eq 0) {
+ Write-Host "No dump files found in '$dumpsDir', skipping."
+ exit 0
+}
+
+foreach ($dump in $dumps) {
+ Write-Host "##teamcity[blockOpened name='Crash analysis: $($dump.Name)']"
+
+ & $cdb -z $dump.FullName -y $symPath -c "!analyze -v; q"
+
+ Write-Host "##teamcity[blockClosed name='Crash analysis: $($dump.Name)']"
+}
diff --git
a/.teamcity/files/scripts/powershell/CollectDebugArtifactsForCrashDumps.ps1
b/.teamcity/files/scripts/powershell/CollectDebugArtifactsForCrashDumps.ps1
index 007dc32bbb9..c3618243418 100644
--- a/.teamcity/files/scripts/powershell/CollectDebugArtifactsForCrashDumps.ps1
+++ b/.teamcity/files/scripts/powershell/CollectDebugArtifactsForCrashDumps.ps1
@@ -1,4 +1,5 @@
$dumpsDir = "%PATH__CRASH_DUMPS%"
+$binDir = "%PATH__CMAKE_BUILD_DIRECTORY%\Debug\bin"
if (-not (Test-Path $dumpsDir)) {
Write-Host "Dumps directory '$dumpsDir' does not exist, skipping."
@@ -13,7 +14,6 @@ if ($dumps.Count -eq 0) {
Write-Host "Found $($dumps.Count) dump file(s), collecting binaries from CMake
build directory."
-$binDir = "%PATH__CMAKE_BUILD_DIRECTORY%\Debug\bin"
if (-not (Test-Path $binDir)) {
Write-Error "Bin directory '$binDir' does not exist."
exit 1
diff --git a/.teamcity/test/platform_tests/PlatformCppTestsWindows.kt
b/.teamcity/test/platform_tests/PlatformCppTestsWindows.kt
index 576530167dc..aca1795b584 100644
--- a/.teamcity/test/platform_tests/PlatformCppTestsWindows.kt
+++ b/.teamcity/test/platform_tests/PlatformCppTestsWindows.kt
@@ -107,6 +107,11 @@ object PlatformCppTestsWindows : BuildType({
workingDir = "%PATH__CMAKE_BUILD_DIRECTORY%"
executionMode = BuildStep.ExecutionMode.RUN_ON_FAILURE
}
+ customPowerShell {
+ name = "Analyze crash dumps"
+ workingDir = "%PATH__CMAKE_BUILD_DIRECTORY%"
+ executionMode = BuildStep.ExecutionMode.RUN_ON_FAILURE
+ }
}
failureConditions {