jasongilman / proto-repl

A Clojure Development Environment package for the Atom editor
https://atom.io/packages/proto-repl
MIT License
564 stars 50 forks source link

Uncaught TypeError: Cannot read property 'constructor' of null #116

Open dittoyi opened 8 years ago

dittoyi commented 8 years ago

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.8.0 System: Mac OS X 10.10.5 Thrown From: proto-repl package, v1.1.11

Stack Trace

Uncaught TypeError: Cannot read property 'constructor' of null

At /Users/dittoyi/.atom/packages/proto-repl/node_modules/jg-nrepl-client/node_modules/bencode/lib/encode.js:31

TypeError: Cannot read property 'constructor' of null
    at Function.encode._encode (/Users/dittoyi/.atom/packages/proto-repl/node_modules/jg-nrepl-client/node_modules/bencode/lib/encode.js:31:11)
    at Function.encode.dict (/Users/dittoyi/.atom/packages/proto-repl/node_modules/jg-nrepl-client/node_modules/bencode/lib/encode.js:80:12)
    at Function.encode._encode (/Users/dittoyi/.atom/packages/proto-repl/node_modules/jg-nrepl-client/node_modules/bencode/lib/encode.js:33:18)
    at Object.encode (/Users/dittoyi/.atom/packages/proto-repl/node_modules/jg-nrepl-client/node_modules/bencode/lib/encode.js:9:10)
    at nreplSend (/Users/dittoyi/.atom/packages/proto-repl/node_modules/jg-nrepl-client/src/nrepl-client.js:112:26)
    at cljEval (/Users/dittoyi/.atom/packages/proto-repl/node_modules/jg-nrepl-client/src/nrepl-client.js:164:23)
    at NReplConnection.module.exports.NReplConnection.sendCommand (/Users/dittoyi/.atom/packages/proto-repl/lib/process/nrepl-connection.coffee:138:5)
    at RemoteReplProcess.module.exports.RemoteReplProcess.sendCommand (/Users/dittoyi/.atom/packages/proto-repl/lib/process/remote-repl-process.coffee:26:11)
    at Repl.module.exports.Repl.executeCode (/Users/dittoyi/.atom/packages/proto-repl/lib/repl.coffee:238:14)
    at Object.module.exports.ProtoRepl.executeCode (/Users/dittoyi/.atom/packages/proto-repl/lib/proto-repl.coffee:304:12)
    at Object.module.exports.ProtoRepl.loadCurrentFile (/Users/dittoyi/.atom/packages/proto-repl/lib/proto-repl.coffee:526:10)
    at atom-workspace.subscriptions.add.atom.commands.add.proto-repl:load-current-file (/Users/dittoyi/.atom/packages/proto-repl/lib/proto-repl.coffee:121:43)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Users/dittoyi/DittoyiWorkSystem/leancloud/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Users/dittoyi/DittoyiWorkSystem/leancloud/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Users/dittoyi/DittoyiWorkSystem/leancloud/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Users/dittoyi/DittoyiWorkSystem/leancloud/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Users/dittoyi/DittoyiWorkSystem/leancloud/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Users/dittoyi/DittoyiWorkSystem/leancloud/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -0:52.5.0 application:open (atom-pane.pane.active)
     -0:41.5.0 command-palette:toggle (atom-text-editor.editor.is-focused)
     -0:36.7.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:36.7.0 proto-repl:remote-nrepl-connection (atom-text-editor.editor)
     -0:33.2.0 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:24.3.0 proto-repl:execute-block (atom-text-editor.editor.is-focused)
     -0:00.8.0 proto-repl:load-current-file (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "openEmptyEditorOnStart": false
  },
  "proto-repl": {
    "autoScroll": false,
    "leinPath": "/usr/local/bin/lein",
    "refreshOnReplStart": true
  }
}

Installed Packages

# User
AtomicChar, v0.3.11
Parinfer, v1.14.0
ink, v0.4.0
linter, v1.11.4
linter-clojure, v1.1.2
linter-python-pep8, v0.2.0
proto-repl, v1.1.11
proto-repl-charts, v0.1.0
save-session, v0.15.7
tool-bar, v0.2.1

# Dev
No dev packages
karneaud commented 7 years ago

