nodejs / nodejs/node

DNS Lookups Failing After Updating to Latest Node 20 and 18 for IBM i

Offen
#53,948 25 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

dns ibm i
Vorherrschende Sprache
JavaScript
Sterne
122k
Forks
37.3k
Ø Merge
4 T. 2 Std.
Gemergte PRs (30 T.)
283

Beschreibung

Version

v20.15.1

Platform
IBM i 7.3:

OS400 idev 3 7 00780002A1F1 powerpc Os
Subsystem

DNS

What steps will reproduce the bug?

Any DNS lookup fails with connection timeout. Can run this code to reproduce:

require("dns").resolve("smtp.office365.com", function() { console.log(arguments); })

Fails with ETIMEOUT, even though the system DNS configuration is good and other software can perform DNS lookups.

How often does it reproduce? Is there a required condition?

Every time. This started happening when updating to Node 20.15.1 and Node 18.20.4 for IBM i. Everything was working fine before the update. Before, I was using Node 20.11.1 and Node 18.18.2.

What is the expected behavior? Why is that the expected behavior?

I expect a good DNS lookup, as the system DNS configuration is good and most other software can perform lookups.

What do you see instead?

ETIMEOUT on any DNS lookup.

Additional information

An interesting thing we noticed that may relate....

On the affected systems, the NSLOOKUP CL command can perform lookups with no problem, but the nslookup command in PASE fails with ETIMEOUT for any lookup.

Beitragsleitfaden

Beitragsleitfaden öffnen

Erste Schritte

  1. Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
  3. Forke das Repository und arbeite in einem Branch.
  4. Öffne einen Pull Request, der die Issue-Nummer nennt.

Rechercherichtung

Beginne damit, das Problem mit require("dns").resolve("smtp.office365.com", ... ) auf IBM i 7.3 unter Node 20.15.1 oder 18.20.4 zu reproduzieren. Vergleiche das fehlschlagende PASE-nslookup-Verhalten mit dem funktionierenden NSLOOKUP-CL-Befehl und den zuvor funktionierenden Node-Versionen. Erledigt bedeutet, dass DNS-Lookups bei den betroffenen Versionen nicht mehr durch ein Timeout abgebrochen werden und die Regression durch einen geeigneten Test abgedeckt ist.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
node.js
Bereich
networking
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.