Repository navigation
test_dtrace fails on Windows Server 2025 #138744
Copy link
Copy link
Closed
Labels
OS-windowsinfraCI, GitHub Actions, buildbots, Dependabot, etc.CI, GitHub Actions, buildbots, Dependabot, etc.testsTests in the Lib/test dirTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Bug report
Bug description:
GitHub Actions is in the process of migrating windows-latest from windows-2022 to windows-2025:
This change will be rolled out over a period of several weeks beginning 2025-09-02 and will complete on 2025-09-30
This is causing failures for forks which have already been migrated, for example:
======================================================================
FAIL: test_function_entry_return (test.test_dtrace.DTraceNormalTests.test_function_entry_return)
----------------------------------------------------------------------
Traceback (most recent call last):
File "D:\a\cpython\cpython\Lib\test\test_dtrace.py", line 38, in normalize_trace_output
result.sort(key=lambda row: int(row[0]))
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\a\cpython\cpython\Lib\test\test_dtrace.py", line 38, in <lambda>
result.sort(key=lambda row: int(row[0]))
~~~^^^^^^^^
ValueError: invalid literal for int() with base 10: 'dtrace: failed to compile script D:\\a\\cpython\\cpython\\Lib\\test\\dtracedata\\call_stack.d: line 3: pid provider is not installed on this system'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "D:\a\cpython\cpython\Lib\test\test_dtrace.py", line 124, in test_function_entry_return
self.run_case("call_stack")
~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "D:\a\cpython\cpython\Lib\test\test_dtrace.py", line 119, in run_case
actual_output, expected_output = self.backend.run_case(
~~~~~~~~~~~~~~~~~~~~~^
name, optimize_python=self.optimize_python)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\a\cpython\cpython\Lib\test\test_dtrace.py", line 53, in run_case
actual_output = normalize_trace_output(self.trace_python(
script_file=abspath(name + self.EXTENSION),
python_file=abspath(name + ".py"),
optimize_python=optimize_python))
File "D:\a\cpython\cpython\Lib\test\test_dtrace.py", line 42, in normalize_trace_output
raise AssertionError(
"tracer produced unparsable output:\n{}".format(output)
)
AssertionError: tracer produced unparsable output:
dtrace: failed to compile script D:\a\cpython\cpython\Lib\test\dtracedata\call_stack.d: line 3: pid provider is not installed on this systemhttps://github.com/picnixz/cpython/actions/runs/17610564159/job/50031376950#step:1:9
Upstream and my fork are still on 2022, but let's pin to windows-2022 so we can separately investigate and fix for 2025, and then pin to windows-2025.
(Copied verbatim from #138743)
Linked PRs
- gh-138744: GitHub Actions: pin to
windows-2022#138743 - [3.14] gh-138744: GitHub Actions: pin to
windows-2022(GH-138743) #138752 - [3.13] gh-138744: GitHub Actions: pin to
windows-2022(GH-138743) #138753 - [3.12] gh-138744: GitHub Actions: pin to
windows-2022(GH-138743) #138754 - [3.11] gh-138744: GitHub Actions: pin to
windows-2022(GH-138743) #138755 - [3.10] gh-138744: GitHub Actions: pin to
windows-2022(GH-138743) #138757 - [3.9] gh-138744: GitHub Actions: pin to
windows-2022(GH-138743) #138758 - [3.14] gh-138744: Skip test_dtrace on Windows #144657
- [3.13] gh-138744: Skip test_dtrace on Windows (GH-144657) #144668
- [3.14] gh-138744: Upgrade Windows to 2025 in GitHub Actions #144669
- gh-138744: Upgrade Windows to 2025 in GitHub Actions #144682
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
OS-windowsinfraCI, GitHub Actions, buildbots, Dependabot, etc.CI, GitHub Actions, buildbots, Dependabot, etc.testsTests in the Lib/test dirTests in the Lib/test dirtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Activity
gh-138744: GitHub Actions: pin to `windows-2022` (#138743)
pythongh-138744: GitHub Actions: pin to `windows-2022` (pythonGH-138743)
[3.13] pythongh-138744: GitHub Actions: pin to `windows-2022` (python…
[3.12] pythongh-138744: GitHub Actions: pin to `windows-2022` (python…
[3.11] pythongh-138744: GitHub Actions: pin to `windows-2022` (python…
[3.10] pythongh-138744: GitHub Actions: pin to `windows-2022` (python…
[3.9] pythongh-138744: GitHub Actions: pin to `windows-2022` (pythonG…
[3.14] gh-138744: GitHub Actions: pin to `windows-2022` (GH-138743) (#…
vstinner commentedon Sep 10, 2025
https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/dtrace
Before,
test_dtracewas skipped since thedtracecommand was missing.[3.13] gh-138744: GitHub Actions: pin to `windows-2022` (GH-138743) (#…
[3.9] gh-138744: GitHub Actions: pin to `windows-2022` (GH-138743) (G…
4 remaining items
vstinner commentedon Feb 10, 2026
Good idea, I wrote #144657 to skip test_dtrace on Windows in the 3.14 branch.
pythongh-138744: Skip test_dtrace on Windows
[3.14] gh-138744: Skip test_dtrace on Windows (#144657)
[3.14] pythongh-138744: Skip test_dtrace on Windows (pythonGH-144657)
pythongh-138744: Upgrade Windows to 2025 in GitHub Actions
[3.13] gh-138744: Skip test_dtrace on Windows (GH-144657) (#144668)
chris-eibl commentedon Feb 10, 2026
Thanks for doing this @vstinner. Having those tests
passskipped on Windows 2025 Servers is great.Regarding upgrading the GitHub Actions I have a question:
Looking at https://github.com/python/release-tools/blob/main/windows-release/stage-build.yml,
windows-2022is taken to build the official release binaries. AFAIU @zooba, this should be kept for 3.13 and 3.14.But for 3.15 we'd like to parameterize it to be able to use
windows-2025-vs2026(untilwindows-2025gets VS 2026 in May) to be able to build with tailcalling support for Windows. See also #144679.Shouldn't we use the same version to build in CI, that is stay on
windows-2022for the 3.13 and 3.14 branches?pythongh-138744: Upgrade Windows to 2025 in GitHub Actions
zooba commentedon Feb 11, 2026
Realistically, the OS is going to have no impact on the produced binaries, so I'm not worried about that.
Changing VS version implies different compilers being available, and different Windows SDK install being available. Generally, WinSDK updates are irrelevant (I'm only aware of one exception to this in the last ~decade), and MSVC updates are usually worth it. Nothing in the C ABI is going to change with a new compiler (the C++ ABI would, which is why we don't use it), but more importantly we may need to change the files that are distributed (e.g. the addition of
vcruntime140_1.dll).If the test suites all pass on VS 2026, either because toolset v143 is available on all the machines or v145 doesn't cause any breakage, and no additional files need to be redistributed, then I see no harm in updating them all.
gh-138744: Upgrade Windows to 2025 in GitHub Actions (#144682)
pythongh-138744: Upgrade Windows to 2025 in GitHub Actions (python#14…
vstinner commentedon Feb 16, 2026
test_dtrace is now skipped on Windows in 3.13, 3.14 and main branches.
The main branch now uses
windows-2025CI image in GitHub Action.The initial issue (test_dtrace fails on Windows Server 2025) has been fixed. I close the issue.
#144680 prepares Python 3.15 for Visual Studio 2026.
pythongh-138744: Upgrade Windows to 2025 in GitHub Actions (python#14…
pythongh-138744: Upgrade Windows to 2025 in GitHub Actions (python#14…