2011-07-14 159 views
7

如果我重装我的应用程序(从与Reload按钮的浏览器),一个许多像50 reload/10 seconds时候,它给了我这个错误:的Node.js:EBADF,错误的文件描述符

events.js:45 
    throw arguments[1]; // Unhandled 'error' event 
       ^
Error: EBADF, Bad file descriptor 

这似乎对我来说,一个带宽错误或类似的东西,原来我在使用HTML 5 Audio API时遇到了错误,如果我连续10-15次加载音频文件,那么我得到了错误,但现在我已经发现我在没有使用Audio API的情况下出现错误,只是通过重新加载站点很多次,Safari也给我提供了比Chrome更快的错误(WTF?)

我正在使用Node.js 0.4.8和express + jade,并且我还通过db-mysql模块连接到MySQL数据库。

我无法找到关于这个话题有什么帮助,所以pleeease让我知道可能会导致这个错误,因为它真的很困惑:(

回答

3

通过“重新加载应用程序”你的意思刷新网络上的任何物品你的应用程序的主页从浏览器,或实际上停止并重新启动node.js服务器进程?我假设前者,在这种情况下,如果你不能可靠地重现这一点,调试将非常棘手,特别是因为你不如果你使用express.js app.error挂钩(docs here),你会想从“坏文件描述符”错误中记录错误路径,希望能够告诉你这是否是这个错误是一个临时文件,被删除或什么。就实际原因而言e,我们只能提供猜测,因为“坏文件描述符”是一个非常普遍的低级别错误,基本上意味着您正在调用对不再处于该操作的正确状态的文件描述符的操作(如读取已关闭的文件,打开已删除的文件等)。

相关问题