kmalakoff / kmalakoff/tinker

EventEmitter memory leak

Open
#3 0 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
CoffeeScript
Stars
6
Forks
1
PR merge metrics
No merged PRs in 30d

Description

Got this during a `tinker init`

```
(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use emitter.setMaxListeners() to increase limit.
Trace:
at ReadStream.EventEmitter.addListener (events.js:179:15)
at ReadStream.Readable.on (_stream_readable.js:667:33)
at new Interface (readline.js:124:11)
at Object.exports.createInterface (readline.js:38:10)
at Object.Interface.createInterface (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/readline2/index.js:39:21)
at PromptUI.UI (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/ui/baseUI.js:23:40)
at new PromptUI (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/ui/prompt.js:26:8)
at Object.inquirer.prompt (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/inquirer.js:31:16)
at /Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/src/init/module.coffee:26:16
at /Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/src/module.coffee:213:26
at notify (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/queue-async/queue.js:47:18)
at Object.q.await (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/queue-async/queue.js:62:25)
at Module.module.exports.Module.repositories (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/src/module.coffee:213:11)
at Function.ModuleInit.selectRepository (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/src/init/module.coffee:23:12)
at ModuleInit.init (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/src/init/module.coffee:20:16)
at Module.module.exports.Module.init (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/src/module.coffee:66:5)
at /Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/src/init/tinker.coffee:62:68
at iterate (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/async/lib/async.js:149:13)
at /Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/async/lib/async.js:160:25
at PromptUI.completed (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/src/init/module.coffee:36:35)
at PromptUI.onCompletion (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/ui/prompt.js:68:10)
at AnonymousObserver.Rx.AnonymousObserver.AnonymousObserver.completed (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1816:12)
at AnonymousObserver.Rx.internals.AbstractObserver.AbstractObserver.onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1753:22)
at AutoDetachObserverPrototype.completed (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:8903:31)
at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1753:22)
at AnonymousObserver._onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:2759:56)
at AnonymousObserver.Rx.AnonymousObserver.AnonymousObserver.completed (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1816:12)
at AnonymousObserver.Rx.internals.AbstractObserver.AbstractObserver.onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1753:22)
at AutoDetachObserverPrototype.completed (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:8903:31)
at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1753:22)
at AutoDetachObserverPrototype.completed (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:8903:31)
at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1753:22)
at AnonymousObserver._onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:2759:56)
at AnonymousObserver.Rx.AnonymousObserver.AnonymousObserver.completed (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1816:12)
at AnonymousObserver.Rx.internals.AbstractObserver.AbstractObserver.onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1753:22)
at AutoDetachObserverPrototype.completed (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:8903:31)
at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1753:22)
at AutoDetachObserverPrototype.completed (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:8903:31)
at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onCompleted (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1753:22)
at /Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/utils/utils.js:53:13
at /Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/lodash/dist/lodash.js:5604:23
at /Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/ui/prompt.js:96:7
at Object.utils.runAsync (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/utils/utils.js:37:5)
at Prompt.filter (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/prompts/base.js:183:9)
at Prompt.done (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/prompts/base.js:71:10)
at Prompt.onSubmit (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/lib/prompts/list.js:131:8)
at AnonymousObserver.Rx.AnonymousObserver.AnonymousObserver.next (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1801:12)
at AnonymousObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1730:22)
at AutoDetachObserverPrototype.next (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:8880:31)
at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1730:22)
at AnonymousObserver._onNext (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:4061:30)
at AnonymousObserver.Rx.AnonymousObserver.AnonymousObserver.next (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1801:12)
at AnonymousObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1730:22)
at AutoDetachObserverPrototype.next (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:8880:31)
at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1730:22)
at Subject.Rx.Subject.addProperties.onNext (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:9032:31)
at AutoDetachObserverPrototype.next (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:8880:31)
at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1730:22)
at AutoDetachObserverPrototype.next (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:8880:31)
at AutoDetachObserver.Rx.internals.AbstractObserver.AbstractObserver.onNext (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:1730:22)
at Interface.innerHandler (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/rx/dist/rx.all.js:5134:18)
at Interface.EventEmitter.emit (events.js:107:17)
at Interface._onLine (readline.js:202:10)
at Interface._line (readline.js:531:8)
at Interface._ttyWrite (readline.js:812:14)
at Interface.rl._ttyWrite (/Users/jeff/.nvm-fish/v0.11.13/lib/node_modules/tinker/node_modules/inquirer/node_modules/readline2/index.js:102:15)
at ReadStream.onkeypress (readline.js:101:10)
at ReadStream.EventEmitter.emit (events.js:129:20)
at emitKey (readline.js:1149:12)
at ReadStream.onData (readline.js:892:14)
at ReadStream.EventEmitter.emit (events.js:107:17)
at readableAddChunk (_stream_readable.js:159:16)
at ReadStream.Readable.push (_stream_readable.js:126:10)
at TTY.onread (net.js:514:20)
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with src/init/module.coffee around lines 20-36 and trace the tinker init prompt flow into the Node readline warning shown in the stack trace. Reproduce the warning with tinker init under the reported environment, then verify that the warning no longer appears.

Written by the indexing model from the issue text.

Assessment

Tech stack
coffeescript, node.js
Domain
cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.