Open calvn opened 7 years ago
After a quick search this error seems to happen if you have a really (!!!) long string (> 256MB, see constant in node/v8). A related issue can be found here: https://github.com/nodejs/node/issues/3175
What did you do that could have caused such a massive output? Running tests with verbose flag?
I don't think we can do anything here (beside better error handling)...
That error was caused by a stack overflow
runtime: goroutine stack exceeds 1000000000-byte limit
fatal error: stack overflow
If this error throws once, it keeps throwing until Atom crashes. It's pretty serious and needs to be resolved.
Now, it's my fault for accidentally logging a gigantic object, but at the same time that should not crash the editor.
This error (and the related perpetual throwing until crash) can also be caused by logging in a frequently-repeating (e.g. infinite or very large) loop.
For my case (log in loop), it would be better to handle by terminating program execution and logging an error to the console.
I caused this error by introducing an infinite loop and because the test suite runs on each save it kept crashing Atom before I could debug and fix the loop. Completely my fault but it would be nice if go-plus handled this without crashing.
[Enter steps to reproduce:]
Atom: 1.21.2 x64 Electron: 1.6.15 OS: Mac OS X 10.13.1 Thrown From: go-plus package 5.6.0
Uncaught RangeError: Invalid string length
At /Users/YDZ/.atom/packages/go-plus/lib/config/executor.js:64
RangeError: Invalid string length
at stdoutFn (/packages/go-plus/lib/config/executor.js:64:21)
at Socket.<anonymous> (/Applications/Atom.app/Contents/Resources/app/src/buffered-process.js:212:17)
at emitOne (events.js:96:13)
at Socket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at Pipe.onread (net.js:551:20)
2x -0:46.2.0 core:backspace (input.hidden-input)
-0:44.4.0 core:save (input.hidden-input)
8x -0:07.8.0 core:copy (atom-notification.fatal.icon.icon-bug.native-key-bindings.has-detail.has-close.has-stack)
atom-beautify 0.30.6
atom-material-ui 2.0.6
busy-signal 1.4.3
esformatter 2.3.0
go-debug 1.5.2
go-plus 5.6.0
go-signature-statusbar 1.2.3
hyperclick 0.1.5
intentions 1.1.5
js-hyperclick 1.12.1
language-vue 0.23.1
last-cursor-position 0.9.2
linter 2.2.0
linter-ui-default 1.6.10
minimap 4.29.7
nucleus-dark-ui 0.12.3
platformio-ide-terminal 2.7.0
seti-icons 1.5.4
seti-syntax 1.1.3
seti-ui 1.9.0
sync-settings 0.8.3
vue-autocomplete 0.1.1
vue-hyperclick 0.2.0
vue2-autocomplete 0.1.0-alpha.4
weex-format 1.0.2
The real issue here is that the entire Editor crashes if you hit this limit. That makes it very difficult to debug why your test is spewing so much information. Can this not be headed off or caught in a way that lets the Editor continue running?
[Enter steps to reproduce below:]
Atom Version: 1.12.8 Electron Version: 1.3.13 System: Mac OS X 10.12.2 Thrown From: go-plus package, v5.0.9
Stack Trace
Uncaught RangeError: Invalid string length
Commands
Config
Installed Packages