atom-jshint icon indicating copy to clipboard operation
atom-jshint copied to clipboard

Consistent "Uncaught Error: channel closed" with repro instructions

Open dead-claudia opened this issue 11 years ago • 3 comments

Atom version: 0.152.0, Ubuntu GNOME 14.10 atom-jshint version: 1.5.0

Bug: uncaught error thrown over specific production (specifically == when "eqeqeq" is in the package.json)

Repro instructions:

  1. Start to type an equality test in an if-statement, but stop after ==.
  2. Make any single character modification to the source, can be an addition or deletion.
  3. An error will print in the console, with "Uncaught Error: channel closed".

Notes:

  1. The error happens when this plugin tries JSHINT_Worker.send. This implies a dead worker.
  2. The bug should be 100% reproducible inside any sort of "brace", including, but not limited to, array/object literals, function calls, and most statement bodies ((, {, [). Other syntax errors are mostly irrelevant.
  3. The global scope (with regards to such braces) are 100% unaffected.
  4. If/etc. statements without braces are unaffected if they are in the global scope (with regards to such braces).
  5. The error isn't immediately thrown, but should be thrown within about a second.

dead-claudia avatar Nov 27 '14 05:11 dead-claudia

Thank you for the repro instructions! I've managed to reproduce it, i'll take a look! I have a feeling this will be a tricky one :(

Joezo avatar Nov 27 '14 08:11 Joezo

And, for some reason, now, it is locking Atom up on those, instead of throwing errors into the console, at least for me. O.o

I literally started with a new .atom directory and worked until I finally diagnosed the offending package.

dead-claudia avatar Dec 02 '14 10:12 dead-claudia

This is preventing me from opening files in atom :(

xdumaine avatar Mar 25 '15 19:03 xdumaine