首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >StatsD启动错误

StatsD启动错误
EN

Stack Overflow用户
提问于 2013-07-02 15:15:39
回答 2查看 808关注 0票数 3

我在etsy的statsD遇到了一些麻烦,看到我对javascript并不是很有经验,我想我应该问一个问题,也许有人以前遇到过这个错误,因为不幸的是这一次google并没有那么有帮助。

麻烦是几天前开始的,当时我决定重启保持statsD正常运行的节点进程,而重启后它就不能启动了。它给出了以下输出:

代码语言:javascript
复制
2 Jul 03:02:08 - reading config file: /opt/statsd/statsd/psrkConfig.js
2 Jul 03:02:08 - server is up
2 Jul 03:02:08 - Loading backend: ./backends/graphite
events.js:72
        throw er; // Unhandled 'error' event
          ^
Error: bind Unknown system errno 92
    at errnoException (dgram.js:440:11)
    at dgram.js:207:28
    at dns.js:72:18
    at process._tickCallback (node.js:415:13)

首先,我想我应该描述一下我的环境。我使用gentoo作为操作系统,我在系统上安装了net-libs/nodejs-0.10.10 (实际上是0.10.8,但我在搜索问题解决方案时进行了升级),并且我已经从git克隆了最新的etsy/statsD代码库。我也尝试过statsD的npm版本,但得到了相同的行为。

我尝试使用strace跟踪程序,并找到了错误,但我不知道如何继续。我猜测失败的系统调用如下所示:

代码语言:javascript
复制
setsockopt(11, SOL_SOCKET, 0xf /* SO_??? */, [1], 4) = -1 ENOPROTOOPT (Protocol not available) <0.000009>

但它必须从statsD内部的某个地方调用(使其更容易调试),但我找不到它。

我非常感谢任何形式的小帮助或指示,因为我猜错误来自于node.js库,而我对它们一无所知。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-07-17 09:18:26

与@user1135类似,在debian/testing的最新版本中,绑定到UDP套接字时遇到了问题。我们注释掉了udp.c中的#ifdef部分,并重新编译以修复该问题。

票数 1
EN

Stack Overflow用户

发布于 2013-07-04 14:20:44

我最近也在Gentoo Linux上遇到了类似的问题。碰巧我安装了3.9版的linux头文件,但仍然在运行一个较旧的内核。这导致在构建node.js (特别是uv)时定义SO_REUSEPORT。返回到正确的头文件版本或在deps/uv/src/unix/udp.c中执行#undef SO_REUSEPORT应该可以修复它。同样,升级到3.9+内核也可以做到这一点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17419624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档