got this same error ....what was the problem?

jasongilman commented 7 years ago

This problem can happen if you don't restart Atom after installing Proto REPL or or updating it. I'm not sure why that happens.

xykj61 commented 7 years ago

I'm getting this now for some reason, even after restarting. But I might just be doing something stupid..

[Enter steps to reproduce below:]

  1. Start remote nREPL session via Re-Natal CLI (just Figwheel running on port 3449).
  2. ctrl-alt-y to start a Connect to a Remote nRepl session via Proto Repl. Enter localhost and port 3449.
  3. Proto Repl is toggled and repl starts.
  4. ctrl-alt-b to execute a function. function is sent to Proto Repl, but error pops up.
  5. Error comes up and refreshing code and pretty much all Proto Repl commands.

Atom Version: 1.12.6 Electron Version: 1.3.9 System: Mac OS X 10.10.5 Thrown From: proto-repl package, v1.4.8

Stack Trace

Uncaught TypeError: Cannot read property 'constructor' of null

At /Users/KeatonDunsford/.atom/packages/proto-repl/node_modules/bencode/lib/encode.js:31

TypeError: Cannot read property 'constructor' of null
  at Function.encode._encode (/Users/KeatonDunsford/.atom/packages/proto-repl/node_modules/bencode/lib/encode.js:31:11)
  at Function.encode.dict (/Users/KeatonDunsford/.atom/packages/proto-repl/node_modules/bencode/lib/encode.js:80:12)
  at Function.encode._encode (/Users/KeatonDunsford/.atom/packages/proto-repl/node_modules/bencode/lib/encode.js:33:18)
  at Object.encode (/Users/KeatonDunsford/.atom/packages/proto-repl/node_modules/bencode/lib/encode.js:9:10)
  at nreplSend (/Users/KeatonDunsford/.atom/packages/proto-repl/node_modules/jg-nrepl-client/src/nrepl-client.js:112:26)
  at /Users/KeatonDunsford/.atom/packages/proto-repl/lib/process/nrepl-connection.coffee:160:13
  at NReplConnection.module.exports.NReplConnection.optionsToSession (/Users/KeatonDunsford/.atom/packages/proto-repl/lib/process/nrepl-connection.coffee:136:7)
  at NReplConnection.module.exports.NReplConnection.sendCommand (/Users/KeatonDunsford/.atom/packages/proto-repl/lib/process/nrepl-connection.coffee:147:6)
  at RemoteReplProcess.module.exports.RemoteReplProcess.sendCommand (/Users/KeatonDunsford/.atom/packages/proto-repl/lib/process/remote-repl-process.coffee:27:11)
  at Repl.module.exports.Repl.executeCode (/Users/KeatonDunsford/.atom/packages/proto-repl/lib/repl.coffee:246:14)
  at Object.executeCode (/Users/KeatonDunsford/.atom/packages/proto-repl/lib/proto-repl.coffee:481:48)
  at Object.executeCodeInNs (/Users/KeatonDunsford/.atom/packages/proto-repl/lib/proto-repl.coffee:333:8)
  at Object.executeBlock (/Users/KeatonDunsford/.atom/packages/proto-repl/lib/proto-repl.coffee:373:10)
  at atom-workspace.subscriptions.add.atom.commands.add.proto-repl:execute-block (/Users/KeatonDunsford/.atom/packages/proto-repl/lib/proto-repl.coffee:122:39)
  at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:259:29)
  at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:59
  at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:587:16)
  at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:382:22)
  at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:106:36)
  at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:59)

