Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uncaught Error: toString failed #491

Closed
dnowacki-usgs opened this issue Nov 2, 2016 · 7 comments
Closed

Uncaught Error: toString failed #491

dnowacki-usgs opened this issue Nov 2, 2016 · 7 comments
Labels
bug 🐛 For unexpected issues

Comments

@dnowacki-usgs
Copy link

I'm getting this error when trying to print a (rather large) variable. After the error, trying to run other lines gives a checkmark but no actual output.

Atom Version: 1.11.2
Electron Version: 0.37.8
System: Mac OS X 10.10.5
Thrown From: Hydrogen package, v0.15.0

Stack Trace

Uncaught Error: toString failed

At events.js:154

Error: toString failed
    at Buffer.toString (buffer.js:490:11)
    at toJSON (/Users/dnowacki/.atom/packages/Hydrogen/node_modules/jmp/index.js:225:33)
    at Function.Message._decode (/Users/dnowacki/.atom/packages/Hydrogen/node_modules/jmp/index.js:217:18)
    at Socket.<anonymous> (/Users/dnowacki/.atom/packages/Hydrogen/node_modules/jmp/index.js:330:35)
    at emitMany (events.js:121:13)
    at Socket.emit (events.js:195:7)
    at Socket._flushRead (/Users/dnowacki/.atom/packages/Hydrogen/node_modules/zmq/lib/index.js:638:15)
    at Socket._flushReads (/Users/dnowacki/.atom/packages/Hydrogen/node_modules/zmq/lib/index.js:676:23)
    at _zmq.onReadReady (/Users/dnowacki/.atom/packages/Hydrogen/node_modules/zmq/lib/index.js:297:10)

Commands

     -1:41.3.0 core:backspace (atom-text-editor.editor.is-focused)
     -1:40.9.0 hydrogen:run-and-move-down (atom-text-editor.editor.is-focused)
     -1:39.6.0 editor:newline (atom-text-editor.editor.is-focused)
     -1:37.5.0 hydrogen:run-and-move-down (atom-text-editor.editor.is-focused.autocomplete-active)
  9x -1:35.4.0 core:move-left (atom-text-editor.editor.is-focused)
     -1:32.6.0 editor:move-to-end-of-screen-line (atom-text-editor.editor.is-focused)
  2x -1:31.7.0 hydrogen:run-and-move-down (atom-text-editor.editor.is-focused)
  4x -1:04.6.0 core:move-up (atom-text-editor.editor.is-focused)
  5x -1:01.3.0 core:move-right (atom-text-editor.editor.is-focused)
     -1:00.2.0 core:move-left (atom-text-editor.editor.is-focused)
 18x -0:59.9.0 core:move-right (atom-text-editor.editor.is-focused)
  2x -0:54.8.0 core:backspace (atom-text-editor.editor.is-focused)
     -0:54.1.0 editor:move-to-first-character-of-line (atom-text-editor.editor.is-focused)
  4x -0:53.8.0 core:select-right (atom-text-editor.editor.is-focused)
     -0:52.8.0 core:backspace (atom-text-editor.editor.is-focused)
  2x -0:51.6.0 hydrogen:run-and-move-down (atom-text-editor.editor.is-focused)

Config

{
  "core": {
    "telemetryConsent": "no"
  },
  "Hydrogen": {
    "kernelspec": "{\"kernelspecs\":{\"python2\":{\"resource_dir\":\"/Users/dnowacki/anaconda/lib/python2.7/site-packages/ipykernel/resources\",\"spec\":{\"language\":\"python\",\"display_name\":\"Python 2\",\"env\":{},\"argv\":[\"/Users/dnowacki/anaconda/bin/python\",\"-m\",\"ipykernel\",\"-f\",\"{connection_file}\"]}}}}"
  }
}

Installed Packages

