【发布时间】:2013-05-27 09:07:17
【问题描述】:
我正在使用 node.js 和 video.js 插件提供静态视频文件(.ogv 和 .mov)。但是,node.js 不断崩溃并显示以下错误消息:
node: ../deps/uv/src/unix/stream.c:1319: uv_read_stop: Assertion `!uv__io_active(&stream->io_watcher, 4) || !(&stream->write_completed_queue == (&stream->write_completed_queue)->prev) || !(&stream->write_queue == (&stream->write_queue)->prev) || stream->shutdown_req != ((void *)0) || stream->connect_req != ((void *)0)' failed.
这是 node.js 代码:
app.configure (function () {
app.set ('views', path.join (__dirname, 'templates'));
app.set ('view engine', 'jade');
app.use (express.favicon (path.join (__dirname, '/img/favicon.ico')));
app.use ('/video', express.static (path.join (__dirname, 'public')));
app.use (express.static (path.join (__dirname, 'public')));
//bodyParser, methodOverride, cookieParser and session calls here
app.use (app.router);
});
我的 node.js 版本是“v0.10.4”
目录结构:
- /myApp
- /myApp/public
- /myApp/public/video
- /myApp/public
一个非常简单的静态文件服务。尝试将 express.static 放在 app.router 之后,以及 favicon 上方,没有这样的运气。
欣赏任何建议。
【问题讨论】:
-
看起来它可能是一个节点错误。尝试使用最新版本的 Node (0.10.8) 看看是否能解决您的问题。如果没有,请尝试删除应用程序的某些部分,以便留下一个仍然崩溃或修复问题的最低版本(在这种情况下,您可以缩小应用程序的哪个部分负责触发问题)。
-
升级到 0.10.8。错误仍然存在。
-
打开问题跟踪 #5569
-
在下一个 0.10 版本中修复。
-
我不得不说,在节点中断言是可怕的。应该有人将其拆分为单独的断言。