Javascript node.js中存在问题的socket.parser.resume()错误
在过去的一周里,这个bug一直在破坏我的node.js服务器。平均每12小时发生一次。通常,当node.js中发生错误时,node.js会告诉您导致错误的行号和源文件。然而,这个错误太奇怪了,它没有让我知道错误源于我的源代码。我甚至无法在整个项目和节点模块中找到_http_server.js。因此,我无法确定并消除该缺陷 如果没有堆栈跟踪模块“longjohn”,我将得到以下错误消息:Javascript node.js中存在问题的socket.parser.resume()错误,javascript,node.js,sockets,error-handling,socket.io,Javascript,Node.js,Sockets,Error Handling,Socket.io,在过去的一周里,这个bug一直在破坏我的node.js服务器。平均每12小时发生一次。通常,当node.js中发生错误时,node.js会告诉您导致错误的行号和源文件。然而,这个错误太奇怪了,它没有让我知道错误源于我的源代码。我甚至无法在整个项目和节点模块中找到_http_server.js。因此,我无法确定并消除该缺陷 如果没有堆栈跟踪模块“longjohn”,我将得到以下错误消息: socket.parser.resume() cannot read property resume of n
socket.parser.resume()
cannot read property resume of null (_http_server.js:442)
......
TypeError: Cannot read property 'resume' of null
at socketOnDrain (_http_server.js:442:20)
at ServerResponse.updateOutgoingData [as _onPendingData] (_http_server.js:270:14)
at ServerResponse.OutgoingMessage._send (_http_outgoing.js:128:14)
at ServerResponse.OutgoingMessage.write (_http_outgoing.js:470:16)
at ReadStream.ondata (_stream_readable.js:525:20)
at emitOne (events.js:77:13)
at ReadStream.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at ReadStream.Readable.push (_stream_readable.js:110:10)
at onread (fs.js:1744:12)
at FSReqWrap.wrapper [as oncomplete] (fs.js:576:17)
---------------------------------------------
at ReadStream.Readable.on (_stream_readable.js:655:33)
at ReadStream.Readable.pipe (_stream_readable.js:522:7)
at SendStream.stream (C:\XXXX\node_modules\express\node_modules\send\lib\send.js:533:10)
at SendStream.send (C:\XXXX\node_modules\express\node_modules\send\lib\send.js:480:8)
at C:\XXXX\node_modules\express\node_modules\send\lib\send.js:392:10
at FSReqWrap.oncomplete (fs.js:82:15)
worker 1760 died
安装“longjohn”后,我收到以下错误消息:
socket.parser.resume()
cannot read property resume of null (_http_server.js:442)
......
TypeError: Cannot read property 'resume' of null
at socketOnDrain (_http_server.js:442:20)
at ServerResponse.updateOutgoingData [as _onPendingData] (_http_server.js:270:14)
at ServerResponse.OutgoingMessage._send (_http_outgoing.js:128:14)
at ServerResponse.OutgoingMessage.write (_http_outgoing.js:470:16)
at ReadStream.ondata (_stream_readable.js:525:20)
at emitOne (events.js:77:13)
at ReadStream.emit (events.js:169:7)
at readableAddChunk (_stream_readable.js:146:16)
at ReadStream.Readable.push (_stream_readable.js:110:10)
at onread (fs.js:1744:12)
at FSReqWrap.wrapper [as oncomplete] (fs.js:576:17)
---------------------------------------------
at ReadStream.Readable.on (_stream_readable.js:655:33)
at ReadStream.Readable.pipe (_stream_readable.js:522:7)
at SendStream.stream (C:\XXXX\node_modules\express\node_modules\send\lib\send.js:533:10)
at SendStream.send (C:\XXXX\node_modules\express\node_modules\send\lib\send.js:480:8)
at C:\XXXX\node_modules\express\node_modules\send\lib\send.js:392:10
at FSReqWrap.oncomplete (fs.js:82:15)
worker 1760 died
值得一提的是,我正在使用socket.io。我还使用一个名为Global Counter的外部服务,它显示在线用户的数量。我正在其中一个Worker中运行setInterval()以删除过期记录
有人能告诉我这些错误信息的含义,错误是如何发生的,我应该如何解决它吗,在将nodejs升级到v4.2.3+或v5.1.1+以及您使用的node版本后,您可能会修复此问题?您可能需要使用node.js主分支进行测试,因为我相信有几个与http相关的错误修复尚未进入v4.x分支。如果这种情况仍然发生在主机上,您可能希望在节点的问题跟踪器上提交错误报告,因为(如果第三方模块没有弄乱节点的内部结构)这种情况不应该发生。我将节点更新为v4.2.1,但问题仍然存在。