# MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 scanStop listeners added. Use emitter.setMaxListeners() to increase limit #22

**URL:** https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400
**Category:** General
**Created:** [17 July 2019 13:01 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400 "2019-07-17T13:01:15Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![hermanaguirrej](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hermanaguirrej/32/10184_2.png) [@hermanaguirrej](https://discourse.nodered.org/u/hermanaguirrej)
#### Post date: [17 July 2019 13:01 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/1 "2019-07-17T13:01:15Z")

</div>

Hi

I have a flow in node red that after some time stops initialising the BLE scanner node. I have a delay loop activating the scanner (noble node) switching between true and false at a set interval. Everything works well initially but after a while the scan node remains on 'started' state and nothing updates. The node red console indicates "MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 scanStop listeners added. Use emitter.setMaxListeners() to increase limit noble node red."

I have read that this can be changed in the node js but don't know what file I need to change. Any help would be great

Thanks

---

<div class="post-metadata">

### Author: ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)
#### Post date: [17 July 2019 13:02 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/2 "2019-07-17T13:02:32Z")

</div>

Which node are you using to do the scanning? The issue will likely be inside that node and for its author to fix.

---

<div class="post-metadata">

### Author: ![hermanaguirrej](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/hermanaguirrej/32/10184_2.png) [@hermanaguirrej](https://discourse.nodered.org/u/hermanaguirrej)
#### Post date: [17 July 2019 13:28 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/3 "2019-07-17T13:28:23Z")

</div>

> **[node-red-contrib-noble](https://flows.nodered.org/node/node-red-contrib-noble)**
>
> A Node-RED node that uses Noble to interact with BLEs

I posted this in the github but didnt get a reply. I dont know what else I can use or if I can change the authors script to increase the max listeners.

Any help would be great 🙂

---

<div class="post-metadata">

### Author: ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)
#### Post date: [17 July 2019 17:24 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/4 "2019-07-17T17:24:52Z")

</div>

I wouldn’t hold your breath waiting for a response. That node looks like it has been abandoned. Last update was over 3 years ago.

---

<div class="post-metadata">

### Author: ![drmibell](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/drmibell/32/8424_2.png) [@drmibell](https://discourse.nodered.org/u/drmibell)
#### Post date: [17 July 2019 19:48 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/5 "2019-07-17T19:48:39Z")

</div>

I'm slightly surprised that the node stops working, but I haven't looked at the code. The message is only a warning, not an error, but there may be something that responds to it and shuts the node down. It's less likely that you are really running out of memory, because the symptoms would be worse.

The immediate problem could be fixed by doing as the message says:

> [@hermanaguirrej](#):
>
> Use emitter.setMaxListeners() to increase limit

(The default limit is 10 listeners, which is why the node complains when the count reaches 11.)

If the warning persists for large values of setMaxListeners, the node may not be doing its housekeeping properly and leaking memory as a result.

---

<div class="post-metadata">

### Author: ![T0T4R4](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/t0t4r4/32/10850_2.png) [@T0T4R4](https://discourse.nodered.org/u/T0T4R4)
#### Post date: [14 November 2019 03:15 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/6 "2019-11-14T03:15:15Z")

</div>

Where do we set this emitter.setMaxListeners() thing ?

---

<div class="post-metadata">

### Author: ![dceejay](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/dceejay/32/38_2.png) [@dceejay](https://discourse.nodered.org/u/dceejay)
#### Post date: [14 November 2019 11:15 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/7 "2019-11-14T11:15:03Z")

</div>

It has to be set in the node that is emitting the event, which means editing the source of the node that is producing them. But as noted it's normally just a warning.

---

<div class="post-metadata">

### Author: ![WhiteLion](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/whitelion/32/12266_2.png) [@WhiteLion](https://discourse.nodered.org/u/WhiteLion)
#### Post date: [27 November 2019 10:56 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/8 "2019-11-27T10:56:15Z")

</div>

I get these warnings too.

[click me](http://puu.sh/EJcRF/699fafa268.png)

---

<div class="post-metadata">

### Author: ![knolleary](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/knolleary/32/3_2.png) [@knolleary](https://discourse.nodered.org/u/knolleary)
#### Post date: [27 November 2019 11:09 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/9 "2019-11-27T11:09:44Z")

</div>

@WhiteLion this is a generic warning, so by itself, it doesn't give us enough information to help. In your flows, have you got more than ten instances of any particular contrib node?

---

<div class="post-metadata">

### Author: ![WhiteLion](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/whitelion/32/12266_2.png) [@WhiteLion](https://discourse.nodered.org/u/WhiteLion)
#### Post date: [27 November 2019 21:01 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/10 "2019-11-27T21:01:02Z")

</div>

> [@knolleary](#):
>
> particular contrib node

I think I do have. I realy rape node-red: my (light) switch flow (I ve 12 of them) has 166 nodes .... about 20 dashbord about 80 function nodes with 3 - 40 lines of code each.... some is debug, delay, subflow ...

[this is how it looks like](http://puu.sh/EJmMC/a32f46e7c6.png)

Mos would say its a bad use of node-red ... but I dont care, it works for me 🙂

---

<div class="post-metadata">

### Author: ![YLM](https://avatars.discourse-cdn.com/v4/letter/y/59ef9b/32.png) [@YLM](https://discourse.nodered.org/u/YLM)
#### Post date: [15 December 2020 18:19 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/11 "2020-12-15T18:19:36Z")

</div>

Did you find where to set this ? I have the same trouble and I do not find where to define it... Thank you !

---

<div class="post-metadata">

### Author: ![randomname](https://avatars.discourse-cdn.com/v4/letter/r/779978/32.png) [@randomname](https://discourse.nodered.org/u/randomname)
#### Post date: [15 March 2021 09:37 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/12 "2021-03-15T09:37:12Z")

</div>

Sorry to resurrect this thread, but I found that one of my nodes suffers from the same culprit. If I know which node causes it, that would really help me forward. This is the output from my log:

```auto
(node:17) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 connecting listeners added. Use emitter.setMaxListeners() to increase limit
(node:17) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 connect listeners added. Use emitter.setMaxListeners() to increase limit
(node:17) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 close listeners added. Use emitter.setMaxListeners() to increase limit

```

How can I find what `node:17` is?

---

<div class="post-metadata">

### Author: ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)
#### Post date: [15 March 2021 10:10 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/13 "2021-03-15T10:10:01Z")

</div>

Well. one way would be to disable parts of your flow to narrow down the suspect. You could also add a `catch` node connected to a `dbug` node (set to display the 'complete msg object') and see if it gives any more information.

What nodes are you using in the flow?

---

<div class="post-metadata">

### Author: ![randomname](https://avatars.discourse-cdn.com/v4/letter/r/779978/32.png) [@randomname](https://discourse.nodered.org/u/randomname)
#### Post date: [15 March 2021 10:28 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/14 "2021-03-15T10:28:31Z")

</div>

Thank you for your response.

Disabling parts of my flow looks like a lot of work, given the many number of tabs involved. I think it's especially hard because there seems no consistent way to reproduce the warning messages in my case, so maybe it's not a big problem after all?

Anyhow, I'm using lots of modules, so posting the list here might help cross-reference it with others to narrow down a (or more) possible suspects:

```auto
"md5": "^2.2.1",
"node-red-contrib--cron-pkjq": "0.0.1",
"node-red-contrib-bigtimer": "~2.7.3",
"node-red-contrib-bool-gate": "~1.0.2",
"node-red-contrib-cast": "~0.2.17",
"node-red-contrib-castv2": "~4.0.3",
"node-red-contrib-eiscp": "0.3.3",
"node-red-contrib-elasticsearch-jupalcf": "~1.1.14",
"node-red-contrib-harmony-websocket": "~2.2.6",
"node-red-contrib-huemagic": "~3.0.0",
"node-red-contrib-influxdb": "~0.5.4",
"node-red-contrib-json": "~0.2.0",
"node-red-contrib-moment": "~4.0.0",
"node-red-contrib-msg-speed": "~2.0.0",
"node-red-contrib-openhab3": "^1.3.3",
"node-red-contrib-simpletime": "~2.10.0",
"node-red-contrib-smb": "~1.2.0",
"node-red-contrib-solaredge": "~0.1.0",
"node-red-contrib-throttle": "~0.1.6",
"node-red-contrib-timed-counter": "0.0.4",
"node-red-contrib-timeframerlt": "~0.3.1",
"node-red-node-aws": "~0.2.0",
"node-red-node-darksky": "~0.1.19",
"node-red-node-email": "~1.8.3",
"node-red-node-random": "~0.3.1",
"node-red-node-rbe": "~0.2.9",
"regression-fork-norounding": "1.4.0-11",
"thingzi-logic-timers": "~1.1.3",
"trend": "0.3.0"

```

---

<div class="post-metadata">

### Author: ![Marty1982](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/marty1982/32/20162_2.png) [@Marty1982](https://discourse.nodered.org/u/Marty1982)
#### Post date: [9 August 2021 02:39 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/15 "2021-08-09T02:39:39Z")

</div>

Hi there!

I have the same issue using docker image of Node Red and version 2.0.5.

Does anyone figured it out?.

Regards!

---

<div class="post-metadata">

### Author: ![developedbymayur](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/developedbymayur/32/56701_2.png) [@developedbymayur](https://discourse.nodered.org/u/developedbymayur)
#### Post date: [4 May 2022 10:57 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/16 "2022-05-04T10:57:05Z")

</div>

Same here did you solve the issue?

---

<div class="post-metadata">

### Author: ![JpEncausse](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/jpencausse/32/2561_2.png) [@JpEncausse](https://discourse.nodered.org/u/JpEncausse)
#### Post date: [26 September 2024 16:46 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/17 "2024-09-26T16:46:52Z")

</div>

Hello,  
I'm reviving this topic to get a better understanding of this Error if it is an error.

```auto
(node:2072002) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 opened listeners added to [WebSocketListenerNode]. Use emitter.setMaxListeners() to increase limit
0|Demo_iLab | 
(node:2072002) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 erro listeners added to [WebSocketListenerNode]. Use emitter.setMaxListeners() to increase limit
0|Demo_iLab | 
(node:2072002) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 closed listeners added to [WebSocketListenerNode]. Use emitter.setMaxListeners() to increase limit

```

My understanding :

- I have a WebSocket "Input Node" that forward messages along the pipes
- I have a SubFlow "Send Message" that wrap a WebSocket "Output Node" to reply custom messages
- I use 100 instances of this subflow to send messages back to the user. (I have a session mechanics that retrieve the socket context and reply)

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/d/f/df60d4fbf4d58515a63d85ecfe12eac92b0515de.png)

This mechanics is really clean and works well for years along Node-Red various version. But I always get this error in the logs and I wondering if I should increase this max limit ?

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/2/e/2edeeb2fa264564a64bc2311a700c2fbebe62995.png)

The Arrows targets a parent's parent's flow that use my websocket subflow.

What happenend If I use that cool Subflow Node in many flows and suflows ? Is it reused or duplicated ? I assume it is duplicated and that would explain this warning ?

Is it a problem ? May be for many concurent messages ?

---

<div class="post-metadata">

### Author: ![Steve-Mcl](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/steve-mcl/32/4826_2.png) [@Steve-Mcl](https://discourse.nodered.org/u/Steve-Mcl)
#### Post date: [26 September 2024 17:00 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/18 "2024-09-26T17:00:03Z")

</div>

> [@JpEncausse](#):
>
> Is it reused or duplicated

Every node in a subflow is a unique instantiated node.

If you have 10 nodes in a subflow and you have 100 instances of that subflow, you have 1000 nodes. If you use "full deploy" mode, then 1000 nodes get destroyed and re-created (and all of the internal connections they create etc etc). It is common to see slowdowns when working with large numbers of subflows.

If you have subflows in subflows, then this count starts getting to crazy numbers.

* * *

Often, there is no need for a subflow. for example, using the link-call node can be a better fit and will not have the same issue.

PS: I rarely use subflows. I often use link-call to create subroutines instead.

---

<div class="post-metadata">

### Author: ![JpEncausse](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/jpencausse/32/2561_2.png) [@JpEncausse](https://discourse.nodered.org/u/JpEncausse)
#### Post date: [27 September 2024 07:26 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/19 "2024-09-27T07:26:36Z")

</div>

Thanks @Steve-Mcl !

In my case I use a lot of Subflow because I build a reusable framework (and upgrade are simple)

1. Top Node is a WebChat Node
2. Sub Node is the LLM component used by WebChat
3. Sub Sub Node is the Model Manager

This exemple, let buid project focus on different layers according to the objectives.

I don't find deploy very slow in my case. It's almost instant.

In fact I use Subflow as reusable components with parameters and with latest Node-RED version and env var it's really clean.

**Question** :  
According to your description, if I have, let's say, 50? Websocket Output bind to the same output.

- Is it a problem ?
- I assume it is the reason of the warning. Should I increase it ? What are the side effect ?

(Yes I could create a link node in that case but it will provide a bad UX)

---

<div class="post-metadata">

### Author: ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)
#### Post date: [27 September 2024 07:44 UTC](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400/20 "2024-09-27T07:44:52Z")

</div>

> [@JpEncausse](#):
>
> Yes I could create a link node in that case but it will provide a bad UX)

@Steve-Mcl is not referring to link nodes, but to _link-call_ nodes, which is a different concept that makes reusable flows possible, without cluttering the UI as it will exist as a single node within the flow.

eg.

 ![image](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/3X/7/7/77f8b4a7f533bffa5c9d32c7502746fb6c43329b.png)

It is one of the best underrated things in node-red imo.

[Next page](https://discourse.nodered.org/t/maxlistenersexceededwarning-possible-eventemitter-memory-leak-detected-11-scanstop-listeners-added-use-emitter-setmaxlisteners-to-increase-limit-22/13400.md?page=2)
