I get the following error after navigating between two pages a couple of times.
(node:14880) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 timeout listeners added to [TLSSocket]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit
at genericNodeError (node:internal/errors:984:15)
at wrappedFn (node:internal/errors:538:14)
at _addListener (node:events:593:17)
at TLSSocket.addListener (node:events:611:10)
at Readable.on (node:internal/streams/readable:1126:35)
at HTTPParser.parserOnIncomingClient [as onIncoming] (node:_http_client:693:10)
at HTTPParser.parserOnHeadersComplete (node:_http_common:119:17)
at TLSSocket.socketOnData (node:_http_client:540:22)
at TLSSocket.emit (node:events:519:28)
at addChunk (node:internal/streams/readable:559:12)
at readableAddChunkPushByteMode (node:internal/streams/readable:510:3)
at Readable.push (node:internal/streams/readable:390:5)
at TLSWrap.onStreamRead (node:internal/stream_base_commons:191:23)
I have narrowed it down and this is the code that leads to the error:
export async function loader({ params }: LoaderFunctionArgs) {
const events = await getEvents(params);
if (!events) {
throw new Response("Not Found", {
status: 404,
});
}
return json(events);
}
export async function getEvents(params: Params<string>) {
if (!params.lang) {
params = { lang: "nb" };
}
const EVENTS_QUERY = groq`*[_type=="event" && language==$lang]`;
const events = await client.fetch(EVENTS_QUERY, params);
return events;
}
I don’t want to increase the limit. What can I do to reduce the listeners?
Project is remix (2.9.2) and sanity.
“node”: “>=20.0.0”
“vite”: “^5.1.0”
“sanity”: “^3.45.0”