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

12.9.0 MaxListenersExceededWarning #29239

Closed
XhmikosR opened this issue Aug 21, 2019 · 41 comments
Closed

12.9.0 MaxListenersExceededWarning #29239

XhmikosR opened this issue Aug 21, 2019 · 41 comments
Labels
http Issues or PRs related to the http subsystem.

Comments

@XhmikosR
Copy link
Contributor

XhmikosR commented Aug 21, 2019

  • Version: v12.9.0
  • Platform: All platforms [This line edited by @Trott to help people arriving at this issue/]

Started to happen after updating to 12.9.0. I'm getting:

MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit

even when doing npm i in a project:

C:\Users\xmr\Desktop\bootstrapcdn>npm i
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:3860) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
...

Going back to 12.8.1 and the warnings are gone.

@mscdex
Copy link
Contributor

mscdex commented Aug 21, 2019

Do you have a minimal code example to reproduce this?

@XhmikosR
Copy link
Contributor Author

Sorry, I don't :/ I just noticed this with a simple npm install.

@ex1st
Copy link

ex1st commented Aug 21, 2019

Simple to reproduce:

npm i -g grunt-cli
(node:31849) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:31849) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:31849) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:31849) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:31849) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:31849) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:31849) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:31849) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
/home/ex1st/.nvm/versions/node/v12.9.0/bin/grunt -> /home/ex1st/.nvm/versions/node/v12.9.0/lib/node_modules/grunt-cli/bin/grunt
+ grunt-cli@1.3.2
updated 1 package in 3.342s

@targos
Copy link
Member

targos commented Aug 21, 2019

I can reproduce.

Here's the stack trace:

(node:1445) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
    at _addListener (events.js:267:17)
    at TLSSocket.addListener (events.js:283:10)
    at TLSSocket.Readable.on (_stream_readable.js:863:35)
    at tickOnSocket (_http_client.js:670:10)
    at onSocketNT (_http_client.js:717:5)
    at processTicksAndRejections (internal/process/task_queues.js:77:11)

@targos
Copy link
Member

targos commented Aug 21, 2019

_http_client.js:670 points to #29081

/cc @ronag @mcollina

@targos targos added http Issues or PRs related to the http subsystem. windows Issues and PRs related to the Windows platform. labels Aug 21, 2019
@ex1st
Copy link

ex1st commented Aug 21, 2019

Hi @targos, I've caught same warning on Linux.

@targos targos removed the windows Issues and PRs related to the Windows platform. label Aug 21, 2019
@ronag
Copy link
Member

ronag commented Aug 21, 2019

I suspect I know what it is. My computer broke so I need to sort that out. Will have a PR later today.

@mcollina
Copy link
Member

@targos let’s do a revert with fast-track and get 12.9.1 out of the door asap :/.

Trott added a commit to Trott/io.js that referenced this issue Aug 21, 2019
This reverts commit bdf07f4.

The commit causes somewhat rampant MaxListenerExceeded warnings on
fairly generic npm installs.

Fixes: nodejs#29239
@Trott
Copy link
Member

Trott commented Aug 21, 2019

@targos let’s do a revert with fast-track and get 12.9.1 out of the door asap :/.

Revert PR is in #29244

@ronag
Copy link
Member

ronag commented Aug 21, 2019

@XhmikosR: Are you able to confirm whether #29245 solves your issue?

@XhmikosR
Copy link
Contributor Author

If I had a Windows binary I could :)

@vendramini
Copy link

Yep, also in Linux Mint 19.2.

image

@ronag
Copy link
Member

ronag commented Aug 21, 2019

Reproduced on OSX as well.

@Baterka
Copy link

Baterka commented Aug 21, 2019

  • npm- Debian 9.9.0
  • Node v12.9.0
  • npm 6.10.2 (6.11.1 also)

Same problem:

