From aea605ea63453fb4b23e10625e0ef3ad0b2a97d2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 15 Oct 2025 06:05:16 +0000 Subject: [PATCH 01/29] Bump dotnet-sdk Bumps [dotnet-sdk](https://github.com/dotnet/sdk) from 10.0.100-rc.2.25464.104 to 10.0.100.pre.rc.2.25502.107. - [Release notes](https://github.com/dotnet/sdk/releases) - [Commits](https://github.com/dotnet/sdk/commits/v10.0.100-rc.2.25502.107) --- updated-dependencies: - dependency-name: dotnet-sdk dependency-version: 10.0.100.pre.rc.2.25502.107 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 46ddb38fca..4e7a483959 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "10.0.100-rc.2.25464.104", + "dotnet": "10.0.100.pre.rc.2.25502.107", "runtimes": { "dotnet": [ "3.1.32", @@ -23,7 +23,7 @@ } }, "sdk": { - "version": "10.0.100-rc.2.25464.104", + "version": "10.0.100.pre.rc.2.25502.107", "paths": [ ".dotnet", "$host$" From 304a8954665d08735d07699d7248bc831e5f85fb Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Wed, 15 Oct 2025 09:16:23 +0200 Subject: [PATCH 02/29] Fix --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 4e7a483959..75cb52c99e 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "10.0.100.pre.rc.2.25502.107", + "dotnet": "10.0.100-rc.2.25502.107", "runtimes": { "dotnet": [ "3.1.32", @@ -23,7 +23,7 @@ } }, "sdk": { - "version": "10.0.100.pre.rc.2.25502.107", + "version": "10.0.100-rc.2.25502.107", "paths": [ ".dotnet", "$host$" From ec2c51b6876d1a0e02e8d33a35d8eb97a69354f7 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 20 Oct 2025 07:22:18 +0200 Subject: [PATCH 03/29] Update azure-pipelines.yml --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8ec5bd75e4..a765bc7bf5 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -60,7 +60,7 @@ stages: timeoutInMinutes: 90 pool: name: NetCore-Public - demands: ImageOverride -equals windows.vs2022preview.amd64.open + demands: ImageOverride -equals windows.vs2026preview.amd64.open strategy: matrix: Release: From ecea71b9861d2693703f04fe31b0f005c5af9e12 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 20 Oct 2025 07:23:03 +0200 Subject: [PATCH 04/29] Update azure-pipelines-official.yml --- azure-pipelines-official.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/azure-pipelines-official.yml b/azure-pipelines-official.yml index 982eec0b70..f820ff65ca 100644 --- a/azure-pipelines-official.yml +++ b/azure-pipelines-official.yml @@ -73,7 +73,7 @@ extends: autoBaseline: true pool: name: $(DncEngInternalBuildPool) - image: windows.vs2022preview.amd64 + image: windows.vs2026preview.amd64 os: windows customBuildTags: - ES365AIMigrationTooling @@ -97,7 +97,7 @@ extends: timeoutInMinutes: 90 pool: name: $(DncEngInternalBuildPool) - image: windows.vs2022preview.amd64 + image: windows.vs2026preview.amd64 os: windows steps: - task: PowerShell@2 From f1ef43e22b88c828b067ad7737b968430558e905 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 20 Oct 2025 08:23:01 +0200 Subject: [PATCH 05/29] Revert --- azure-pipelines-official.yml | 4 ++-- azure-pipelines.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/azure-pipelines-official.yml b/azure-pipelines-official.yml index f820ff65ca..982eec0b70 100644 --- a/azure-pipelines-official.yml +++ b/azure-pipelines-official.yml @@ -73,7 +73,7 @@ extends: autoBaseline: true pool: name: $(DncEngInternalBuildPool) - image: windows.vs2026preview.amd64 + image: windows.vs2022preview.amd64 os: windows customBuildTags: - ES365AIMigrationTooling @@ -97,7 +97,7 @@ extends: timeoutInMinutes: 90 pool: name: $(DncEngInternalBuildPool) - image: windows.vs2026preview.amd64 + image: windows.vs2022preview.amd64 os: windows steps: - task: PowerShell@2 diff --git a/azure-pipelines.yml b/azure-pipelines.yml index a765bc7bf5..8ec5bd75e4 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -60,7 +60,7 @@ stages: timeoutInMinutes: 90 pool: name: NetCore-Public - demands: ImageOverride -equals windows.vs2026preview.amd64.open + demands: ImageOverride -equals windows.vs2022preview.amd64.open strategy: matrix: Release: From fcfbfd2eb8f1e83f7bf622c3bd87e39db53f934d Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 20 Oct 2025 08:47:37 +0200 Subject: [PATCH 06/29] Workaround --- eng/build.ps1 | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/eng/build.ps1 b/eng/build.ps1 index ee14198255..243eeb5b22 100644 --- a/eng/build.ps1 +++ b/eng/build.ps1 @@ -34,6 +34,15 @@ Param( [Parameter(ValueFromRemainingArguments=$true)][String[]]$properties ) +# Workaround for DOTNET_HOST_PATH not being set by older MSBuild +# Removal is tracked by https://github.com/dotnet/roslyn/issues/80742 +if (-not $env:DOTNET_HOST_PATH) { + $env:DOTNET_HOST_PATH = Join-Path (Join-Path (Join-Path $PSScriptRoot '..') '.dotnet') 'dotnet' + if (-not (Test-Path $env:DOTNET_HOST_PATH)) { + $env:DOTNET_HOST_PATH = "$($env:DOTNET_HOST_PATH).exe" + } +} + if ($vs -or $vscode) { . $PSScriptRoot\common\tools.ps1 @@ -52,7 +61,7 @@ if ($vs -or $vscode) { # Disable .NET runtime signature validation errors which errors for local builds $env:VSDebugger_ValidateDotnetDebugLibSignatures=0; - # Enables the logginc of Json RPC messages if diagnostic logging for Test Explorer is enabled in Visual Studio. + # Enables the logging of Json RPC messages if diagnostic logging for Test Explorer is enabled in Visual Studio. $env:_TestingPlatformDiagnostics_=1; if ($vs) { From 6496863182bbac29c62c335a092dc48c4f6606ec Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 20 Oct 2025 08:53:58 +0200 Subject: [PATCH 07/29] Fix --- eng/build.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/eng/build.ps1 b/eng/build.ps1 index 243eeb5b22..de689b9018 100644 --- a/eng/build.ps1 +++ b/eng/build.ps1 @@ -35,9 +35,9 @@ Param( ) # Workaround for DOTNET_HOST_PATH not being set by older MSBuild -# Removal is tracked by https://github.com/dotnet/roslyn/issues/80742 +# Removal is tracked by https://github.com/microsoft/testfx/issues/6767 if (-not $env:DOTNET_HOST_PATH) { - $env:DOTNET_HOST_PATH = Join-Path (Join-Path (Join-Path $PSScriptRoot '..') '.dotnet') 'dotnet' + $env:DOTNET_HOST_PATH = [System.IO.Path]::GetFullPath(Join-Path (Join-Path (Join-Path $PSScriptRoot '..') '.dotnet') 'dotnet') if (-not (Test-Path $env:DOTNET_HOST_PATH)) { $env:DOTNET_HOST_PATH = "$($env:DOTNET_HOST_PATH).exe" } From c4b43a93c364ff40d710a4423355eaf9db1f6fad Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 20 Oct 2025 09:29:59 +0200 Subject: [PATCH 08/29] Update PR CI Set DOTNET_HOST_PATH environment variable for build. --- azure-pipelines.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8ec5bd75e4..8e8d060b37 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -107,6 +107,9 @@ stages: /p:Test=false /p:FastAcceptanceTest=true name: Build + env: + # https://github.com/microsoft/testfx/issues/6767 + DOTNET_HOST_PATH: '$(Build.SourcesDirectory)/.dotnet/dotnet.exe' displayName: Build - task: PublishBuildArtifacts@1 From d5f6a71b941d4e5b9f3792a953791319778d378f Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 20 Oct 2025 09:30:38 +0200 Subject: [PATCH 09/29] Update official pipeline --- azure-pipelines-official.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/azure-pipelines-official.yml b/azure-pipelines-official.yml index 982eec0b70..9df36fbc8e 100644 --- a/azure-pipelines-official.yml +++ b/azure-pipelines-official.yml @@ -136,6 +136,9 @@ extends: /p:ProductsToBuild=$(_Products) /p:Test=false name: Build + env: + # https://github.com/microsoft/testfx/issues/6767 + DOTNET_HOST_PATH: '$(Build.SourcesDirectory)/.dotnet/dotnet.exe' displayName: Build - ${{ if eq(parameters.SkipTests, False) }}: From 875471c5b4d8494c6f93ec60a039004d93049995 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Mon, 20 Oct 2025 09:31:55 +0200 Subject: [PATCH 10/29] codeql Set DOTNET_HOST_PATH environment variable for build. --- azure-pipelines-codeql.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/azure-pipelines-codeql.yml b/azure-pipelines-codeql.yml index fa5694e252..320c8fd2a1 100644 --- a/azure-pipelines-codeql.yml +++ b/azure-pipelines-codeql.yml @@ -63,6 +63,9 @@ jobs: -configuration $(_BuildConfig) -prepareMachine /p:Test=false + env: + # https://github.com/microsoft/testfx/issues/6767 + DOTNET_HOST_PATH: '$(Build.SourcesDirectory)/.dotnet/dotnet.exe' displayName: Windows Build - task: CodeQL3000Finalize@0 From b72a32a00707c4875b02c8dabdd5eeacd3c4ca5d Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Wed, 22 Oct 2025 13:15:23 +0200 Subject: [PATCH 11/29] Temporary --- Microsoft.Diagnostics.NETCore.Client.dll | Bin 0 -> 151072 bytes StartDumpAsync.ps1 | 42 +++++++++++++++++++++++ azure-pipelines.yml | 14 +++++++- run.ps1 | 5 +++ 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 Microsoft.Diagnostics.NETCore.Client.dll create mode 100644 StartDumpAsync.ps1 create mode 100644 run.ps1 diff --git a/Microsoft.Diagnostics.NETCore.Client.dll b/Microsoft.Diagnostics.NETCore.Client.dll new file mode 100644 index 0000000000000000000000000000000000000000..e955d0bb4973bae47f0185f0369acad231e6bab1 GIT binary patch literal 151072 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 Date: Wed, 22 Oct 2025 15:30:12 +0200 Subject: [PATCH 12/29] ... --- run.ps1 | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/run.ps1 b/run.ps1 index e1d2ce7eec..02943fa93d 100644 --- a/run.ps1 +++ b/run.ps1 @@ -1,5 +1,51 @@ -$j = Start-Job { $global:PSScriptRoot = $using:PSScriptRoot; . $PSScriptRoot/StartDumpAsync.ps1 } +Write-Host "Starting dotnet test" -dotnet test --solution NonWindowsTests.slnf --no-build -bl:$PSScriptRoot/artifacts/TestResults/Debug/TestStep.binlog --no-progress -p:UsingDotNetTest=true +Start-Job { $global:PSScriptRoot = $using:PSScriptRoot; dotnet test --solution NonWindowsTests.slnf --no-build -bl:$PSScriptRoot/artifacts/TestResults/Debug/TestStep.binlog --no-progress -p:UsingDotNetTest=true } - $j | Receive-Job +Write-Host "Started dotnet test" + +Import-Module "$PSScriptRoot/Microsoft.Diagnostics.NETCore.Client.dll" + +$dir = "$PSScriptRoot/dumps" + +Start-Sleep -Duration ([TimeSpan]::FromSeconds(2)) + +Write-Host "Waited two seconds.." + +$processes = Get-Process -Name "dotnet" -ErrorAction Ignore + +Write-Host "Getting dotnet processes" + +if (-not $processes) { + Set-Content -Path "$dir/output.txt" -Value "No dotnet processes found". + Write-Host "No dotnet processes found." +} + +Start-Sleep -Duration ([TimeSpan]::FromMinutes(30)) + +Write-Host "Timedout!! Dumping now..." + +New-Item -ItemType Directory -Path $dir -Force -ErrorAction Ignore +foreach ($process in $processes) { + $name = "$($process.Id)_$($process.Name)" + + Write-Host "Dumping $name" + Set-Content -Path "$dir/$name.txt" -Value "Dumping $name" + + try { + $client = [Microsoft.Diagnostics.NETCore.Client.DiagnosticsClient]::new($process.Id); + $fullPath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$dir/$name.dmp") + $client.WriteDump("Normal", $fullPath); + Write-Host "Dump written" + try { + $process.Kill() + } + catch { + Add-Content -Path "$dir/$name.txt" -Value "$_" + } + } + catch { + Add-Content -Path "$dir/$name.txt" -Value "$_" + Write-Host "ERR DUMPING!!" + } +} From c67ab9653dc4a58fe7a366175a9f54da81a8e9c2 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Wed, 22 Oct 2025 16:59:12 +0200 Subject: [PATCH 13/29] ... --- run.ps1 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/run.ps1 b/run.ps1 index 02943fa93d..9cff39b748 100644 --- a/run.ps1 +++ b/run.ps1 @@ -21,7 +21,7 @@ if (-not $processes) { Write-Host "No dotnet processes found." } -Start-Sleep -Duration ([TimeSpan]::FromMinutes(30)) +Start-Sleep -Duration ([TimeSpan]::FromMinutes(20)) Write-Host "Timedout!! Dumping now..." @@ -35,7 +35,7 @@ foreach ($process in $processes) { try { $client = [Microsoft.Diagnostics.NETCore.Client.DiagnosticsClient]::new($process.Id); $fullPath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$dir/$name.dmp") - $client.WriteDump("Normal", $fullPath); + $client.WriteDump("Triage", $fullPath, $true); Write-Host "Dump written" try { $process.Kill() From 7e9accbb0ca7db5130ff9cad67ab9f958a601af2 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 23 Oct 2025 10:21:23 +0200 Subject: [PATCH 14/29] rtm --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 75cb52c99e..100acf86c4 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "10.0.100-rc.2.25502.107", + "dotnet": "10.0.100-rtm.25522.103", "runtimes": { "dotnet": [ "3.1.32", @@ -23,7 +23,7 @@ } }, "sdk": { - "version": "10.0.100-rc.2.25502.107", + "version": "10.0.100-rtm.25522.103", "paths": [ ".dotnet", "$host$" From 7b031da1a24c4b6a8411c167d0c963e74d39e035 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 23 Oct 2025 10:25:08 +0200 Subject: [PATCH 15/29] Try 10.0.100-rtm.25520.117 --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 100acf86c4..5169ccc22f 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "10.0.100-rtm.25522.103", + "dotnet": "10.0.100-rtm.25520.117", "runtimes": { "dotnet": [ "3.1.32", @@ -23,7 +23,7 @@ } }, "sdk": { - "version": "10.0.100-rtm.25522.103", + "version": "10.0.100-rtm.25520.117", "paths": [ ".dotnet", "$host$" From 10fd60861e8a13deaefa08625c51101e3ca9821b Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 23 Oct 2025 10:26:05 +0200 Subject: [PATCH 16/29] Update to 10.0.100-rtm.25521.107 --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 5169ccc22f..5b68761ef8 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "10.0.100-rtm.25520.117", + "dotnet": "10.0.100-rtm.25521.107", "runtimes": { "dotnet": [ "3.1.32", @@ -23,7 +23,7 @@ } }, "sdk": { - "version": "10.0.100-rtm.25520.117", + "version": "10.0.100-rtm.25521.107", "paths": [ ".dotnet", "$host$" From f54d95f970027e19f06ec556649b2032abd04c89 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 23 Oct 2025 12:09:47 +0200 Subject: [PATCH 17/29] Add 10.0.100-rtm.25521.107-shipping feed --- NuGet.config | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NuGet.config b/NuGet.config index 4063f3efed..08286de892 100644 --- a/NuGet.config +++ b/NuGet.config @@ -17,6 +17,7 @@ + @@ -47,5 +48,8 @@ + + + From 36c36e8b90427fd384d6914587700f4a5cd8847a Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 23 Oct 2025 12:16:15 +0200 Subject: [PATCH 18/29] Update NuGet.config --- NuGet.config | 4 ---- 1 file changed, 4 deletions(-) diff --git a/NuGet.config b/NuGet.config index 08286de892..4063f3efed 100644 --- a/NuGet.config +++ b/NuGet.config @@ -17,7 +17,6 @@ - @@ -48,8 +47,5 @@ - - - From bf0309dee07a2f06572dca33d723d27817daf0cd Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Thu, 23 Oct 2025 12:23:03 +0200 Subject: [PATCH 19/29] Update global.json --- global.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/global.json b/global.json index 5b68761ef8..cfe7d8cade 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "tools": { - "dotnet": "10.0.100-rtm.25521.107", + "dotnet": "10.0.100-rtm.25512.102", "runtimes": { "dotnet": [ "3.1.32", @@ -23,7 +23,7 @@ } }, "sdk": { - "version": "10.0.100-rtm.25521.107", + "version": "10.0.100-rtm.25512.102", "paths": [ ".dotnet", "$host$" From 8e5806c4c7b443e4afa1e3d75153d216b6177749 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Thu, 23 Oct 2025 13:43:10 +0200 Subject: [PATCH 20/29] Try dump MSTest* and Microsoft.Testing.* instead :/ --- StartDumpAsync.ps1 | 42 ------------------------------------------ run.ps1 | 13 ++++--------- 2 files changed, 4 insertions(+), 51 deletions(-) delete mode 100644 StartDumpAsync.ps1 diff --git a/StartDumpAsync.ps1 b/StartDumpAsync.ps1 deleted file mode 100644 index ed05504268..0000000000 --- a/StartDumpAsync.ps1 +++ /dev/null @@ -1,42 +0,0 @@ -param($Delay = 30) - -Import-Module "$PSScriptRoot/Microsoft.Diagnostics.NETCore.Client.dll" - - -$dir = "$PSScriptRoot/dumps" - - -$processes = Get-Process -Name "dotnet" -ErrorAction Ignore - -if (-not $processes) { - Set-Content -Path "$dir/output.txt" -Value "No dotnet processes found". -} - -Start-Sleep -Duration ([TimeSpan]::FromMinutes($Delay)) - -New-Item -ItemType Directory -Path $dir -Force -ErrorAction Ignore -foreach ($process in $processes) { - $name = "$($process.Id)_$($process.Name)" - - Set-Content -Path "$dir/$name.txt" -Value "Dumping $name" - - try { - $client = [Microsoft.Diagnostics.NETCore.Client.DiagnosticsClient]::new($process.Id); - $fullPath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$dir/$name.dmp") - $client.WriteDump("Normal", $fullPath); - - try { - $process.Kill() - } - catch { - Add-Content -Path "$dir/$name.txt" -Value "$_" - } - } - catch { - Add-Content -Path "$dir/$name.txt" -Value "$_" - } -} - - - - diff --git a/run.ps1 b/run.ps1 index 9cff39b748..3b9a42cea5 100644 --- a/run.ps1 +++ b/run.ps1 @@ -8,24 +8,19 @@ Import-Module "$PSScriptRoot/Microsoft.Diagnostics.NETCore.Client.dll" $dir = "$PSScriptRoot/dumps" -Start-Sleep -Duration ([TimeSpan]::FromSeconds(2)) +Start-Sleep -Duration ([TimeSpan]::FromMinutes(20)) -Write-Host "Waited two seconds.." +Write-Host "Timedout!! Dumping now..." -$processes = Get-Process -Name "dotnet" -ErrorAction Ignore +New-Item -ItemType Directory -Path $dir -Force -ErrorAction Ignore -Write-Host "Getting dotnet processes" +$processes = Get-Process -Name "Microsoft.Testing*","MSTest*" -ErrorAction Ignore if (-not $processes) { Set-Content -Path "$dir/output.txt" -Value "No dotnet processes found". Write-Host "No dotnet processes found." } -Start-Sleep -Duration ([TimeSpan]::FromMinutes(20)) - -Write-Host "Timedout!! Dumping now..." - -New-Item -ItemType Directory -Path $dir -Force -ErrorAction Ignore foreach ($process in $processes) { $name = "$($process.Id)_$($process.Name)" From ffada9f31d5b9fe5d8aef4055d2d21a8721ff42b Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Thu, 23 Oct 2025 14:46:55 +0200 Subject: [PATCH 21/29] ... --- run.ps1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/run.ps1 b/run.ps1 index 3b9a42cea5..203fbe5232 100644 --- a/run.ps1 +++ b/run.ps1 @@ -14,8 +14,12 @@ Write-Host "Timedout!! Dumping now..." New-Item -ItemType Directory -Path $dir -Force -ErrorAction Ignore +Write-Host "Getting processes..." + $processes = Get-Process -Name "Microsoft.Testing*","MSTest*" -ErrorAction Ignore +Write-Host "Got processes..." + if (-not $processes) { Set-Content -Path "$dir/output.txt" -Value "No dotnet processes found". Write-Host "No dotnet processes found." From 45537815602b577328350ed6476b4c14511e320f Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Thu, 23 Oct 2025 15:26:55 +0200 Subject: [PATCH 22/29] Adjust --- run.ps1 | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/run.ps1 b/run.ps1 index 203fbe5232..7dc864917f 100644 --- a/run.ps1 +++ b/run.ps1 @@ -19,12 +19,15 @@ Write-Host "Getting processes..." $processes = Get-Process -Name "Microsoft.Testing*","MSTest*" -ErrorAction Ignore Write-Host "Got processes..." +Write-Host $processes if (-not $processes) { + Write-Host "No processes found." Set-Content -Path "$dir/output.txt" -Value "No dotnet processes found". - Write-Host "No dotnet processes found." } +Write-Host "Iterating." + foreach ($process in $processes) { $name = "$($process.Id)_$($process.Name)" From dba18c624d495782ed478c852b8322254db06a85 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Fri, 24 Oct 2025 09:57:44 +0200 Subject: [PATCH 23/29] Don't dump, just get stack traces... --- eng/build.ps1 | 2 +- run.ps1 | 30 ++++++++++++++++-------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/eng/build.ps1 b/eng/build.ps1 index de689b9018..f22162dcef 100644 --- a/eng/build.ps1 +++ b/eng/build.ps1 @@ -37,7 +37,7 @@ Param( # Workaround for DOTNET_HOST_PATH not being set by older MSBuild # Removal is tracked by https://github.com/microsoft/testfx/issues/6767 if (-not $env:DOTNET_HOST_PATH) { - $env:DOTNET_HOST_PATH = [System.IO.Path]::GetFullPath(Join-Path (Join-Path (Join-Path $PSScriptRoot '..') '.dotnet') 'dotnet') + $env:DOTNET_HOST_PATH = [System.IO.Path]::GetFullPath((Join-Path (Join-Path (Join-Path $PSScriptRoot '..') '.dotnet') 'dotnet')) if (-not (Test-Path $env:DOTNET_HOST_PATH)) { $env:DOTNET_HOST_PATH = "$($env:DOTNET_HOST_PATH).exe" } diff --git a/run.ps1 b/run.ps1 index 7dc864917f..62d85970aa 100644 --- a/run.ps1 +++ b/run.ps1 @@ -4,26 +4,29 @@ Start-Job { $global:PSScriptRoot = $using:PSScriptRoot; dotnet test --solution N Write-Host "Started dotnet test" -Import-Module "$PSScriptRoot/Microsoft.Diagnostics.NETCore.Client.dll" +# Import-Module "$PSScriptRoot/Microsoft.Diagnostics.NETCore.Client.dll" -$dir = "$PSScriptRoot/dumps" +# $dir = "$PSScriptRoot/dumps" -Start-Sleep -Duration ([TimeSpan]::FromMinutes(20)) +dotnet tool install --global dotnet-stack + +Start-Sleep -Duration ([TimeSpan]::FromMinutes(1)) Write-Host "Timedout!! Dumping now..." -New-Item -ItemType Directory -Path $dir -Force -ErrorAction Ignore +# New-Item -ItemType Directory -Path $dir -Force -ErrorAction Ignore Write-Host "Getting processes..." -$processes = Get-Process -Name "Microsoft.Testing*","MSTest*" -ErrorAction Ignore +$processes = Get-Process -Name "Microsoft.Testing*","MSTest*","dotnet" -ErrorAction Ignore Write-Host "Got processes..." Write-Host $processes +dotnet stack ps + if (-not $processes) { Write-Host "No processes found." - Set-Content -Path "$dir/output.txt" -Value "No dotnet processes found". } Write-Host "Iterating." @@ -32,22 +35,21 @@ foreach ($process in $processes) { $name = "$($process.Id)_$($process.Name)" Write-Host "Dumping $name" - Set-Content -Path "$dir/$name.txt" -Value "Dumping $name" + dotnet stack report --process-id $process.Id try { - $client = [Microsoft.Diagnostics.NETCore.Client.DiagnosticsClient]::new($process.Id); - $fullPath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$dir/$name.dmp") - $client.WriteDump("Triage", $fullPath, $true); - Write-Host "Dump written" + # $client = [Microsoft.Diagnostics.NETCore.Client.DiagnosticsClient]::new($process.Id); + # $fullPath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$dir/$name.dmp") + # $client.WriteDump("Triage", $fullPath, $true); + # Write-Host "Dump written" try { $process.Kill() } catch { - Add-Content -Path "$dir/$name.txt" -Value "$_" + Write-Host "$_" } } catch { - Add-Content -Path "$dir/$name.txt" -Value "$_" - Write-Host "ERR DUMPING!!" + Write-Host "$_" } } From 36f021fa8dc696ef4214a8b3b807f68cc571669b Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Fri, 24 Oct 2025 09:59:31 +0200 Subject: [PATCH 24/29] 20mins --- run.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run.ps1 b/run.ps1 index 62d85970aa..1bd5f84204 100644 --- a/run.ps1 +++ b/run.ps1 @@ -10,7 +10,7 @@ Write-Host "Started dotnet test" dotnet tool install --global dotnet-stack -Start-Sleep -Duration ([TimeSpan]::FromMinutes(1)) +Start-Sleep -Duration ([TimeSpan]::FromMinutes(20)) Write-Host "Timedout!! Dumping now..." From e61741853835072cfbe8f8a608abe141555e4a11 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Fri, 24 Oct 2025 10:54:16 +0200 Subject: [PATCH 25/29] .. --- run.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run.ps1 b/run.ps1 index 1bd5f84204..8886f949cd 100644 --- a/run.ps1 +++ b/run.ps1 @@ -23,7 +23,7 @@ $processes = Get-Process -Name "Microsoft.Testing*","MSTest*","dotnet" -ErrorAct Write-Host "Got processes..." Write-Host $processes -dotnet stack ps +# dotnet stack ps if (-not $processes) { Write-Host "No processes found." From fd789d9e4d5d4e930e141744bd8dd478360991d6 Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Fri, 24 Oct 2025 11:29:32 +0200 Subject: [PATCH 26/29] :/ Comment out the dotnet stack report command in run.ps1. --- run.ps1 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run.ps1 b/run.ps1 index 8886f949cd..5e1ee97001 100644 --- a/run.ps1 +++ b/run.ps1 @@ -36,7 +36,7 @@ foreach ($process in $processes) { Write-Host "Dumping $name" - dotnet stack report --process-id $process.Id + # dotnet stack report --process-id $process.Id try { # $client = [Microsoft.Diagnostics.NETCore.Client.DiagnosticsClient]::new($process.Id); # $fullPath = $ExecutionContext.SessionState.Path.GetUnresolvedProviderPathFromPSPath("$dir/$name.dmp") From 465a88baaed1e91cddf5b570dfa027769f7abf3b Mon Sep 17 00:00:00 2001 From: Youssef Victor Date: Fri, 24 Oct 2025 11:30:23 +0200 Subject: [PATCH 27/29] Trace log --- azure-pipelines.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d4fc4bee2e..02f4cac065 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -277,6 +277,7 @@ stages: env: DOTNET_ROOT: $(Build.SourcesDirectory)/.dotnet NUGET_PACKAGES: $(Build.SourcesDirectory)/.packages + DOTNET_CLI_TEST_TRACEFILE: $(Build.SourcesDirectory)/dumps/tracelog.txt DOTNET_CLI_CONTEXT_VERBOSE: 1 - task: PublishBuildArtifacts@1 From b2c160a959d3b1471fc0e584ed9a025133a3215b Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Fri, 24 Oct 2025 12:30:05 +0200 Subject: [PATCH 28/29] .. --- run.ps1 | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/run.ps1 b/run.ps1 index 5e1ee97001..ec13c9a2d3 100644 --- a/run.ps1 +++ b/run.ps1 @@ -1,6 +1,10 @@ Write-Host "Starting dotnet test" -Start-Job { $global:PSScriptRoot = $using:PSScriptRoot; dotnet test --solution NonWindowsTests.slnf --no-build -bl:$PSScriptRoot/artifacts/TestResults/Debug/TestStep.binlog --no-progress -p:UsingDotNetTest=true } +if ($env:_BuildConfig -eq 'Debug') { + Start-Job { $global:PSScriptRoot = $using:PSScriptRoot; dotnet test --solution NonWindowsTests.slnf --no-build -bl:$PSScriptRoot/artifacts/TestResults/Debug/TestStep.binlog --no-progress -p:UsingDotNetTest=true } +} else { + dotnet test --solution NonWindowsTests.slnf --no-build --no-progress -p:UsingDotNetTest=true +} Write-Host "Started dotnet test" @@ -23,6 +27,8 @@ $processes = Get-Process -Name "Microsoft.Testing*","MSTest*","dotnet" -ErrorAct Write-Host "Got processes..." Write-Host $processes +ps -eo pid,command + # dotnet stack ps if (-not $processes) { From f6de2cdaf2a09da8afee85dd4d8ff8748aa65f32 Mon Sep 17 00:00:00 2001 From: Youssef1313 Date: Fri, 24 Oct 2025 13:02:53 +0200 Subject: [PATCH 29/29] ... --- run.ps1 | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/run.ps1 b/run.ps1 index ec13c9a2d3..58e989a379 100644 --- a/run.ps1 +++ b/run.ps1 @@ -1,10 +1,7 @@ Write-Host "Starting dotnet test" -if ($env:_BuildConfig -eq 'Debug') { - Start-Job { $global:PSScriptRoot = $using:PSScriptRoot; dotnet test --solution NonWindowsTests.slnf --no-build -bl:$PSScriptRoot/artifacts/TestResults/Debug/TestStep.binlog --no-progress -p:UsingDotNetTest=true } -} else { - dotnet test --solution NonWindowsTests.slnf --no-build --no-progress -p:UsingDotNetTest=true -} + +Start-Job { $global:PSScriptRoot = $using:PSScriptRoot; dotnet test --solution NonWindowsTests.slnf --no-build -bl:$PSScriptRoot/artifacts/TestResults/Debug/TestStep.binlog --no-progress -p:UsingDotNetTest=true } Write-Host "Started dotnet test"