Commands

  2x -3:30.2.0 terminal-plus:next (textarea.)
  2x -2:48.9.0 terminal-plus:prev (textarea.)
     -0:41.9.0 terminal-plus:close (textarea.)
     -0:37.8.0 terminal-plus:toggle (atom-text-editor.editor.indent-mode-76f60.vim-mode-plus.normal-mode.is-focused)
     -0:36.4.0 application:new-window (textarea.)
     -0:29 terminal-plus:prev (textarea.)
     -0:26 terminal-plus:toggle (textarea.)
     -0:20.8.0 proto-repl:remote-nrepl-connection (atom-text-editor.editor.indent-mode-76f60.vim-mode-plus.normal-mode.is-focused)
     -0:16.8.0 core:backspace (atom-text-editor.editor.mini.is-focused)
     -0:16 core:confirm (atom-text-editor.editor.mini.is-focused)
     -0:08.7.0 autocomplete-plus:cancel (atom-text-editor.editor.is-focused)
 18x -0:06.0 vim-mode-plus:move-down (atom-text-editor.editor.indent-mode-76f60.vim-mode-plus.normal-mode.is-focused)
 11x -0:04.1.0 vim-mode-plus:move-left (atom-text-editor.editor.indent-mode-76f60.vim-mode-plus.normal-mode.is-focused)
  3x -0:03.5.0 vim-mode-plus:move-up (atom-text-editor.editor.indent-mode-76f60.vim-mode-plus.normal-mode.is-focused)
     -0:03.0 vim-mode-plus:move-left (atom-text-editor.editor.indent-mode-76f60.vim-mode-plus.normal-mode.is-focused)
     -0:00.9.0 proto-repl:execute-block (atom-text-editor.editor.indent-mode-76f60.vim-mode-plus.normal-mode.is-focused)

Config

{
  "core": {
    "customFileTypes": {
      "source.ini": [
        ".buckconfig",
        ".hgrc",
        ".flowconfig"
      ],
      "source.json": [
        ".arcconfig",
        "BUCK.autodeps"
      ],
      "source.python": [
        "BUCK"
      ]
    },
    "disabledPackages": [
      "tree-view",
      "highlight-line",
      "highlight-column",
      "activate-power-mode",
      "lisp-paredit"
    ],
    "openEmptyEditorOnStart": false,
    "projectHome": "/Users/KeatonDunsford/",
    "telemetryConsent": "limited",
    "themes": [
      "dracula-ui",
      "spacemacs-dark-syntax"
    ],
    "useCustomTitleBar": true
  },
  "proto-repl": {
    "autoPrettyPrint": true
  }
}

Installed Packages