root@server:~# npm install -g pm2
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:11793) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
/root/.nvm/versions/node/v12.9.0/bin/pm2 -> /root/.nvm/versions/node/v12.9.0/lib/node_modules/pm2/bin/pm2
/root/.nvm/versions/node/v12.9.0/bin/pm2-dev -> /root/.nvm/versions/node/v12.9.0/lib/node_modules/pm2/bin/pm2-dev
/root/.nvm/versions/node/v12.9.0/bin/pm2-docker -> /root/.nvm/versions/node/v12.9.0/lib/node_modules/pm2/bin/pm2-docker
/root/.nvm/versions/node/v12.9.0/bin/pm2-runtime -> /root/.nvm/versions/node/v12.9.0/lib/node_modules/pm2/bin/pm2-runtime
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/pm2/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

+ pm2@3.5.1
updated 1 package in 10.716s

@steklopod
Copy link

Have the same issue
2019-08-22_14-21-56

@JoshuaVSherman
Copy link

Any time-frame on this fix please? This is from nodejs current alpine docker image performing yarn install
image

@eXvimmer
Copy link

eXvimmer commented Aug 22, 2019

I get : (node:5052) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket].
Use emitter.setMaxListeners() to increase limit

I use windows 7 and it's really frustrating. I get this error when I run npm install or npm run test or trying to ues my dev-dependencies via scripts in package.json
2019-08-22T13_45_55_417Z-debug.log

@funkyfisch
Copy link

i got the same error message, with the following code: 12936, while running
npm install -g nodemon
npm install -g elasticdump

Ubuntu 18

@ludovicm67
Copy link

Same issue for me when I'm doing a npm install in my CI to build a Docker image of a ReactJS app using kaniko on my GitLab pipeline.

The builder stage is using the node:12.9.0-alpine Docker image.

Here what I can see in my logs:

image

@xpertyst
Copy link

(node:25644) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:25644) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
npm WARN deprecated left-pad@1.3.0: use String.prototype.padStart()
(node:25644) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
npm WARN eslint-plugin-react-native@3.6.0 requires a peer of eslint@^3.17.0 || ^4 || ^5 but none is installed. You must install peer dependencies yourself.
npm WARN eslint-plugin-react@7.12.4 requires a peer of eslint@^3.0.0 || ^4.0.0 || ^5.0.0 but none is installed. You must install peer dependencies yourself.

  • react-test-renderer@16.8.6
  • @babel/core@7.5.5
  • eslint@6.2.1
  • metro-react-native-babel-preset@0.54.1
  • @babel/runtime@7.5.5
  • @react-native-community/eslint-config@0.0.3
  • jest@24.9.0
  • babel-jest@24.9.0
    added 267 packages from 258 contributors, updated 3 packages and audited 949815 packages in 93.724s
    found 0 vulnerabilities

Done ?

@jtsom
Copy link

jtsom commented Aug 23, 2019

Same on MacOS installing (updating) @angular/cli

> % npm i -g @angular/cli
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:21463) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
/usr/local/bin/ng -> /usr/local/lib/node_modules/@angular/cli/bin/ng
-> % node -v
v12.9.0
-> % npm -v
6.11.2

@Josufst
Copy link

Josufst commented Aug 23, 2019

So there is a very recent bug or something?

@ronag
Copy link
Member

ronag commented Aug 23, 2019

@Josufst: It was introduced in 12.9.

@armenr
Copy link

armenr commented Aug 23, 2019

I'm hitting this, reproducibly too - on OSX, Ubuntu, and Ubuntu in Docker :)

@Trott Trott closed this as completed in f39ad8a Aug 23, 2019
@Trott
Copy link
Member

Trott commented Aug 23, 2019

I'm going to re-open this but lock it. A fix for this has landed but it won't be out until we get a 12.9.1 release out. This bug affects 12.9.0 only. 12.8.1 and earlier are unaffected.

Note that this bug just means you're getting a bunch of warnings, but npm and yarn and whatever else is still functioning correctly (probably).

Not sure yet when someone on @nodejs/releasers will have time to put together a 12.9.1 release, but we have a reasonably brisk release cadence for 12.x so it should be soon.

@Trott Trott reopened this Aug 23, 2019
@nodejs nodejs locked and limited conversation to collaborators Aug 23, 2019
@nodejs nodejs unlocked this conversation Aug 23, 2019
@Trott
Copy link
Member

Trott commented Aug 23, 2019

