NodeJS: Wie Debuggen "EventEmitter Speicherleck erkannt. 11 Hörer hinzugefügt "

Wie kann ich meine debug-Anwendung, die diesen Fehler auslösen:

(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)

Konnte ich nicht finden, die vermutete undichte Objekt für die Erhöhung listener Grenze von .setMaxListeners(0);

LÖSUNG (von fardjad und jan salawa)

Mit jan salawa sucht, fand ich eine funktionierende Bibliothek (longjohn) für die Erhöhung der stack-traces ausführlich. Mit fardjad die Antwort, die ich gefunden haben, haben wir einen Prototyp EventEmitter.addListener UND EventEmitter.on.

Mit der Lösung, die ich bekommen konnte, diese neue Spur:

(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)

InformationsquelleAutor der Frage Ifnot | 2013-03-23

Schreibe einen Kommentar