nodejs + aerospike崩溃

时间:2015-01-28 17:24:57

标签: node.js gdb aerospike

我从一个错误中获得以下回溯,该错误仅在对服务器的一些后续请求之后发生:

node: ../deps/uv/src/unix/core.c:171: uv__finish_close: Assertion `handle->flags & UV_CLOSING' failed.

Program received signal SIGABRT, Aborted.
0x00000030eee32925 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64        return INLINE_SYSCALL (tgkill, 3, pid, selftid, sig);
(gdb) backtrace
#0  0x00000030eee32925 in raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1  0x00000030eee34105 in abort () at abort.c:92
#2  0x00000030eee2ba4e in __assert_fail_base (fmt=<value optimized out>, assertion=0xb37538 "handle->flags & UV_CLOSING", file=0xb374a8 "../deps/uv/src/unix/core.c", line=<value optimized out>, function=<value optimized out>)
    at assert.c:96
#3  0x00000030eee2bb10 in __assert_fail (assertion=0xb37538 "handle->flags & UV_CLOSING", file=0xb374a8 "../deps/uv/src/unix/core.c", line=171, function=0xb37690 "uv__finish_close") at assert.c:105
#4  0x0000000000994bb4 in uv__finish_close (loop=0xe6d840, mode=<value optimized out>) at ../deps/uv/src/unix/core.c:171
#5  uv__run_closing_handles (loop=0xe6d840, mode=<value optimized out>) at ../deps/uv/src/unix/core.c:221
#6  uv_run (loop=0xe6d840, mode=<value optimized out>) at ../deps/uv/src/unix/core.c:319
#7  0x0000000000942132 in node::Start(int, char**) ()
#8  0x00000030eee1ed1d in __libc_start_main (main=0x599710 <main>, argc=2, ubp_av=0x7fffffffdec8, init=<value optimized out>, fini=<value optimized out>, rtld_fini=<value optimized out>, stack_end=0x7fffffffdeb8)
    at libc-start.c:226
#9  0x00000000005999f1 in _start ()

知道为什么会这样吗?我正在使用aerospike,但我不确定它是否与此问题有关。

重现它:

gdb --args node /bin/www
> run // until error occurs
> backtrace full

1 个答案:

答案 0 :(得分:0)

在Aerospike Community Edition用户论坛here上提出了这个问题。

2015年4月,Aerospike正式向NPM(Node.js 1.0.38)发布;它在node.js API中运行查询时修复了此UV断言段错误。

用户@Daniel报告他的问题现已解决。