inkytonik / atom-sbt

An Atom interface to the Scala Build Tool (sbt)
GNU General Public License v3.0
7 stars 2 forks source link

Uncaught TypeError: Cannot read property 'indexOf' of null #13

Closed francisbautista closed 7 years ago

francisbautista commented 8 years ago

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.7.2 System: Mac OS X 10.11.3 Thrown From: sbt package, v0.7.0

Stack Trace

Uncaught TypeError: Cannot read property 'indexOf' of null

At /Users/francis/.atom/packages/sbt/lib/sbt.coffee:148

TypeError: Cannot read property 'indexOf' of null
    at Object.module.exports.Sbt.isRunning (/Users/francis/.atom/packages/sbt/lib/sbt.coffee:148:26)
    at Object.module.exports.Sbt.togglePanel (/Users/francis/.atom/packages/sbt/lib/sbt.coffee:297:11)
    at atom-workspace.subscriptions.add.atom.commands.add.sbt:toggle-panel (/Users/francis/.atom/packages/sbt/lib/sbt.coffee:68:86)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:260:29)
    at /Applications/Atom.app/Contents/Resources/app.asar/src/command-registry.js:3:61
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:580:16)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/atom-keymap/lib/keymap-manager.js:388:22)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:98:36)
    at HTMLDocument.<anonymous> (/Applications/Atom.app/Contents/Resources/app.asar/src/window-event-handler.js:3:61)

Commands

     -0:08.6.0 sbt:toggle-panel (atom-pane.pane.active)
     -0:03.1.0 application:add-project-folder (atom-text-editor.editor.is-focused)
     -0:00.6.0 sbt:toggle-panel (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "disabledPackages": [
      "linter-scalac"
    ],
    "themes": [
      "atom-material-ui",
      "atom-material-syntax"
    ]
  },
  "sbt": {}
}

Installed Packages

# User
angularjs, v0.3.4
atom-material-syntax, v0.4.3
atom-material-ui, v1.2.6
color-picker, v2.1.1
emmet, v2.4.3
language-scala, v1.1.6
linter, v1.11.4
minimap, v4.20.0
sbt, v0.7.0
scala-format, v0.1.8
terminal-plus, v0.14.5

# Dev
No dev packages
inkytonik commented 8 years ago

Would you be able to provide some precise steps to reproduce this crash? It seems to be related ot adding a project folder but some more detail would be useful.

inkytonik commented 7 years ago

Closing this for now. Please add info here if this is reproducible.

hawkw commented 7 years ago

I get the same error message any time I run one of this package's commands from the command palette. Here's the info:

Steps to Reproduce:

  1. trigger any sbt command (e.g. Sbt: Test, Sbt: Run... &c) from the command palette

Atom: 1.19.0-beta1 x64 Electron: 1.6.9 OS: Mac OS X 10.11.6 Thrown From: sbt package 0.11.0

Stack Trace

Uncaught TypeError: Cannot read property 'indexOf' of undefined

At /Users/eliza/.atom/packages/sbt/lib/project.coffee:46

TypeError: Cannot read property 'indexOf' of undefined
    at Project.module.exports.Project.isRunning (/packages/sbt/lib/project.coffee:46:28)
    at Project.module.exports.Project.togglePanel (/packages/sbt/lib/project.coffee:79:9)
    at Project.module.exports.Project.showPanel (/packages/sbt/lib/project.coffee:76:8)
    at Project.module.exports.Project.runCommand (/packages/sbt/lib/project.coffee:106:6)
    at /packages/sbt/lib/sbt.coffee:88:19)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom Beta.app/Contents/Resources/app/src/command-registry.js:265:35)
    at /Applications/Atom Beta.app/Contents/Resources/app/src/command-registry.js:3:65
    at Object.didConfirmSelection (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/command-palette/lib/command-palette-view.js:106:35)
    at SelectListView.confirmSelection (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/atom-select-list/src/select-list-view.js:313:26)
    at HTMLDivElement.core:confirm (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/atom-select-list/src/select-list-view.js:81:20)
    at CommandRegistry.module.exports.CommandRegistry.handleCommandEvent (/Applications/Atom Beta.app/Contents/Resources/app/src/command-registry.js:265:35)
    at /Applications/Atom Beta.app/Contents/Resources/app/src/command-registry.js:3:65
    at KeymapManager.module.exports.KeymapManager.dispatchCommandEvent (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:610:22)
    at KeymapManager.module.exports.KeymapManager.handleKeyboardEvent (/Applications/Atom Beta.app/Contents/Resources/app/node_modules/atom-keymap/lib/keymap-manager.js:401:28)
    at WindowEventHandler.module.exports.WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom Beta.app/Contents/Resources/app/src/window-event-handler.js:100:42)
    at HTMLDocument.<anonymous> (/Applications/Atom Beta.app/Contents/Resources/app/src/window-event-handler.js:3:65)

