leny / atom-w3c-validation

Validate your HTML and CSS files using W3C validators.
MIT License
12 stars 5 forks source link

Uncaught TypeError: Cannot read property '0' of undefined #2

Closed Bladrak closed 8 years ago

Bladrak commented 9 years ago

[Enter steps to reproduce below:]

  1. Try to validate following CSS:
@import url('http://raw.githubusercontent.com/necolas/normalize.css/master/normalize.css');
* {
    box-sizing: border-box;
}
body {
    background: #DDD url('http://davidlanham.com/art/ripefruit/preview.jpg') no-repeat center center;
    background-size: cover;
}
  1. The error "Uncaught TypeError: Cannot read property '0' of undefined" show up.

Atom Version: 0.184.0 System: Mac OS X 10.10.2 Thrown From: w3c-validation package, v0.1.3

Stack Trace

Uncaught TypeError: Cannot read property '0' of undefined

At events.js:94

TypeError: Cannot read property '0' of undefined
  at /Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/lib/w3cjs.js:106:38
  at Parser.<anonymous> (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:425:18)
  at Parser.emit (events.js:116:17)
  at Object.onclosetag (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:394:26)
  at emit (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/node_modules/sax/lib/sax.js:615:33)
  at emitNode (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/node_modules/sax/lib/sax.js:620:3)
  at closeTag (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/node_modules/sax/lib/sax.js:861:5)
  at Object.write (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/node_modules/sax/lib/sax.js:1294:29)
  at Parser.exports.Parser.Parser.parseString (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:444:31)
  at Parser.parseString (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:6:61)
  at Object.exports.parseString (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:476:19)
  at parseCssValidation (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/lib/w3cjs.js:103:23)
  at /Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/lib/w3cjs.js:81:29
  at Request.callback (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/superagent/lib/node/index.js:630:3)
  at Request.<anonymous> (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/superagent/lib/node/index.js:131:10)
  at Request.emit (events.js:116:17)
  at IncomingMessage.<anonymous> (/Users/hbriand/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/superagent/lib/node/index.js:773:12)
  at IncomingMessage.emit (events.js:138:20)
  at _stream_readable.js:909:16
  at process._tickCallback (node.js:364:11)

Commands

     -1:42.6 editor:move-to-beginning-of-word (atom-text-editor.editor)
     -1:41.7 ruby-string-interpolation:insert (atom-text-editor.editor)
     -1:40.7 core:save (atom-text-editor.editor)
  2x -1:34.3 core:move-down (atom-text-editor.editor)
  2x -1:33.9 editor:newline (atom-text-editor.editor)
  2x -1:23.1 core:move-up (atom-text-editor.editor)
     -1:22.7 core:move-left (atom-text-editor.editor)
     -1:22.4 editor:newline (atom-text-editor.editor)
     -1:17.7 core:save (atom-text-editor.editor)
     -1:12.5 core:move-up (atom-text-editor.editor)
  3x -1:12.3 editor:move-to-beginning-of-word (atom-text-editor.editor)
  2x -1:11.7 editor:select-to-beginning-of-word (atom-text-editor.editor)
     -1:11.0 core:backspace (atom-text-editor.editor)
     -1:10.7 core:save (atom-text-editor.editor)
     -0:04.9 ruby-string-interpolation:insert (atom-text-editor.editor)
     -0:02.6 core:save (atom-text-editor.editor)

Config

{
  "core": {
    "ignoredNames": [
      ".git",
      ".svn",
      ".DS_Store"
    ],
    "disabledPackages": [
      "angularjs",
      "atom-terminal-panel"
    ],
    "themes": [
      "seti-ui",
      "seti-syntax"
    ]
  },
  "w3c-validation": {
    "hideOnNoErrors": true
  }
}

Installed Packages

# User
Sublime-Style-Column-Selection, v1.2.3
atom-angularjs, v0.1.2
atom-beautify, v0.21.3
color-picker, v1.4.4
jshint, v1.2.0
jsonpp, v0.0.6
language-ini, v1.7.0
language-nginx, v0.4.0
language-pp, v0.0.0
language-puppet, v0.10.0
language-rst, v0.0.0
language-scala, v1.1.0
linter, v0.12.0
linter-pylint, v0.2.1
linter-rst, v0.0.3
linter-ruby, v0.1.4
open-in-browser, v0.4.2
phpunit-snippets, v0.1.0
pretty-json, v0.3.2
react, v0.9.10
ruby-block, v0.2.2
ruby-string-interpolation, v0.1.8
scala-format, v0.1.4
script, v2.18.0
seti-syntax, v0.3.3
seti-ui, v0.6.3
syntax-settings, v0.7.1
terminal-panel, v1.9.2
tree-view-breadcrumb, v0.4.1
virtualenv, v0.6.2
w3c-validation, v0.1.3
welcome, v0.25.0
wordpress, v0.2.0

# Dev
No dev packages
leny commented 9 years ago

Hi,

Thanks for this (very complete) report.

