test-child-process-pipe-dataflow failing on Windows
not ok 106 parallel/test-child-process-pipe-dataflow
---
duration_ms: 221.12800
severity: fail
exitcode: 1
stack: |-
node:assert:125
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected
+ '130086'
- '1048577'
at process.<anonymous> (C:\workspace\node-test-binary-windows-js-suites\node\test\parallel\test-child-process-pipe-dataflow.js:71:12)
at process.emit (node:events:523:35) {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: '130086',
expected: '1048577',
operator: 'strictEqual'
}
Node.js v21.0.0-pre
...
It's also failing on v16.x-staging, so I don't think it's related to a recent change on main, maybe a change with the infra?
Examples:
- https://ci.nodejs.org/job/node-test-binary-windows-js-suites/21218/ (#48296)
- https://ci.nodejs.org/job/node-test-binary-windows-js-suites/21215/ (
v16.x-staging) - https://ci.nodejs.org/job/node-test-binary-windows-js-suites/21214/ (#48292)
- https://ci.nodejs.org/job/node-test-binary-windows-js-suites/21219/ (#46561)
/cc @nodejs/platform-windows @nodejs/build
I am investigating on https://ci.nodejs.org/computer/test-azure_msft-win11_vs2022-arm64-3/
It's also failing on
v16.x-staging, so I don't think it's related to a recent change onmain, maybe a change with the infra?
Looking at the Node.js 16 daily builds, the first failure there appears to be https://ci.nodejs.org/view/Node.js%20Daily/job/node-daily-v16.x-staging/36/, i.e. https://ci.nodejs.org/job/node-test-binary-windows-js-suites/21215/. Those failures happened on:
- test-azure_msft-win10_vs2019-x64-4 https://ci.nodejs.org/job/node-test-binary-windows-js-suites/21215/RUN_SUBSET=2,nodes=win10-COMPILED_BY-vs2019/
- test-rackspace-win2012r2_vs2017-x64-4 https://ci.nodejs.org/job/node-test-binary-windows-js-suites/21215/RUN_SUBSET=2,nodes=win2012r2-COMPILED_BY-vs2019-x86/
According to https://github.com/nodejs/node/pull/48331, the test is failing due to a difference in behaviour of wc. I believe wc is coming from git.
Looking at the prior windows-update-reboot run before those jobs we can see that git was updated e.g. https://ci.nodejs.org/manage/computer/test-azure_msft-win10_vs2019-x64-4/builds https://ci.nodejs.org/job/windows-update-reboot/label=test-azure_msft-win10_vs2019-x64-4/2370/consoleFull
09:00:37
09:00:37 You have git v2.40.1 installed. Version 2.41.0 is available based on your source(s).
09:00:53
Progress: Downloading git.install 2.41.0... %
...
Progress: Downloading git.install 2.41.0... 100%
09:00:56
09:00:56 git.install v2.41.0 [Approved]
09:00:56 git.install package files upgrade completed. Performing other installation steps.
09:00:57 Using Git LFS
09:00:57 Installing 64-bit git.install...
09:01:28 git.install has been installed.
09:01:28 git.install installed to 'C:\Program Files\Git'
09:01:28 git.install can be automatically uninstalled.
09:01:29 The upgrade of git.install was successful.
09:01:29 Software installed to 'C:\Program Files\Git\'
09:01:33
Progress: Downloading git 2.41.0... 62%
Progress: Downloading git 2.41.0... 100%
09:01:33
09:01:33 git v2.41.0 [Approved]
09:01:33 git package files upgrade completed. Performing other installation steps.
09:01:33 The upgrade of git was successful.
09:01:33 Software installed to 'C:\ProgramData\chocolatey\lib\git'
09:01:34 git.install v2.41.0 is the latest version available based on your source(s).
(Similarly https://ci.nodejs.org/job/windows-update-reboot/label=test-rackspace-win2012r2_vs2017-x64-4/2370/consoleFull for the other machine.)
It's might be due to latest Git 64-bit version switch to Cygwin v3.4.0 -> https://gitforwindows.org/32-bit.html
I can confirm that the issue is caused by Git for Windows v2.41.0. With v2.40.0 the test passes locally.
Probably related to https://github.com/git-for-windows/git/issues/4464
I've also seen test-child-process-stdio-reuse-readable-stdio fail recently on Windows and I think the underlying issue is the same.
The upstream issue was closed without a fix.
It's almost constantly failing now, perhaps we should just skip it on Windows until it's properly fixed to at least give the CI some green space..