Commands

     -0:19.2.0 command-palette:toggle (input.hidden-input)
  2x -0:17.2.0 core:move-down (input.hidden-input)
     -0:16.6.0 core:move-up (input.hidden-input)
     -0:15.8.0 core:confirm (input.hidden-input)
     -0:15.8.0 sbt:test (input.hidden-input)
     -0:14 command-palette:toggle (input.hidden-input)
  5x -0:12.3.0 core:move-down (input.hidden-input)
     -0:10.8.0 core:confirm (input.hidden-input)
     -0:10.8.0 sbt:compile (input.hidden-input)
     -0:09.1.0 command-palette:toggle (input.hidden-input)
     -0:06.7.0 core:confirm (input.hidden-input)
     -0:06.7.0 sbt:toggle-panel (input.hidden-input)
     -0:05.7.0 command-palette:toggle (input.hidden-input)
  2x -0:03.4.0 core:move-down (input.hidden-input)
     -0:02.5.0 core:confirm (input.hidden-input)
     -0:02.5.0 sbt:exit (input.hidden-input)

Non-Core Packages

assign-align 0.1.0 
atom-beautify 0.30.3 
atom-ctags 5.1.0 
atom-language-rust 0.12.1 
atom-live-grammar-reload 0.8.0 
atom-space-race 0.2.1 
atom-space-race-syntax 0.2.0 
autocomplete-bibtex 0.7.0 
autocomplete-clang 0.11.3 
autocomplete-haskell 0.7.2 
base16-ocean-dark-spacegray 0.13.0 
base16-ocean-dark-spacegray-lighter-invisibles 0.3.0 
beacon-ui 0.5.0 
brilliance-white-theme 1.0.0 
build 0.68.0 
build-cargo 2.0.0 
build-gradle 0.6.0 
build-make 0.13.0 
build-sbt 0.6.0 
busy 0.7.0 
busy-signal 1.4.3 
cargo-test-runner 0.1.0 
Clean2 0.16.0 
clojure-eval-in-repl 1.1.0 
color-picker 2.2.5 
dash 1.7.1 
docblockr 0.10.5 
editorconfig 2.2.2 
fairyfloss 0.2.0 
file-icons 2.1.8 
fizzy 0.21.0 
gist-it 0.9.2 
git-plus 7.9.3 
git-time-machine 1.5.9 
gitignore-snippets 0.2.5 
gradle-ci 1.1.4 
haskell-ghc-mod 1.19.9 
haskell-pointfree 0.2.0 
Hydrogen 1.18.0 
ide-haskell 1.9.6 
ide-haskell-cabal 1.9.2 
ide-haskell-repl 0.6.0 
intentions 1.1.2 
isotope-ui 2.8.5 
jekyll 2.1.0 
lambda-syntax 0.5.2 
lambda-ui 1.0.4 
language-arduino 0.4.3 
language-arm 1.2.2 
language-cmake 0.3.0 
language-docker 1.1.8 
language-elm 1.5.0 
language-gdb 0.3.6 
language-gfm2 0.92.2 
language-gitignore 0.3.0 
language-glsl 2.0.1 
language-gradle 0.0.3 
language-groovy 0.7.0 
language-haskell 1.12.1 
language-hcl 0.4.0 
language-hlsl 1.2.0 
language-ini 1.19.0 
language-latex 1.0.0 
language-lisp 0.2.0 
language-purescript 0.8.2 
language-r 0.4.1 
language-rust 0.4.10 
language-scala 1.1.8 
language-scheme 1.4.0 
language-swift-3 0.4.0 
language-x86-64-assembly 2.2.11 
latex 0.44.0 
latexer 0.3.0 
linter 2.2.0 
linter-chktex 1.3.1 
linter-clojure 1.1.3 
linter-docker 0.2.0 
linter-eslint 8.2.1 
linter-gcc 0.7.1 
linter-hlint 1.0.1 
linter-javac 1.9.4 
linter-pep8 1.3.2 
linter-pycodestyle 2.0.2 
linter-rust 0.8.0 
linter-scalac 1.4.4 
linter-scalastyle 1.4.1 
linter-ui-default 1.6.2 
linter-write-good 0.9.0 
lucid-syntax 0.1.2 
mac-fix-path 0.0.0 
markdown-pdf 1.5.4 
markdown-preview-enhanced 0.13.0 
markdown-preview-katex 0.3.4 
markdown-preview-opener 0.1.1 
markdown-writer 2.6.5 
material-ui 1.0.10 
merge-conflicts 1.4.5 
minimap 4.28.2 
muted 0.1.4 
native-ui 0.21.0 
nrepl 0.4.0 
open-in-github-app 0.2.6 
open-terminal-here 2.3.0 
paredit 1.0.0 
pdf-view 0.59.0 
pigments 0.39.1 
platformio-ide 2.0.0-beta.6 
platformio-ide-debugger 1.2.3 
platformio-ide-terminal 2.5.1 
predawn-syntax 1.0.4 
predawn-ui 1.0.7 
processing 0.13.0 
processing-language 0.2.0 
project-manager 3.3.5 
project-quick-open 0.5.0 
r-exec 0.5.0 
racer 0.20.0 
regex-railroad-diagram 0.19.3 
rust-api-docs-helper 0.5.1 
sbt 0.11.0 
scala-format 0.1.8 
scala-worksheet 0.3.4 
scala-worksheet-plus 0.4.2 
script 3.15.0 
shiny-ui 0.36.0 
slack-ui 0.8.0 
spacegray-black-syntax 0.1.4 
spacegray-dark-syntax 0.2.0 
spacegray-dark-ui 0.13.0 
spacegray-eighties-dark-syntax 0.6.2 
spacegray-eighties-ui 2.0.0 
spacegray-light-syntax 0.1.0 
spacegray-light-ui 0.1.0 
symbols-tree-view 0.14.0 
tablr 1.8.3 
tabs-to-spaces 1.0.3 
tidy-markdown 3.0.1 
todo-show 1.11.0 
tokamak 0.3.2 
tokamak-terminal 10.0.1 
tool-bar 1.1.0 
tool-bar-atom 1.7.0 
travis-ci-status 1.3.1 
typewriter 0.7.0 
unity-ui 2.1.11 
wakatime 7.0.3 
white-ui 2.6.2 
wraptor 0.2.1 
Writer 0.1.0 
yosemite-unity-ui 0.3.13 
hawkw commented 7 years ago

