为什么分配Int8Array时Node有时会挂起?
考虑以下两个程序:
// works.js var buffer = new ArrayBuffer(16777216); var HEAP8 = new Int8Array(buffer);
和
// fails.js var HEAP8; var buffer = new ArrayBuffer(16777216); HEAP8 = new Int8Array(buffer);
运行node
然后input.load works.js
。 一切似乎都快乐。 现在退出node
。
再次运行node
并input.load fails.js
。
在我的机器上加载fails.js
交互式地导致node
进程消耗超过1GB的RAM和100%的CPU,并且最后的语句永远阻塞了解释器。 works.js
只是运行并按预期返回。
有什么不同的理由吗? 或者我应该写一个错误报告?
奇怪的是,直接从命令行运行任何脚本工作正常:
node works.js # exits normally node fails.js # exits normally
更新 :我在OS X 10.9.5上使用节点0.12.0
有什么不同的理由吗? 或者我应该写一个错误报告?
我怀疑这是有一个很好的理由,你应该提交一个错误 。