When looking on the error stack, it seems to be an error from a dependency of this plugin.

I will try to add a way to catch the error to avoid the plugin to crash (I'll try to do it soon), but you should report the error to https://github.com/mryvlin/w3cjs for fixing.

Bladrak commented 9 years ago

Hello Leny,

No problem about the report, that's automatically generated by atom, so quite straightforward :)

The repo you linked seems to be a fork from the originating library, hence I'm unable to submit an issue there.

Thanks you for the quick reply :)

ghost commented 9 years ago

[Enter steps to reproduce below:]

  1. ...
  2. ...

Atom Version: 1.0.0 System: Ubuntu 14.04.2 Thrown From: w3c-validation package, v0.2.0

Stack Trace

Uncaught TypeError: Cannot read property '0' of undefined

At events.js:141

TypeError: Cannot read property '0' of undefined
    at /home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/lib/w3cjs.js:106:38
    at Parser.<anonymous> (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:459:18)
    at emitOne (events.js:77:13)
    at Parser.emit (events.js:166:7)
    at Object.onclosetag (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:420:26)
    at emit (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/node_modules/sax/lib/sax.js:615:33)
    at emitNode (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/node_modules/sax/lib/sax.js:620:3)
    at closeTag (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/node_modules/sax/lib/sax.js:861:5)
    at Object.write (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/node_modules/sax/lib/sax.js:1294:29)
    at Parser.exports.Parser.Parser.parseString (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:478:31)
    at Parser.parseString (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:6:59)
    at Object.exports.parseString (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/xml2js/lib/xml2js.js:510:19)
    at parseCssValidation (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/lib/w3cjs.js:103:23)
    at /home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/lib/w3cjs.js:81:29
    at Request.callback (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/superagent/lib/node/index.js:630:3)
    at Request.<anonymous> (/home/jonayad/.atom/packages/w3c-validation/node_modules/w3cvalidator/node_modules/superagent/lib/node/index.js:131:10)

Commands

  4x -0:26.5.0 core:backspace (atom-text-editor.editor.vim-mode.insert-mode.is-focused)
  4x -0:21.3.0 blur (atom-text-editor.editor.vim-mode.insert-mode.is-focused)
     -0:15.5.0 core:delete (atom-text-editor.editor.vim-mode.is-focused.visual-mode)
     -0:13.8.0 core:move-left (atom-text-editor.editor.vim-mode.is-focused.command-mode)
     -0:12.6.0 vim-mode:move-right (atom-text-editor.editor.vim-mode.is-focused.command-mode)
     -0:12.3.0 vim-mode:move-down (atom-text-editor.editor.vim-mode.is-focused.command-mode)
  4x -0:11.7.0 vim-mode:move-right (atom-text-editor.editor.vim-mode.is-focused.command-mode)
     -0:11.1.0 vim-mode:delete (atom-text-editor.editor.vim-mode.is-focused.command-mode)
     -0:10.9.0 vim-mode:find (atom-text-editor.editor.vim-mode.is-focused.operator-pending-mode)
  3x -0:10.9.0 blur (atom-text-editor.editor.vim-mode.is-focused.operator-pending-mode)
     -0:10.8.0 vim-mode:substitute (atom-text-editor.editor.vim-mode.command-mode.is-focused)
  2x -0:09.2.0 core:backspace (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:06.5.0 core:move-down (atom-text-editor.editor.vim-mode.is-focused.insert-mode.autocomplete-active)
     -0:06.2.0 autocomplete-plus:confirm (atom-text-editor.editor.vim-mode.is-focused.insert-mode.autocomplete-active)
     -0:06.2.0 autocomplete-plus:activate (atom-text-editor.editor.vim-mode.is-focused.insert-mode)
     -0:02.2.0 core:save (atom-text-editor.editor.vim-mode.is-focused.insert-mode)

Config

{
  "core": {
    "themes": [
      "seti-syntax"
    ],
    "disabledPackages": [
      "colorpicker",
      "cssedit-groups",
      "myth",
      "colorpicker",
      "cssedit-groups",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "colorpicker",
      "atom-css-class-checker",
      "atom-css-class-checker",
      "atom-css-class-checker",
      "emmet"
    ]
  }
}

Installed Packages

# User
aligner-css, v1.2.0
atom-beautify, v0.28.7
atom-compile-less, v0.12.0
atom-minify, v0.1.7
autocomplete-sass, v0.1.0
color-picker, v2.0.7
css-color-underline, v1.0.1
css-comb, v2.1.1
css-snippets, v0.8.0
linter-csslint, v0.0.14
linter-doiuse, v0.2.3
minimap, v4.10.1
pigments, v0.8.2
selector-to-tag, v0.4.1
travis-ci-status, v0.15.1
vim-mode, v0.54.0
w3c-validation, v0.2.0
webbox-color, v0.5.7

# Dev
No dev packages
leny commented 9 years ago

Hi, thanks for the report.

Can you paste here the content of the file you was validating, if its not secret or anything ? If can't, can you precise if it was a css or html file ?

ghost commented 9 years ago

I think it was a html file.

ErikCohenDev commented 8 years ago

Just wanted to add my error stack maybe it might help resolving this.

Trying to validate the following CSS

*{
  padding: 0;
  margin: 0;
}

body{
  font-family: "Segoue",sans-serif;
  line-height: 1.6em;
  color:#666;
  background: #e1e1e1 url(../img/cross_scratches.png);
  font-size: 14px;
}
a{
  color:#333;
  text-decoration: none;
}
#container{
  width:740px;
  background:#fff;
  margin:auto;
}

