yehya / express-longpoll

Lightweight long polling for express.js
ISC License
33 stars 13 forks source link

warning: possible EventEmitter memory leak detected #12

Open adams-family opened 3 years ago

adams-family commented 3 years ago

Version 0.0.6 generates the following warning:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at EventEmitter.logPossibleMemoryLeak (/usr/src/app/node_modules/eventemitter2/lib/eventemitter2.js:53:15)
    at EventEmitter.growListenerTree (/usr/src/app/node_modules/eventemitter2/lib/eventemitter2.js:218:35)
    at EventEmitter.on (/usr/src/app/node_modules/eventemitter2/lib/eventemitter2.js:492:24)
    at EventEmitter.many (/usr/src/app/node_modules/eventemitter2/lib/eventemitter2.js:269:10)
    at EventEmitter.once (/usr/src/app/node_modules/eventemitter2/lib/eventemitter2.js:249:10)
    at sub (/usr/src/app/node_modules/express-longpoll/index.js:135:36)
    at _app.get (/usr/src/app/node_modules/express-longpoll/index.js:142:21)
    at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)
    at next (/usr/src/app/node_modules/express/lib/router/route.js:137:13)
    at middleware (/usr/src/app/node_modules/express-longpoll/index.js:106:50)
    at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)
    at next (/usr/src/app/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/usr/src/app/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/usr/src/app/node_modules/express/lib/router/layer.js:95:5)
    at /usr/src/app/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/usr/src/app/node_modules/express/lib/router/index.js:335:12

These are my package.json dependencies:

    "express": "^4.17.1",
    "express-longpoll": "0.0.6",
    "moment": "^2.24.0",
    "morgan": "^1.9.1",
    "socket.io": "^2.3.0"

Node version:

$ node --version
v10.22.0

Running in docker using this image: node:10.22

It happens to me in every project, even in very small demo project, therefore I think that someone else must have seen this, too? Any ideas how to fix this?

katokishin commented 3 years ago

It might not be the fundamental solution you're looking for, but creating the polling endpoint with longpoll.create("/poll", { maxListeners: <number> }); does seem to increase the limit.