# User
Hydrogen, v0.15.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.44.0 (inactive)
base16-tomorrow-dark-theme, v1.2.0 (inactive)
base16-tomorrow-light-theme, v1.2.0 (inactive)
one-dark-ui, v1.6.0 (active)
one-light-ui, v1.6.0 (inactive)
one-dark-syntax, v1.3.0 (active)
one-light-syntax, v1.3.0 (inactive)
solarized-dark-syntax, v1.0.2 (inactive)
solarized-light-syntax, v1.0.2 (inactive)
about, v1.7.0 (active)
archive-view, v0.61.1 (active)
autocomplete-atom-api, v0.10.0 (active)
autocomplete-css, v0.11.2 (active)
autocomplete-html, v0.7.2 (active)
autocomplete-plus, v2.31.1 (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.1 (active)
command-palette, v0.38.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.201.1 (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.59.0 (active)
incompatible-packages, v0.26.1 (active)
keybinding-resolver, v0.35.0 (active)
line-ending-selector, v0.5.0 (active)
link, v0.31.1 (inactive)
markdown-preview, v0.158.0 (active)
metrics, v1.0.0 (active)
notifications, v0.65.1 (active)
open-on-github, v1.2.0 (inactive)
package-generator, v1.0.0 (inactive)
settings-view, v0.242.2-hotfix1 (active)
snippets, v1.0.2 (active)
spell-check, v0.68.2 (active)
status-bar, v1.4.1 (active)
styleguide, v0.47.0 (active)
symbols-view, v0.113.1 (inactive)
tabs, v0.101.0 (active)
timecop, v0.33.2 (active)
tree-view, v0.209.3 (active)
update-package-dependencies, v0.10.0 (active)
welcome, v0.35.1 (active)
whitespace, v0.33.0 (active)
wrap-guide, v0.38.2 (active)
language-c, v0.52.1 (active)
language-clojure, v0.21.0 (active)
language-coffee-script, v0.47.2 (active)
language-csharp, v0.12.1 (active)
language-css, v0.37.1 (active)
language-gfm, v0.88.0 (active)
language-git, v0.15.0 (active)
language-go, v0.42.1 (active)
language-html, v0.45.1 (active)
language-hyperlink, v0.16.0 (active)
language-java, v0.23.0 (active)
language-javascript, v0.119.0 (active)
language-json, v0.18.2 (active)
language-less, v0.29.5 (active)
language-make, v0.22.2 (active)
language-mustache, v0.13.0 (active)
language-objective-c, v0.15.1 (active)
language-perl, v0.35.0 (active)
language-php, v0.37.2 (active)
language-property-list, v0.8.0 (active)
language-python, v0.45.0 (active)
language-ruby, v0.69.0 (active)
language-ruby-on-rails, v0.25.0 (active)
language-sass, v0.56.0 (active)
language-shellscript, v0.22.4 (active)
language-source, v0.9.0 (active)
language-sql, v0.23.0 (active)
language-text, v0.7.1 (active)
language-todo, v0.28.0 (active)
language-toml, v0.18.0 (active)
language-xml, v0.34.9 (active)
language-yaml, v0.26.0 (active)

# Dev
No dev packages
@lgeiger
Copy link
Member

lgeiger commented Nov 2, 2016

@dnowacki-usgs Thanks for opening a issue.

This shouldn't happen but I can't reproduce it.

Could you post the exact command you are trying to run and a screenshot of the development console (cmd-alt-i)?

@lgeiger lgeiger added the bug 🐛 For unexpected issues label Nov 2, 2016
@n-riesco
Copy link
Collaborator

n-riesco commented Nov 2, 2016

nodejs/node#4394

@dnowacki-usgs
Copy link
Author

It may be some kind of timeout when printing a huge variable(?). In this case it's trying to print what was originally a Matlab .mat file. The file is loaded withscipy.io.loadmat, which results in a numpy.ndarray encapsulated in a dict or something like that. In any case, when trying to print one of the dict items, using say print matdata['dw1078araw'], does not do the typical "only print first/last few rows of huge array" behavior. Executing the same command in the Jupyter console requires several seconds before it spews out the result. Executing this command in Atom/hydrogen results in the toString error after several seconds.

Hopefully the development console screenshot below is helpful:
screen shot 2016-11-03 at 10 51 29

@n-riesco
Copy link
Collaborator

n-riesco commented Nov 4, 2016

@dnowacki-usgs Node (and thus Atom) currently can't convert large buffers (larger than 192MB) into strings. See nodejs/node#4266 .

I've committed a workaround to the jmp repository, so that any messages that throw this exception are dropped. This change won't fix the issue with large buffers, but it should let you keep using Hydrogen.

I want to make a few more tests before making a new release of jmp with the workaround. Once I make the release, you'll have to reinstall Hydrogen, so that it picks up the latest version of jmp.

@n-riesco
Copy link
Collaborator

n-riesco commented Nov 5, 2016

@dnowacki-usgs I've just published jmp@0.7.1 that works around this issue. If you have a chance to test it. Please, reinstall Hydrogen and post here whether printing a large output still renders the kernel unresponsive.

@dnowacki-usgs
Copy link
Author

@n-riesco: Hmm, still throwing the error for me, and the kernel remains unresponsive. I uninstalled Hydrogen, restarted Atom, reinstalled Hydrogen, restarted Atom, and tested the same code with the same output. How can I test to make sure Hydrogen is using the latest jmp?

@lgeiger
Copy link
Member

lgeiger commented Nov 7, 2016

The latest version of jmp is only used in the development version of Hydrogen.

The fix will be released in Hydrogen 1.0.0 (soon). If you cannot wait, you can install the latest development version by following this steps: https://github.com/nteract/hydrogen#development.
Sorry for the confusion.

@lgeiger lgeiger closed this as completed Nov 9, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🐛 For unexpected issues
Projects
None yet
Development

No branches or pull requests

3 participants