nodejs + 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 

这个问题在Aerospike社区版用户论坛上被问到。

Aerospike于2015年4月正式发布到NPM(Node.js 1.0.38); 它在node.js API中运行查询时修复了这个UV断言segfault。

用户@Daniel报告说他的问题现在已经解决了。