GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — test: fix IPv6 checks on IBM i by abmusse · Pull Request #46546 · nodejs/node

Conversation

@abmusse

@abmusse abmusse commented Feb 7, 2023

Copy link
Copy Markdown
Contributor

This fix should help resolve some test failures:

  • test.parallel/test-net-autoselectfamily
  • test.parallel/test-net-autoselectfamilydefault

That fail with:

AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ 'Unknown system error -42'
- 'EADDRNOTAVAIL'
    at Socket.<anonymous> (/home/IOJS/build/workspace/node-test-commit-ibmi/nodes/ibmi73-ppc64/test/parallel/test-net-autoselectfamilydefault.js:131:18)
    at Socket.<anonymous> (/home/IOJS/build/workspace/node-test-commit-ibmi/nodes/ibmi73-ppc64/test/common/index.js:448:15)
    at Socket.emit (node:events:518:28)
    at emitErrorNT (node:internal/streams/destroy:151:8)
    at emitErrorCloseNT (node:internal/streams/destroy:116:3)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
  generatedMessage: true,
  code: 'ERR_ASSERTION',
  actual: 'Unknown system error -42',
  expected: 'EADDRNOTAVAIL',
  operator: 'strictEqual'
}

Node.js v20.0.0-pre

The issues I discovered were 2 fold:

  1. The hasIPv6 function cannot determine IPv6 on IBM i. The loop back interface on IBM i is named *LOOPBACK.

  2. When IPv6 is disabled IBM i returns EUNATCH (errno 42). For now, I've added an errno check in test case for. I believe that libuv needs to get updated to handle EUNATCH so that the error code can be addressed as EUNATCH. Similar to include: add EOVERFLOW status code mapping libuv/libuv#3145

CC @nodejs/platform-ibmi
CC @richardlau

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@nodejs-github-bot nodejs-github-bot added needs-ci PRs that need a full CI run. test Issues and PRs related to Node.js core tests and test infrastructure. labels Feb 7, 2023
lpinca
lpinca approved these changes Feb 7, 2023
View reviewed changes
Comment thread test/parallel/test-net-autoselectfamily.js Resolved

Uh oh!

There was an error while loading. Please reload this page.

@lpinca lpinca added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Feb 8, 2023
@github-actions github-actions Bot added request-ci-failed Starting CI with the request-ci label failed and requires manual intervention. and removed request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. labels Feb 8, 2023
@github-actions

github-actions Bot commented Feb 8, 2023

Copy link
Copy Markdown
Contributor
Failed to start CI
- Validating Jenkins credentials
✖  Jenkins credentials invalid
https://github.com/nodejs/node/actions/runs/4127678728
All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

richardlau
richardlau approved these changes Feb 8, 2023
View reviewed changes
@richardlau richardlau added the commit-queue-squash PRs the Commit Queue should land as one squashed commit. label Feb 8, 2023
cjihrig
cjihrig approved these changes Feb 9, 2023
View reviewed changes
@richardlau richardlau removed the request-ci-failed Starting CI with the request-ci label failed and requires manual intervention. label Feb 9, 2023
jasnell
jasnell approved these changes Feb 11, 2023
View reviewed changes
@richardlau richardlau added ibm i Issues and PRs related to the IBM i platform. request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. and removed request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. labels Feb 20, 2023
@richardlau

richardlau commented Feb 20, 2023

Copy link
Copy Markdown
Member

@abmusse Can you rebase this to fix the conflict?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@abmusse
test: fix IPv6 checks on IBM i
6871813
@abmusse

abmusse commented Feb 21, 2023

Copy link
Copy Markdown
Contributor Author

@abmusse Can you rebase this to fix the conflict?

@richardlau
Fixed up the conflict by rebasing and squashed all intermediate commits into one commit.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@richardlau richardlau added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Feb 22, 2023
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Feb 22, 2023
@nodejs-github-bot

nodejs-github-bot commented Feb 22, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/49876/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@nodejs-github-bot

nodejs-github-bot commented Feb 22, 2023

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/49888/

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@richardlau

richardlau commented Feb 22, 2023

Copy link
Copy Markdown
Member

This fix should help resolve some test failures:

  • test.parallel/test-net-autoselectfamily
  • test.parallel/test-net-autoselectfamilydefault

FWIW I ran an IBM i CI build for this:
https://ci.nodejs.org/job/node-test-commit-ibmi/nodes=ibmi73-ppc64/1072
when compared to today's daily IBM i CI:
https://ci.nodejs.org/job/node-test-commit-ibmi/nodes=ibmi73-ppc64/1070
parallel/test-net-autoselectfamily no longer fails 🎉. However parallel/test-net-autoselectfamilydefault is still failing -- presumably this PR should be modifying that test as well based on the PR description.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@abmusse

abmusse commented Feb 22, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor Author

This fix should help resolve some test failures:

  • test.parallel/test-net-autoselectfamily
  • test.parallel/test-net-autoselectfamilydefault

FWIW I ran an IBM i CI build for this: https://ci.nodejs.org/job/node-test-commit-ibmi/nodes=ibmi73-ppc64/1072 when compared to today's daily IBM i CI: https://ci.nodejs.org/job/node-test-commit-ibmi/nodes=ibmi73-ppc64/1070 parallel/test-net-autoselectfamily no longer fails tada. However parallel/test-net-autoselectfamilydefault is still failing -- presumably this PR should be modifying that test as well based on the PR description.