Also, triggering sbt commands from the sbt panel seems to silently do nothing on my machine. I'm not sure if this is caused by the same underlying bug or not, but I'm guessing it is.

inkytonik commented 7 years ago

Thanks for the report. Based on where the crash happens, it sounds like the platformio-ide-terminal package is not installed or hasn't been installed correctly. Can you check for me whether it is there?

When you install the sbt package it is supposed to ensure that the platformio-ide-terminal, linter and busy-signal packages are installed. There should be a bit of a dialog telling you that it's installing them if there are not there. I think a restart is recommended. Did you see any of that when you installed?

hawkw commented 7 years ago

Nope, but I should have all of those packages installed already. I have platformio-ide-terminal installed from platformio-ide...

inkytonik commented 7 years ago

Ah, yes, sorry, I should have checked your bug report more carefully.

On further investigation it seems that the problem is due to incompatible compiled node packages in some of the Atom packages that were built for previous Atom versions.

When I tried running 1.19.0-Beta1 it complained about two packages and one of them was platform-ide-terminal. I got a red warning bug icon in the status bar. Clicking on that brought up the reports and buttons I could use to rebuild the erroneous packages. After doing that and re-running Atom Beta the sbt packages seemed to be working fine.

Do you get the warning icon? If so, can you try rebuilding and see if that fixes things?

hawkw commented 7 years ago

I'll take a look and get back to you! thanks!

hawkw commented 7 years ago

After rebuilding, this issue is fixed, but I'm now getting #18 – even after following the recommendation there and installing busy-signal.