arihant jain
arihant jain

Reputation: 9

Nanomsg gives signal 6 abort during fetching from couchbase

I am getting a signal 6 error when i am trying to fetch data from couchbase, this occurs at erratic intervals. I am using version 1.1 and from the code i can see if poll returns value less than 0, errno_assert is being triggered which crashes the application with signal 6.

Below is the backtrace of nanomsg thread:

Program terminated with signal 6, Aborted.

#0 0x00007ffff4c74a33 in select () from /usr/lib64/libc.so.6

Missing separate debuginfos, use: debuginfo-install boost-system-1.53.0-28.el7.x86_64 cyrus-sasl-lib-2.1.26-23.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.15.1-50.el7.x86_64 libcom_err-1.42.9-19.el7.x86_64 libcurl-7.29.0-59.el7_9.1.x86_64 libidn-1.28-4.el7.x86_64 libselinux-2.5-15.el7.x86_64 libssh2-1.8.0-4.el7.x86_64 nspr-4.32.0-1.el7_9.x86_64 nss-3.53.1-3.el7_9.x86_64 nss-util-3.67.0-1.el7_9.x86_64 openldap-2.4.44-22.el7.x86_64 openssl-libs-1.0.2k-21.el7_9.x86_64 pcre-8.32-17.el7.x86_64 zlib-1.2.7-19.el7_9.x86_64

(gdb) thread 18

[Switching to thread 18 (Thread 0x7fffcef74700 (LWP 40630))]

#0 0x00007ffff4bfce00 in _IO_cleanup () from /usr/lib64/libc.so.6

(gdb) bt full

#0 0x00007ffff4bfce00 in _IO_cleanup () from /usr/lib64/libc.so.6

No symbol table info available.

#1 0x00007ffff4bb6be5 in abort () from /usr/lib64/libc.so.6

No symbol table info available.

#2 0x00000000009ff371 in nn_err_abort ()

No symbol table info available.

#3 0x00000000009ff2cd in nn_efd_wait ()

No symbol table info available.

#4 0x00000000009fbb13 in nn_sock_recv ()

No symbol table info available.

#5 0x00000000009f95fa in nn_recvmsg ()

No symbol table info available.

#6 0x00000000009f9015 in nn_recv ()

No symbol table info available.

#7 0x000000000099b8c9 in vcmNpsIcmMsgRecv ()

No symbol table info available.

#8 0x0000000000975a57 in __vcmNpsIcmRecv ()

No symbol table info available.

#9 0x00000000007261f5 in vcmDpeEmaIcmStatsCb(void*) ()

No symbol table info available.

#10 0x000000000099a54b in vcmNpsIcmInterfaceCreate ()

No symbol table info available.

#11 0x000000000095b1c0 in ?? ()

No symbol table info available.

#12 0x00007ffff7250ea5 in start_thread (arg=0x7fffcef74700) at pthread_create.c:307
__res =
pd = 0x7fffcef74700
now =
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140736665700096, -1738215837302118578, 0, 33558528, 0, 140736665700096, 1738108024908031822,
1738235171653297998}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}

#13 0x00007ffff4c7d9fd in clone () from /usr/lib64/libc.so.6

This is present in one of our stdout files:

Invalid argument [22] (home/3rd-party/nanomsg/src/utils/efd.c:91)

Code::

88 rc = poll (&pfd, 1, timeout);
89 if (nn_slow (rc < 0 && errno == EINTR))
90 return -EINTR;
91 errno_assert (rc >= 0);

I found that in version 1.2, this errno_assert is not present in the code, Can this errno_assert be safely removed from our code without updating the nanomsg version . Please help.

Upvotes: 1

Views: 52

Answers (0)

Related Questions