Good catch @richardlau I need to apply the same errno 42 check in that file as well!

        else if (common.isIBMi) {
          // IBMi returns EUNATCH (ERRNO 42) when IPv6 is disabled
          // keep this errno assertion until EUNATCH is recognized by libuv
          assert.strictEqual(error.errno, -42);
        }

Update added fix in

e8a7d20

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@abmusse
fixup! test: fix IPv6 checks on IBM i
e8a7d20
@richardlau richardlau added the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Feb 22, 2023
@github-actions github-actions Bot removed the request-ci Add this label to start a Jenkins CI on a PR. Only starts once the PR has an approving review. label Feb 22, 2023
@nodejs-github-bot

nodejs-github-bot commented Feb 22, 2023 •
edited by richardlau
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Collaborator

CI: https://ci.nodejs.org/job/node-test-pull-request/49892/
IBM i CI showing both tests now pass: https://ci.nodejs.org/job/node-test-commit-ibmi/nodes=ibmi73-ppc64/1073

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@github-actions github-actions Bot mentioned this pull request Feb 23, 2023
CI Reliability 2023-02-23 nodejs/reliability#504
Open
31 tasks
richardlau
richardlau approved these changes Feb 23, 2023
View reviewed changes
@richardlau richardlau added the commit-queue PRs queued for automated landing through the Commit Queue. label Feb 23, 2023
@nodejs-github-bot nodejs-github-bot removed the commit-queue PRs queued for automated landing through the Commit Queue. label Feb 23, 2023
@nodejs-github-bot
nodejs-github-bot merged commit c2c61e0 into nodejs:main Feb 23, 2023
@nodejs-github-bot

nodejs-github-bot commented Feb 23, 2023

Copy link
Copy Markdown
Collaborator

Landed in c2c61e0

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@abmusse
abmusse deleted the ibmi-ipv6-test-fix branch February 23, 2023 15:13
@github-actions github-actions Bot mentioned this pull request Feb 24, 2023
CI Reliability 2023-02-24 nodejs/reliability#505
Open
25 tasks
@juanarbol juanarbol added the backport-requested-v18.x label Mar 1, 2023
@juanarbol

juanarbol commented Mar 1, 2023

Copy link
Copy Markdown
Member

This is not landing cleanly on v18.x

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@richardlau

richardlau commented Mar 1, 2023

Copy link
Copy Markdown
Member

@juanarbol This hasn't gone out in a current release yet so it's too early to be considered for v18.x.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

targos pushed a commit that referenced this pull request Mar 13, 2023
@abmusse @targos
test: fix IPv6 checks on IBM i
2c4f670
PR-URL: #46546
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@targos targos mentioned this pull request Mar 14, 2023
v19.8.0 release proposal #47087
Merged
@abmusse abmusse mentioned this pull request May 17, 2023
test: handle EUNATCH #48050
Closed
mhdawson pushed a commit that referenced this pull request Aug 23, 2023
@abmusse @mhdawson
test: handle EUNATCH
ee1f609
When IPv6 is disabled IBM i returns EUNATCH (errno 42)
instead of EADDRNOTAVAIL.

libuv 1.46.0 adds EUNATCH errno

We can now use error.code to refer to EUNATCH
in node versions that use libuv 1.46.0.

PR-URL: #48050
Refs: #48049
Refs: #46546
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
UlisesGascon pushed a commit that referenced this pull request Sep 10, 2023
@abmusse @UlisesGascon
test: handle EUNATCH
3455439
When IPv6 is disabled IBM i returns EUNATCH (errno 42)
instead of EADDRNOTAVAIL.

libuv 1.46.0 adds EUNATCH errno

We can now use error.code to refer to EUNATCH
in node versions that use libuv 1.46.0.

PR-URL: #48050
Refs: #48049
Refs: #46546
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
targos pushed a commit that referenced this pull request Nov 10, 2023
@abmusse @targos
test: fix IPv6 checks on IBM i
cb6ef74
PR-URL: #46546
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
@richardlau richardlau mentioned this pull request Nov 16, 2023
request: access to the AIX CI Machine nodejs/build#3571
Closed
@targos targos mentioned this pull request Nov 28, 2023
v18.19.0 release proposal #50953
Merged
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
@sercher
test: fix IPv6 checks on IBM i
e2c3b41
PR-URL: nodejs/node#46546
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
sercher added a commit to sercher/graaljs that referenced this pull request Apr 25, 2024
@sercher
test: fix IPv6 checks on IBM i
b6832d2
PR-URL: nodejs/node#46546
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@jasnell jasnell jasnell approved these changes
@lpinca lpinca lpinca approved these changes
@cjihrig cjihrig cjihrig approved these changes
@richardlau richardlau richardlau approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

commit-queue-squash PRs the Commit Queue should land as one squashed commit. ibm i Issues and PRs related to the IBM i platform. needs-ci PRs that need a full CI run. test Issues and PRs related to Node.js core tests and test infrastructure.

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

7 participants

@abmusse @richardlau @nodejs-github-bot @juanarbol @jasnell @lpinca @cjihrig
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.