Atom Version: 1.2.0 System: Microsoft Windows 10 Home Thrown From: w3c-validation package, v0.2.0

Stack Trace

Uncaught TypeError: Cannot read property '0' of undefined

At events.js:141

TypeError: Cannot read property '0' of undefined
    at C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\lib\w3cjs.js:106:38
    at Parser.<anonymous> (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\xml2js\lib\xml2js.js:483:18)
    at emitOne (events.js:77:13)
    at Parser.emit (events.js:169:7)
    at Object.onclosetag (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\xml2js\lib\xml2js.js:444:26)
    at emit (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\xml2js\node_modules\sax\lib\sax.js:639:35)
    at emitNode (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\xml2js\node_modules\sax\lib\sax.js:644:5)
    at closeTag (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\xml2js\node_modules\sax\lib\sax.js:903:7)
    at Object.write (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\xml2js\node_modules\sax\lib\sax.js:1436:13)
    at Parser.exports.Parser.Parser.parseString (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\xml2js\lib\xml2js.js:502:31)
    at Parser.parseString (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\xml2js\lib\xml2js.js:7:59)
    at Object.exports.parseString (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\xml2js\lib\xml2js.js:534:19)
    at parseCssValidation (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\lib\w3cjs.js:103:23)
    at C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\lib\w3cjs.js:81:29
    at Request.callback (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\superagent\lib\node\index.js:630:3)
    at Request.<anonymous> (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\superagent\lib\node\index.js:131:10)
    at emitOne (events.js:77:13)
    at Request.emit (events.js:169:7)
    at Stream.<anonymous> (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\superagent\lib\node\index.js:773:12)
    at emitNone (events.js:72:20)
    at Stream.emit (events.js:166:7)
    at Unzip.<anonymous> (C:\Users\NewAccount\.atom\packages\w3c-validation\node_modules\w3cvalidator\node_modules\superagent\lib\node\utils.js:124:12)
    at emitNone (events.js:72:20)
    at Unzip.emit (events.js:166:7)
    at endReadableNT (_stream_readable.js:893:12)
    at doNTCallback2 (node.js:441:9)
    at process._tickCallback (node.js:355:17)

Commands

     -0:35.1.0 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -0:35.1.0 editor:newline (atom-text-editor.editor.is-focused)
     -0:34.3.0 core:move-left (atom-text-editor.editor.is-focused)
     -0:33.6.0 core:move-down (atom-text-editor.editor.is-focused)
     -0:33.2.0 core:move-right (atom-text-editor.editor.is-focused)
     -0:32.7.0 editor:delete-to-beginning-of-word (atom-text-editor.editor.is-focused)
  6x -0:32.4.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:23.7.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:23.7.0 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -0:23.7.0 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:20.1.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:17.6.0 emmet:insert-formatted-line-break-only (atom-text-editor.editor.is-focused)
     -0:17.6.0 docblockr:parse-enter (atom-text-editor.editor.is-focused)
     -0:17.6.0 editor:newline (atom-text-editor.editor.is-focused)
  2x -0:11.9.0 core:move-down (atom-text-editor.editor.is-focused)
  2x -0:10.5.0 core:save (atom-text-editor.editor.is-focused)

Config

{
  "core": {}
}

Installed Packages

# User
atom-alignment, v0.12.1
atom-beautify, v0.28.18
atom-html-preview, v0.1.13
atom-jshint, v2.0.0
Atom-Syntax-highlighting-for-Sass, v0.5.0
atom-ternjs, v0.8.4
autoclose-html, v0.19.0
autocomplete-html-entities, v0.1.0
autocomplete-paths, v1.0.2
css-comb, v2.4.0
css-snippets, v0.9.0
docblockr, v0.7.3
emmet, v2.3.14
file-icons, v1.6.11
git-diff-details, vundefined
git-log, v0.4.1
javascript-snippets, v1.0.0
jshint, v1.8.3
linter, v1.11.1
linter-csslint, v1.1.0
linter-htmlhint, v0.2.1
livereload, v0.4.3
sass-autocompile, v0.11.0
save-session, v0.15.7
w3c-validation, v0.2.0

# Dev
No dev packages
leny commented 8 years ago

Hi, sorry for the long time on this one, was very busy with my work.

I've just released a new version (0.3.0) of the package, using new modules for validation.

Hope it will fix this issue.