# User
activate-power-mode, v1.1.0 (inactive)
advanced-open-file, v0.16.4 (inactive)
atom-beautify, v0.29.13 (inactive)
atom-react-native-autocomplete, v0.0.27 (active)
atom-react-native-css, v1.1.3 (active)
atom-react-preview, v2.0.0 (active)
atom-ternjs, v0.16.1 (inactive)
atom-typescript, v10.1.12 (active)
autocomplete-xml, v0.9.4 (active)
color-picker, v2.2.3 (active)
dracula-ui, v0.3.0 (active)
emmet, v2.4.3 (active)
emmet-snippets-compatibility, v1.0.6 (active)
eval-javascript, v1.2.0 (inactive)
file-icons, v1.7.25 (active)
git-plus, v5.27.0 (active)
git-projects, v1.17.0 (inactive)
git-time-machine, v1.5.4 (inactive)
highlight-column, v0.5.1 (inactive)
highlight-line, v0.11.1 (inactive)
highlight-selected, v0.11.2 (active)
hoon-assist, v0.2.0 (inactive)
ink, v0.6.1 (active)
javascript-snippets, v1.2.1 (active)
language-babel, v2.48.5 (active)
language-hoon, v0.1.0 (active)
language-javascript-jsx, v0.3.7 (active)
linter, v1.11.18 (active)
linter-clojure, v1.1.2 (active)
linter-eslint, v8.0.0 (active)
linter-jscs, v4.1.0 (inactive)
linter-jshint, v3.0.1 (active)
linter-sass-lint, v1.7.4 (active)
linter-tslint, v0.11.1 (active)
lisp-paredit, v0.5.4 (inactive)
markdown-writer, v2.6.2 (inactive)
merge-conflicts, v1.4.4 (active)
minimap, v4.25.7 (active)
minimap-cursorline, v0.2.0 (active)
minimap-find-and-replace, v4.5.1 (active)
minimap-git-diff, v4.3.1 (active)
minimap-highlight-selected, v4.4.0 (active)
minimap-linter, v1.6.0 (active)
minimap-pigments, v0.2.2 (active)
nuclide, v0.186.0 (active)
nuclide-format-js, v0.0.36 (inactive)
open-recent, v5.0.0 (active)
Parinfer, v1.16.0 (active)
pigments, v0.37.0 (active)
project-manager, v3.3.3 (active)
proto-repl, v1.4.8 (active)
proto-repl-charts, v0.4.0 (active)
react-es6-snippets, v0.3.0 (active)
react-native-snippets, v0.3.0 (active)
react-redux-snippets, v0.1.0 (active)
relative-numbers, v0.5.1 (active)
script, v3.11.1 (inactive)
set-syntax, v0.3.2 (active)
spacemacs-dark-syntax, v0.4.0 (active)
terminal-plus, v0.14.5 (active)
tool-bar, v1.0.1 (active)
vim-mode-plus, v0.66.1 (active)
atom-dark-syntax, v0.27.0 (inactive)
atom-dark-ui, v0.52.0 (inactive)
atom-light-syntax, v0.28.0 (inactive)
atom-light-ui, v0.45.0 (inactive)
base16-tomorrow-dark-theme, v1.3.0 (inactive)
base16-tomorrow-light-theme, v1.3.0 (inactive)
one-dark-ui, v1.6.2 (inactive)
one-light-ui, v1.6.2 (inactive)
one-dark-syntax, v1.5.0 (inactive)
one-light-syntax, v1.5.0 (inactive)
solarized-dark-syntax, v1.0.5 (inactive)
solarized-light-syntax, v1.0.5 (inactive)
about, v1.7.0 (active)
archive-view, v0.62.0 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.13.1 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.4 (active)
autocomplete-snippets, v1.11.0 (active)
autoflow, v0.27.0 (inactive)
autosave, v0.23.1 (active)
background-tips, v0.26.1 (active)
bookmarks, v0.42.0 (active)
bracket-matcher, v0.82.2 (active)
command-palette, v0.39.0 (inactive)
deprecation-cop, v0.54.1 (active)
dev-live-reload, v0.47.0 (active)
encoding-selector, v0.22.0 (active)
exception-reporting, v0.40.0 (active)
find-and-replace, v0.202.2 (inactive)
fuzzy-finder, v1.4.0 (active)
git-diff, v1.1.0 (active)
go-to-line, v0.31.0 (inactive)
grammar-selector, v0.48.2 (active)
image-view, v0.60.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.2 (inactive)
markdown-preview, v0.158.8 (active)
metrics, v1.1.2 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.1 (inactive)
package-generator, v1.0.1 (inactive)
settings-view, v0.243.1 (active)
snippets, v1.0.4 (active)
spell-check, v0.68.4 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.2 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.103.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.210.0 (inactive)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.35.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.54.0 (active)
language-clojure, v0.22.1 (active)
language-coffee-script, v0.48.0 (active)
language-csharp, v0.13.0 (active)
language-css, v0.40.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.43.0 (active)
language-html, v0.47.1 (active)
language-hyperlink, v0.16.1 (active)
language-java, v0.24.0 (active)
language-javascript, v0.122.0 (active)
language-json, v0.18.3 (active)
language-less, v0.29.6 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.37.0 (active)
language-php, v0.37.3 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.1 (active)
language-ruby, v0.70.2 (active)
language-ruby-on-rails, v0.25.1 (active)
language-sass, v0.57.0 (active)
language-shellscript, v0.23.0 (active)
language-source, v0.9.0 (active)
language-sql, v0.25.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.29.1 (active)
language-toml, v0.18.1 (active)
language-xml, v0.34.12 (active)
language-yaml, v0.27.1 (active)

# Dev
No dev packages
xykj61 commented 7 years ago

Yeah, error's still here after being away from CLJS dev stuff for a while. Might just be a remote REPL thing as I know @jasongilman you said the feature was a bit experimental. I'm also trying to do mobile dev via re-natal which may be presenting its own set of problems.

dboitnot commented 4 years ago

Same problem on fresh install of Atom & proto-repl.

  1. Start Atom
  2. Launch proto-repl
  3. Wait for message "nREPL server started on port 53619 on host 127.0.0.1 - nrepl://127.0.0.1:53619"
  4. Enter expression "(+ 1 1)" into REPL
  5. Press shift-enter

Atom: 1.45.0 proto-repl: 1.4.24 macos: 10.15.4 Leiningen 2.9.3 on Java 11.0.2 OpenJDK 64-Bit Server VM