NodeJS : Comment déboguer “EventEmitter fuite de mémoire détecté. 11 auditeurs ajoutée”

Comment puis-je déboguer mon application qui affiche cette erreur:

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

Je ne pouvais pas trouver de l'hypothèse d'une fuite de l'objet pour l'augmentation de l'auditeur limite par .setMaxListeners(0);

SOLUTION (à partir de fardjad et jan salawa)

Avec jan salawa de recherches j'ai trouvé un travail de bibliothèque (longjohn) pour augmenter les traces de pile détaillé. Avec fardjad la réponse que j'ai trouvé que nous avons pour le prototype EventEmitter.addListener ET EventEmitter.on.

Avec la solution que je pourrais obtenir cette nouvelle trace:

(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)
  • Check this out à propos de l'agent.maxSockets weblog.bocoup.com/node-stress-test-analysis . Peut-être que c'est une cause.
  • Essayé, sans succès. J'ai mis require("http").globalAgent.maxSockets = Infinity; à mon main.js mais rien n'a changé ... 🙁 j'ai aussi essayé ulimit -n 999999 de commande pour ouvrir le fichier limite et -–nouse-idle-notification pour suspension en temps réel garbage collector ...
  • Cela a complètement raccroche mon nœud de serveur js comme une exception lors de l'exécution sur le plan local lorsque j'appuie sur ctrl + C autre traitement de démarrer. J'ai essayé de réglage maxListeners pas utiliser, Qu'est-ce qu'il dit est-il que j'ai aussi beaucoup de gars connectés à la même auditeurs ou est-il en me disant que j'ai trop d'événements
InformationsquelleAutor Ifnot | 2013-03-23