Failure Details
- Pipeline: runtime-coreclr crossgen2 outerloop
- Build: 1361393
- Job:
Test crossgen2-comparison build windows x86 Release
- Failed Task: Create cross-platform crossgen baseline
- Configuration: windows / x86 / Release
- Error Category: build-error
Failing Tests
| Test Name |
Platform |
Error Type |
crossgen2-comparison crossgen_framework |
windows-x86 |
Python script exit code 1 |
Error Output
The python script crossgen2_comparison.py processes all 236 framework assemblies but fails because dotnet.exe cannot be found.
Error details
[command]C:\python3\python.exe D:\a\_work\1\s\src\tests\Common\scripts\crossgen2_comparison.py crossgen_framework
--crossgen D:\a\_work\1\s\artifacts\bin\crossgen2_inbuild\x86\Release\crossgen2.dll
--dotnet D:\a\_work\1\s\dotnet.cmd
--core_root D:\a\_work\1\s\artifacts\tests\coreclr\windows.x86.Release\Tests\CrossCompileRoot\dlls
--result_dir D:\a\_work\1\s\artifacts\tests\coreclr\windows.x86.Release\Tests\CrossCompileRoot\log
--target_os windows --target_arch x86 --compiler_arch_os windows_x64
D:\a\_work\1\s\src\tests\Common\scripts\crossgen2_comparison.py:250: DeprecationWarning: There is no current event loop
loop = asyncio.get_event_loop()
' stderr'The system cannot find the file specified.
'"\dotnet.exe"' is not recognized as an internal or external command,
operable program or batch file.
[236:236]: D:\a\_work\1\s\artifacts\bin\crossgen2_inbuild\x86\Release\crossgen2.dll WindowsBase.dll
##[error]The process 'C:\python3\python.exe' failed with exit code 1
Regression Details
- Previous outerloop build 1359430 (2026-03-31):
Test crossgen2-comparison build windows x86 Release passed
- Current build 1361393 (2026-04-01): fails
This is a new regression. A similar failure on windows x64 was previously tracked in #13 and appeared to have resolved; this x86 variant is new.
Analysis
The error '"\dotnet.exe"' is not recognized indicates a path resolution issue in the crossgen2 comparison infrastructure:
- The script is invoked with
--dotnet D:\a\_work\1\s\dotnet.cmd (the repo-root wrapper)
dotnet.cmd appears to resolve to a bare \dotnet.exe path that doesn't exist
- The script proceeds to process all 236 assemblies (some may succeed via a fallback path) but ultimately exits with code 1 due to the earlier error
The quoting pattern '"\dotnet.exe"' in the error suggests either:
- The
dotnet.cmd wrapper is producing a malformed path with double-quotes
- The python script
src/tests/Common/scripts/crossgen2_comparison.py is incorrectly quoting or resolving the --dotnet argument
Recommended Action
This failure requires investigation of the dotnet path resolution in the crossgen2 comparison pipeline:
- Check
src/tests/Common/scripts/crossgen2_comparison.py around line 250 and wherever it invokes dotnet.cmd / dotnet.exe
- Examine
dotnet.cmd at the repo root to understand how it resolves the actual dotnet SDK path
- Look for recent changes to the crossgen2-comparison pipeline YAML (
eng/pipelines/coreclr/crossgen2-comparison.yml) or the python script that may have altered path handling
- Compare the PATH and environment between the passing build (1359430) and failing build (1361393)
CI Log
Generated by Crossgen2 CI Failure Triage · ◷
Failure Details
Test crossgen2-comparison build windows x86 ReleaseFailing Tests
crossgen2-comparison crossgen_frameworkError Output
The python script
crossgen2_comparison.pyprocesses all 236 framework assemblies but fails becausedotnet.execannot be found.Error details
Regression Details
Test crossgen2-comparison build windows x86 ReleasepassedThis is a new regression. A similar failure on windows x64 was previously tracked in
#13and appeared to have resolved; this x86 variant is new.Analysis
The error
'"\dotnet.exe"' is not recognizedindicates a path resolution issue in the crossgen2 comparison infrastructure:--dotnet D:\a\_work\1\s\dotnet.cmd(the repo-root wrapper)dotnet.cmdappears to resolve to a bare\dotnet.exepath that doesn't existThe quoting pattern
'"\dotnet.exe"'in the error suggests either:dotnet.cmdwrapper is producing a malformed path with double-quotessrc/tests/Common/scripts/crossgen2_comparison.pyis incorrectly quoting or resolving the--dotnetargumentRecommended Action
This failure requires investigation of the dotnet path resolution in the crossgen2 comparison pipeline:
src/tests/Common/scripts/crossgen2_comparison.pyaround line 250 and wherever it invokesdotnet.cmd/dotnet.exedotnet.cmdat the repo root to understand how it resolves the actual dotnet SDK patheng/pipelines/coreclr/crossgen2-comparison.yml) or the python script that may have altered path handlingCI Log