Closed
Description
I'm assuming there's some sort of memory constraint trying to convert buffers into strings?
$ uname -a
Darwin ReBuke-Pro.local 15.0.0 Darwin Kernel Version 15.0.0: Wed Aug 26 16:57:32 PDT 2015; root:xnu-3247.1.106~1/RELEASE_X86_64 x86_64
$ node --version
v4.1.1
$ node -p 'new Buffer(268435440).toString().length'
268435440
But:
$ node -p 'new Buffer(268435441).toString().length'
buffer.js:378
throw new Error('toString failed');
^
Error: toString failed
at Buffer.toString (buffer.js:378:11)
at [eval]:1:23
at Object.exports.runInThisContext (vm.js:54:17)
at Object.<anonymous> ([eval]-wrapper:6:22)
at Module._compile (module.js:434:26)
at node.js:566:27
at doNTCallback0 (node.js:407:9)
at process._tickCallback (node.js:336:13)
Firstly, I'm not sure that this should even be an error (are we really only limited to 256MB? That's... not very much). This seems to have been addressed in the past, but I feel like a regression might have occurred: #1374 (comment)
But that aside, can we actually detect what the error is and report on it in a more detailed way? The current toString
check provides little insight.