noseglid / atom-build

:hammer: Build your project directly from the Atom editor
https://atom.io/packages/build
MIT License
248 stars 97 forks source link

Uncaught TypeError: Cannot read property 'map' of undefined #490

Closed parir closed 7 years ago

parir commented 7 years ago

[Enter steps to reproduce below:]

  1. Compiling some Rust source code with build-cargo

Atom Version: 1.12.6 Electron Version: 1.3.9 System: "Fedora release Thrown From: build package, v0.67.0

Stack Trace

Uncaught TypeError: Cannot read property 'map' of undefined

At /home/peer/.atom/packages/build/lib/error-matcher.js:74

TypeError: Cannot read property 'map' of undefined
    at /home/peer/.atom/packages/build/lib/error-matcher.js:74:66
    at Array.forEach (native)
    at ErrorMatcher._parse (/home/peer/.atom/packages/build/lib/error-matcher.js:73:38)
    at ErrorMatcher.set (/home/peer/.atom/packages/build/lib/error-matcher.js:131:10)
    at ChildProcess.<anonymous> (/home/peer/.atom/packages/build/lib/build.js:189:27)
    at emitTwo (events.js:106:13)
    at ChildProcess.emit (events.js:191:7)
    at maybeClose (internal/child_process.js:877:16)
    at Socket.<anonymous> (internal/child_process.js:334:11)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at Pipe._handle.close [as _onclose] (net.js:493:12)

Commands

  3x -0:19.7.0 core:move-up (atom-text-editor.editor.is-focused)
  2x -0:17.9.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:17.7.0 core:move-up (atom-text-editor.editor.is-focused)
     -0:13.8.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:13.2.0 core:save (atom-text-editor.editor.is-focused)
     -0:09.9.0 build:trigger (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "autoHideMenuBar": true,
    "telemetryConsent": "limited",
    "themes": [
      "one-light-ui",
      "solarized-light-syntax"
    ]
  }
}

Installed Packages

# User
atom-beautify, v0.29.13 (active)
atom-language-rust, v0.11.0 (active)
atom-material-syntax, v0.4.6 (inactive)
atom-material-ui, v1.3.8 (inactive)
autocomplete-python, v1.8.17 (active)
build, v0.67.0 (active)
build-cargo, v1.1.0 (active)
busy, v0.7.0 (active)
file-icons, v1.7.25 (active)
highlight-selected, v0.11.2 (active)
language-rust, v0.4.8 (active)
linter, v1.11.18 (active)
linter-pep8, v1.3.2 (active)
linter-rust, v0.7.1 (active)
minimap, v4.25.7 (active)
minimap-find-and-replace, v4.5.1 (active)
minimap-git-diff, v4.3.1 (active)
minimap-highlight-selected, v4.4.0 (active)
minimap-selection, v4.4.0 (active)
project-manager, v3.3.3 (active)
racer, v0.20.0 (active)
tablr, v1.8.0 (active)
tabs-to-spaces, v1.0.2 (active)
theme-switcher, v1.1.0 (active)
todo-show, v1.8.0 (inactive)
travis-ci-status, v1.3.0 (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 (active)
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 (active)
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 (active)
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
oli-obk commented 7 years ago

That's an atom-build-cargo issue. https://github.com/AtomBuild/atom-build-cargo

I thought we fixed this :/

oli-obk commented 7 years ago

Do you have an example code triggering this?

oli-obk commented 7 years ago

Also we need the rustc version

parir commented 7 years ago

Even a fresh cargo new --bin hello will trigger the error. :/ Maybe related to the new atom-build-cargo version?

rustc 1.13.0 (2c6933acc 2016-11-07) cargo 0.13.0-nightly (eca9e15 2016-11-01)

oli-obk commented 7 years ago

I really wonder about javascript's sanity sometimes. Why in the world is var f = function(foo) { g(foo, 5) }; not an error?

Sorry about that. I yanked 1.1 and I'll publish a new one asap. you can probably downgrade to 1.0 with apm install build-cargo@1.0

oli-obk commented 7 years ago

and 1.1.1 has been published with a fix.

parir commented 7 years ago

Works like a charm!

Cxarli commented 7 years ago

Off-topic:

var f = function(foo) { g(foo, 5) }; is valid javascript, because it means:

Keep in mind that functions are, like everything, objects in javascript.

The only thing that a good linter could complain about, is that you miss a semi-colon after the ) from g(...) (but that's optional, and only stylish)

oli-obk commented 7 years ago

I know... I've just gotten too comfy in typesafety to remember such things