Reputation: 9
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