maxwellhadley / node-red-contrib-rfxcom

node-RED nodes to access an RFXtrx433 transceiver
BSD 2-Clause "Simplified" License
22 stars 13 forks source link

Possible memory leak detected #111

Open Strixx76 opened 3 years ago

Strixx76 commented 3 years ago

When looking through the logs (trying to help with issue #109 ) i found the following lines:

(node:16) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 security1 listeners added. Use emitter.setMaxListeners() to increase limit
(node:16) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 lighting1 listeners added. Use emitter.setMaxListeners() to increase limit
(node:16) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 lighting2 listeners added. Use emitter.setMaxListeners() to increase limit
(node:16) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 lighting5 listeners added. Use emitter.setMaxListeners() to increase limit
(node:16) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 lighting6 listeners added. Use emitter.setMaxListeners() to increase limit
(node:16) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 hunterfan listeners added. Use emitter.setMaxListeners() to increase limit
(node:16) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 fan listeners added. Use emitter.setMaxListeners() to increase limit

I am currently using: Node-RED version: v1.2.7 Node.js version: v10.23.1 node-red-contrib-rfxcom version: 1.5.2 (running in Docker 19.03.13)

Can't remember ever seeing that before.

maxwellhadley commented 3 years ago

Weird - there has never been a version 1.5.2 of node-red-contrib-rfxcom published! It went from 1.4.4 to 2.0.0, and is currently at 2.11.3

The message is only a warning, not an error. Each rfx-light-in node will add one listener to all the above events: how many of these do you have in your flow?

Strixx76 commented 3 years ago

Sorry. The version of node-red-contrib-rfxcom is 2.11.3, i was looking at the wrong node... :-( Strangely I have counted to 12 rfx-light-in in my flows.

So should I try to rebuild my flows and use fewer in nodes?

maxwellhadley commented 3 years ago

No, that should be fine - I ought to increase the warning limit automatically by one each time a node is added to the flow or something. The limit is set per event emitter object though, not per event: it may be easier just to turn off the warning (by setting the limit to Infinity)