dns.resolveSrv returns ECONNREFUSED on Windows since v24.13.0 (still broken in v25.x and v26.x)
Nessuno ha ancora preso questa issue.
- Lingua principale
- JavaScript
- Stelle
- 122k
- Fork
- 37.4k
- Merge medio
- 4g 3h
- PR unite (30g)
- 272
Descrizione
Version
v24.14.0, v25.8.1
Platform
Microsoft Windows NT 10.0.26200.0 x64
Subsystem
dns (c-ares)
What steps will reproduce the bug?
Run the following script:
const dns = require("dns");
dns.resolveSrv("_mongodb._tcp.mongodb.<your-cluster>.mongodb.net", (err, addresses) => {
console.log(err ? `error ${err.code}: ${err.message}` : addresses);
});
Run with Node.js >= v24.13.0 on Windows.
How often does it reproduce? Is there a required condition?
100% reproducible on Windows.
No special conditions required.
What is the expected behavior? Why is that the expected behavior?
The SRV query should resolve successfully and return records.
Example output (Node v24.12.0 and v25.2.1):
[
{
name: 'shard-00-00.<your-cluster>.mongodb.net',
port: 27017,
priority: 0,
weight: 0,
type: 'SRV'
},
{
name: 'shard-00-01.<your-cluster>.mongodb.net',
port: 27017,
priority: 0,
weight: 0,
type: 'SRV'
},
{
name: 'shard-00-02.<your-cluster>.mongodb.net',
port: 27017,
priority: 0,
weight: 0,
type: 'SRV'
}
]
This behavior is consistent with:
- previous Node.js versions
- Node.js v25.2.1
- other platforms (tested on Linux)
What do you see instead?
error ECONNREFUSED: querySrv ECONNREFUSED _mongodb._tcp.<your-cluster>.mongodb.net
This happens consistently even with valid public DNS resolvers configured on the system.
Additional information
This appears related to the issue described in #61435 and the fix in #61453 (commit 17b363a66c).
However, the problem persists on Windows.
From testing:
-
Node.js 24:
- Last known working version: v24.12.0
- First broken version: v24.13.0+
-
Node.js 25:
- Last known working version: v25.2.1
- Reproducible in all tested versions up to v25.8.1
The issue is 100% reproducible and specifically affects SRV resolution (dns.resolveSrv).
The issue does not occur in earlier versions and is therefore a regression.
This suggests the fix may be incomplete or that the regression was reintroduced.
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia con la riproduzione di dns.resolveSrv nell’issue e confronta le modifiche del commit 17b363a66c e dell’issue #61435, incluso il fix seguito in #61453. Riproduci il risultato ECONNREFUSED su Windows con le versioni di Node.js elencate e verifica che le query SRV restituiscano nuovamente i record senza introdurre regressioni sulle altre piattaforme.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- javascript, node.js
- Ambito
- networking
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100