节点版本为v0.11.13
崩溃期间的内存使用量根据sudo top
不会在3%
上引发
重现此错误的代码:
var request = require('request')
var nodedump = require('nodedump')
request.get("http://pubapi.cryptsy.com/api.php?method=marketdatav2",function(err,res)
{
var data
console.log( "Data received." );
data = JSON.parse(res.body)
console.log( "Data parsed." );
data = nodedump.dump(data)
console.log( "Data dumped." );
console.log( data )
})
为了检查是否存在递归堆栈大小问题,我使用-- stack - size =60000参数运行了下一段代码
var depth = 0;
(function recurse() {
// log at every 500 calls
(++depth % 500) || console.log(depth);
recurse();
})();
并得到了
264500
Segmentation fault
然后我运行代码,它给出了致命的错误:堆栈分配失败-- CALL_AND_RETRY_LAST -size=60000参数的进程内存不足,并且没有得到Segmentation fault
。
因此,我得出结论,CALL_AND_RETRY_LAST
与递归堆栈大小没有任何共同之处。
我该如何解决这个问题呢?我相信我的计算机上有足够的空闲内存来成功完成这项任务。
在stackoverflow上也有类似的问题,但这些问题都不是关于CALL_AND_RETRY_LAST
的,这就是为什么我创建了单独的问题。
https://stackoverflow.com/questions/26094420
复制相似问题