Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

vfs: RealFSProvider.watchFile ignores the listener and unwatchFile leaks it

Aperta
#66,223 0 commenti 0 reazioni 1 assegnatario Vedi su GitHub

@trivikr ci sta già lavorando.

Dal 23/9/2026.

Valutazione

Questa issue non è ancora stata valutata.

Descrizione

vfs
Version

main

Platform
All
Subsystem

vfs

What steps will reproduce the bug?
import { mkdtempSync, watchFile, writeFileSync, unwatchFile } from "fs";
import { create, RealFSProvider } from "node:vfs";

const d = mkdtempSync("/tmp/v-");
const f = create(new RealFSProvider(d)).mount() + "/f";
const cb = () => console.log("fired");

watchFile(f, { interval:50 }, cb);

setTimeout(() => writeFileSync(f, "x"), 50);
setTimeout(() => {
  unwatchFile(f, cb);
  console.log("done, should exit");
}, 200);
How often does it reproduce? Is there a required condition?

Always

What is the expected behavior? Why is that the expected behavior?
fired
fired
done, should exit

fired prints within ~50–100ms of the write (the { interval: 50 } poll detects the stat change), then unwatchFile(f, cb) at 200ms removes the callback and the process exits cleanly with code 0.

What do you see instead?
done, should exit
<process hangs>

fired never prints - even though the change happens at 50ms and the watcher polls every 50ms for 150ms before unwatch. cb was never registered at all. The hang after done, should exit is the leaked stub keeping the loop alive.

Additional information

No response

Lingua principale
JavaScript
Stelle
122k
Fork
37.4k
Merge medio
4g 2h
PR unite (30g)
277

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di nodejs/node

Tutte le issue di nodejs/node

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.