Details
-
Bug
-
Resolution: Fixed
-
Major
-
None
-
None
-
None
Description
I do not have a condensed test case that can reproduce this, but it is happening in a few of our applications. Here is a backtrace:
(lldb) bt
|
* thread #1: tid = 0, 0x00007f623f2905b9 couchbase_impl.node`on_flush_done(ctx=0x0000000004076720, expected=2543, actual=2543) + 56 at mcserver.c:84, name = 'node', stop reason = signal SIGSEGV
|
* frame #0: 0x00007f623f2905b9 couchbase_impl.node`on_flush_done(ctx=0x0000000004076720, expected=2543, actual=2543) + 56 at mcserver.c:84
|
frame #1: 0x00007f623f2cfce8 couchbase_impl.node`Cw_ex_handler(sd=0x0000000004019ca0, status=0, wdata=0x00000000000009ef) + 68 at ctx.c:527
|
frame #2: 0x00007f623f28fbb5 couchbase_impl.node`write2_callback(req=0x0000000004035e30, status=0) + 95 at plugin-libuv.c:383
|
frame #3: 0x0000000001b0f9e4 node`uv__write_callbacks(stream=0x0000000004019cf8) + 328 at stream.c:940
|
frame #4: 0x0000000001b0e7e9 node`uv__stream_destroy(stream=0x0000000004019cf8) + 312 at stream.c:450
|
frame #5: 0x0000000001b019f5 node`uv__finish_close(handle=0x0000000004019cf8) + 145 at core.c:256
|
frame #6: 0x0000000001b01af9 node`uv__run_closing_handles(loop=0x000000000285c3e0) + 68 at core.c:286
|
frame #7: 0x0000000001b01d17 node`uv_run(loop=0x000000000285c3e0, mode=UV_RUN_ONCE) + 202 at core.c:356
|
frame #8: 0x0000000001953fec node`node::StartNodeInstance(arg=0x00007ffd822ccbe0) + 727 at node.cc:4394
|
frame #9: 0x00000000019542f1 node`node::Start(argc=2, argv=0x0000000003f87bc0) + 241 at node.cc:4474
|
frame #10: 0x000000000198918e node`main(argc=3, argv=0x00007ffd822ccd48) + 62 at node_main.cc:53
|
frame #11: 0x00007f6241578b45 libc.so.6`__libc_start_main + 245
|
frame #12: 0x0000000000ded529 node
|
(lldb) f 0
|
frame #0: 0x00007f623f2905b9 couchbase_impl.node`on_flush_done(ctx=0x0000000004076720, expected=2543, actual=2543) + 56 at mcserver.c:84
|
81 mc_SERVER *server = lcbio_ctx_data(ctx);
|
82 lcb_U64 now = 0;
|
83
|
-> 84 if (LCBT_SETTING(server->instance, readj_ts_wait)) {
|
85 now = gethrtime();
|
86 }
|
87
|
I have a core dump (and would be happy to share if that will help) and it looks like server->instance->settings is garbage when this is hit.