Unlocked but please read this mini-FAQ before posting.

What version/OS/etc. does this affect?

Node.js 12.9.0, all environments Windows, macOS, Linux, Docker, yarn, npm, you-name-it, if it's using Node.js 12.9.0, it's affected.

What are the ramifications of this bug?

If you're hitting it through npm or yarn, probably nothing other than seeing the warnings. Your package installations should work just fine.

I am hitting this same bug on this or that platform using this or that tool.

Thanks. Please don't post "this is affecting me too" comments and please don't be offended if your comment gets hidden as "off topic" to try to keep this issue as usable as possible. As noted above, this affects everything on Node.js 12.9.0.

When is a fix coming out?

Don't know yet but soon. We'll update here when we know. Probably some time on August 27 (UTC).

I'm hitting this bug in some other version than Node.js 12.9.0.

Probably not, but you may have a different issue triggering the same warning. Open a separate issue in https://github.com/nodejs/help or (if you are reasonably certain the issue is with Node.js itself) in this repository.

@viztor

This comment has been minimized.

@juarezfrench

This comment has been minimized.

@msreekm

This comment has been minimized.

targos pushed a commit that referenced this issue Aug 26, 2019
Fixes: #29239
PR-URL: #29245
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
@Trott
Copy link
Member

Trott commented Aug 26, 2019

12.9.1 release which fixes this is being prepared and should be out in the next 36 hours or so (although that's merely a prediction based on passed experience, not a promise/guarantee).

Reproducing the FAQ above for visibility:

What version/OS/etc. does this affect?

Node.js 12.9.0, all environments Windows, macOS, Linux, Docker, yarn, npm, you-name-it, if it's using Node.js 12.9.0, it's affected.

What are the ramifications of this bug?

If you're hitting it through npm or yarn, probably nothing other than seeing the warnings. Your package installations should work just fine.

I am hitting this same bug on this or that platform using this or that tool.

Thanks. Please don't post "this is affecting me too" comments and please don't be offended if your comment gets hidden as "off topic" to try to keep this issue as usable as possible. As noted above, this affects everything on Node.js 12.9.0.

When is a fix coming out?

Probably some time on August 27 (UTC).

I'm hitting this bug in some other version than Node.js 12.9.0.

Probably not, but you may have a different issue triggering the same warning. Open a separate issue in https://github.com/nodejs/help or (if you are reasonably certain the issue is with Node.js itself) in this repository.

@XhmikosR
Copy link
Contributor Author

v12.9.1 is out, thanks for the fix!

@SamAsEnd
Copy link

Hey guys

I just wanna confirm that I had the same bug a couple of hours ago with a message like this

(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
(node:15310) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 drain listeners added to [TLSSocket]. Use emitter.setMaxListeners() to increase limit
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

added 1004 packages from 485 contributors and audited 17139 packages in 35.296s
found 0 vulnerabilities

I was on Linux Mint 19.1 and Node 12.9.0-1nodesource1

I have updated my nodejs to 12.9.1-1nodesource1 and run the same install and everything is working great with no MaxListenersExceededWarning

🥇

@SVendittelli

This comment has been minimized.

@ronag
Copy link
Member

ronag commented Sep 2, 2019

@SVendittelli: If you are getting this on v10 please open a separate issue. This specific issue was cause by a regression introduced in 12.9.0.

@SVendittelli

This comment has been minimized.

@ediardo

This comment has been minimized.

@Trott
Copy link
Member

Trott commented Sep 20, 2019

If you are seeing this message and running Node,js 12.9.0, update to the most recent 12.x.

If you are seeing this message with some other version of Node.js, it is not this issue. It is most likely that you have a bug in your code (or there's a bug in one of your dependencies). Or there's no bug but your code is creating a lot of listeners. Or maybe it's a different bug in Node.js. Open an issue in https://github.com/nodejs/help. (Or if you are very certain the bug is in Node.js itself, open an issue in this issue tracker.)

I am going to lock this issue.

@nodejs nodejs locked as resolved and limited conversation to collaborators Sep 20, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
http Issues or PRs related to the http subsystem.
Projects
None yet
Development

Successfully merging a pull request may close this issue.