NodeJS: Debuggen von „EventEmitter-Speicherverlust festgestellt. 11 Zuhörer hinzugefügt ”

Wie kann ich meine Anwendung debuggen, die diesen Fehler verursacht:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at Socket.EventEmitter.addListener (events.js:160:15)
    at Socket.Readable.on (_stream_readable.js:653:33)
    at Socket.EventEmitter.once (events.js:179:8)
    at TCP.onread (net.js:527:26)

Ich konnte das vermutete undichte Objekt nicht finden, um die Höreranzahl um zu erhöhen.setMaxListeners(0);

LÖSUNG (von Fardjad und Jan Salawa)

Mit Jan Salawas Recherchen fand ich eine funktionierende Bibliothek (Longjohn) zur Erhöhung der Stapelspuren verbose. Mit der Antwort von Fardjad habe ich herausgefunden, dass wir einen Prototyp haben müssenEventEmitter.addListener UND EventEmitter.on.

Mit der Lösung konnte ich diese neue Spur erhalten:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace
    at EventEmitter.addListener.EventEmitter.on (xxx/main.js:44:15)
    at Readable.on (_stream_readable.js:653:33)
    at ServerResponse.assignSocket (http.js:1072:10)
    at parser.onIncoming (http.js:1979:11)
    at parserOnHeadersComplete (http.js:119:23)
    at socket.ondata (http.js:1912:22)
    at TCP.onread (net.js:510:27)

Antworten auf die Frage(7)

Ihre Antwort auf die Frage