Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Possible EventTarget memory leak detected #124

Open
nonsintetic opened this issue Feb 2, 2025 · 0 comments
Open

[Bug]: Possible EventTarget memory leak detected #124

nonsintetic opened this issue Feb 2, 2025 · 0 comments
Labels
bug Something isn't working

Comments

@nonsintetic
Copy link

nonsintetic commented Feb 2, 2025

Hardware

T-Lora v1

Connection Type

HTTP

Firmware Version

2.5.4.8d288d5

Description

Running the library on NodeJS 18.20.5. After a minute or so I keep getting messages about MaxListenersExceededWarning.

It seems to be related to the usage of AbortController() and a bug in NodeJS below version 20. Having a single instance of AbortController that is re-used for all fetch requests will cause the error I'm getting. A workaround would be having a controller on each request and clearing it once it's done its job.

related:
nodejs/node#52203
nodejs/undici#3157

Relevant console output

(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 102 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 103 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 104 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 105 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 106 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 107 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 108 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 109 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 110 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 111 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
09:56:46:911    TRACE   [iMeshDevice:HttpConnection]    HandleMeshPacket 📦 Received POSITION_APP packet
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 112 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 113 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 114 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
09:56:52:908    TRACE   [iMeshDevice:HttpConnection]    HandleMeshPacket 📦 Received POSITION_APP packet
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 115 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 116 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
09:56:55:906    TRACE   [iMeshDevice:HttpConnection]    HandleMeshPacket 📦 Received TELEMETRY_APP packet
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 117 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 118 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 119 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 120 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 121 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
09:57:07:905    TRACE   [iMeshDevice:HttpConnection]    HandleMeshPacket 📦 Received TELEMETRY_APP packet
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 122 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 123 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 124 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 125 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 126 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 127 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 128 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
09:57:25:910    TRACE   [iMeshDevice:HttpConnection]    HandleMeshPacket 📦 Received TELEMETRY_APP packet
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 129 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 130 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 131 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 132 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 133 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 134 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 135 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 136 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
(node:4940) MaxListenersExceededWarning: Possible EventTarget memory leak detected. 137 abort listeners added to [AbortSignal]. Use events.setMaxListeners() to increase limit
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant