2

サーバーへの後続のリクエストの後にのみ発生するエラーから、次のバックトレースを取得しています。

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
4

1 に答える 1

0

この質問は、こちらの Aerospike Community Edition ユーザー フォーラムで行われました。

Aerospike は、2015 年 4 月に NPM (Node.js 1.0.38) の公式リリースを行いました。node.js API でクエリを実行すると、この UV アサーション segfault が修正されます。

ユーザー @Daniel は、問題が修正されたことを報告しました。

于 2015-10-10T00:45:17.987 に答える