From 520904b26cfe7f042eb8345a928227034c11b576 Mon Sep 17 00:00:00 2001 From: Ilia Pikulev Date: Mon, 2 Mar 2026 22:41:05 +1300 Subject: [PATCH] Fix: RangeError: Maximum call stack size exceeded --- graceful-fs.js | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/graceful-fs.js b/graceful-fs.js index 8d5b89e..8fb17d8 100644 --- a/graceful-fs.js +++ b/graceful-fs.js @@ -8,6 +8,7 @@ var util = require('util') /* istanbul ignore next - node 0.x polyfill */ var gracefulQueue var previousSymbol +var retryScheduled = false /* istanbul ignore else - node 0.x polyfill */ if (typeof Symbol === 'function' && typeof Symbol.for === 'function') { @@ -371,7 +372,15 @@ function patch (fs) { function enqueue (elem) { debug('ENQUEUE', elem[0].name, elem[1]) fs[gracefulQueue].push(elem) - retry() + + if (retryScheduled) + return + + retryScheduled = true + setTimeout(() => { + retryScheduled = false + retry() + }, 0) } // keep track of the timeout between retry() calls