【问题标题】:node.js crashes when serving video file提供视频文件时 node.js 崩溃
【发布时间】: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

一个非常简单的静态文件服务。尝试将 express.static 放在 app.router 之后,以及 favicon 上方,没有这样的运气。

欣赏任何建议。

【问题讨论】:

  • 看起来它可能是一个节点错误。尝试使用最新版本的 Node (0.10.8) 看看是否能解决您的问题。如果没有,请尝试删除应用程序的某些部分,以便留下一个仍然崩溃或修复问题的最低版本(在这种情况下,您可以缩小应用程序的哪个部分负责触发问题)。
  • 升级到 0.10.8。错误仍然存​​在。
  • 打开问题跟踪 #5569
  • 在下一个 0.10 版本中修复。
  • 我不得不说,在节点中断言是可怕的。应该有人将其拆分为单独的断言。

标签: node.js libuv


【解决方案1】:

所以,为了完整起见:这是known bug 中的libuv,其中has been solved0.10.9。自0.10.11 以来,is resolved 也出现了类似的问题。

【讨论】:

    猜你喜欢
    • 2021-03-15
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 2012-10-20
    相关资源
    最近更新 更多