Hi,
The problem does not just occur when kamailio is restarted. The restart was
the way I found to reproduce the problem, because when a proxy is
restarted, there is more traffic from DMQ messages, so the problem is more
likely to occur.
The full backtrace is following:
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-92.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html
This is free software: you are free to change
and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /opt/ptin/kamailio-ksipadp/bin/ksipadp-proxy...Reading
symbols from /usr/lib/debug/usr/sbin/kamailio.debug...done.
done.
[New Thread 506]
Reading symbols from /lib64/libdl.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libdl.so.2
Reading symbols from /lib64/libresolv.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libresolv.so.2
Reading symbols from /lib64/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/lib64/kamailio/modules/db_postgres.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/db_postgres.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/db_postgres.so
Reading symbols from /usr/lib64/libpq.so.5...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libpq.so.5
Reading symbols from /usr/lib64/kamailio/libsrdb2.so.1...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/libsrdb2.so.1.0.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/libsrdb2.so.1
Reading symbols from /usr/lib64/kamailio/libsrdb1.so.1...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/libsrdb1.so.1.0.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/libsrdb1.so.1
Reading symbols from /usr/lib64/libssl.so.10...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libssl.so.10
Reading symbols from /usr/lib64/libcrypto.so.10...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libcrypto.so.10
Reading symbols from /lib64/libgssapi_krb5.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libgssapi_krb5.so.2
Reading symbols from /lib64/libldap_r-2.4.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libldap_r-2.4.so.2
Reading symbols from /lib64/libpthread.so.0...(no debugging symbols
found)...done.
[Thread debugging using libthread_db enabled]
Loaded symbols for /lib64/libpthread.so.0
Reading symbols from /lib64/libkrb5.so.3...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libkrb5.so.3
Reading symbols from /lib64/libcom_err.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libcom_err.so.2
Reading symbols from /lib64/libk5crypto.so.3...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libk5crypto.so.3
Reading symbols from /lib64/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib64/libz.so.1
Reading symbols from /lib64/libkrb5support.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libkrb5support.so.0
Reading symbols from /lib64/libkeyutils.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libkeyutils.so.1
Reading symbols from /lib64/liblber-2.4.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/liblber-2.4.so.2
Reading symbols from /usr/lib64/libsasl2.so.2...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libsasl2.so.2
Reading symbols from /usr/lib64/libssl3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libssl3.so
Reading symbols from /usr/lib64/libsmime3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libsmime3.so
Reading symbols from /usr/lib64/libnss3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libnss3.so
Reading symbols from /usr/lib64/libnssutil3.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libnssutil3.so
Reading symbols from /lib64/libplds4.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libplds4.so
Reading symbols from /lib64/libplc4.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libplc4.so
Reading symbols from /lib64/libnspr4.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libnspr4.so
Reading symbols from /lib64/libselinux.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libselinux.so.1
Reading symbols from /lib64/libcrypt.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libcrypt.so.1
Reading symbols from /lib64/librt.so.1...(no debugging symbols
found)...done.
Loaded symbols for /lib64/librt.so.1
Reading symbols from /lib64/libfreebl3.so...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libfreebl3.so
Reading symbols from /usr/lib64/kamailio/modules/ctl.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/ctl.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/ctl.so
Reading symbols from /lib64/libnss_files.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libnss_files.so.2
Reading symbols from /usr/lib64/kamailio/modules/kex.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/kex.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/kex.so
Reading symbols from /usr/lib64/kamailio/libsrutils.so.1...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/libsrutils.so.1.0.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/libsrutils.so.1
Reading symbols from /lib64/libm.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib64/libm.so.6
Reading symbols from /usr/lib64/kamailio/modules/tm.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/tm.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/tm.so
Reading symbols from /usr/lib64/kamailio/modules/tmx.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/tmx.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/tmx.so
Reading symbols from /usr/lib64/kamailio/modules/corex.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/corex.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/corex.so
Reading symbols from /usr/lib64/kamailio/modules/cfg_rpc.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/cfg_rpc.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/cfg_rpc.so
Reading symbols from /usr/lib64/kamailio/modules/sl.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/sl.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/sl.so
Reading symbols from /usr/lib64/kamailio/modules/rr.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/rr.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/rr.so
Reading symbols from /usr/lib64/kamailio/modules/maxfwd.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/maxfwd.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/maxfwd.so
Reading symbols from /usr/lib64/kamailio/modules/siputils.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/siputils.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/siputils.so
Reading symbols from /usr/lib64/kamailio/modules/sanity.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/sanity.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/sanity.so
Reading symbols from /usr/lib64/kamailio/modules/textops.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/textops.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/textops.so
Reading symbols from /usr/lib64/kamailio/modules/textopsx.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/textopsx.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/textopsx.so
Reading symbols from /usr/lib64/kamailio/modules/dmq.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/dmq.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/dmq.so
Reading symbols from /usr/lib64/kamailio/modules/htable.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/htable.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/htable.so
Reading symbols from /usr/lib64/kamailio/modules/pv.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/pv.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/pv.so
Reading symbols from /usr/lib64/kamailio/modules/xlog.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/xlog.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/xlog.so
Reading symbols from /usr/lib64/kamailio/modules/jsonrpcs.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/jsonrpcs.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/jsonrpcs.so
Reading symbols from /usr/lib64/kamailio/modules/uac.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/uac.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/uac.so
Reading symbols from /usr/lib64/kamailio/modules/uac_redirect.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/uac_redirect.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/uac_redirect.so
Reading symbols from /usr/lib64/kamailio/modules/db_text.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/db_text.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/db_text.so
Reading symbols from /usr/lib64/kamailio/modules/dispatcher.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/dispatcher.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/dispatcher.so
Reading symbols from /usr/lib64/kamailio/modules/sqlops.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/sqlops.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/sqlops.so
Reading symbols from /usr/lib64/kamailio/modules/regex.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/regex.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/regex.so
Reading symbols from /lib64/libpcre.so.0...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libpcre.so.0
Reading symbols from /usr/lib64/kamailio/modules/permissions.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/permissions.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/permissions.so
Reading symbols from /usr/lib64/kamailio/modules/dialplan.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/dialplan.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/dialplan.so
Reading symbols from /usr/lib64/kamailio/modules/mtree.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/mtree.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/mtree.so
Reading symbols from /usr/lib64/kamailio/modules/cfgutils.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/cfgutils.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/cfgutils.so
Reading symbols from /usr/lib64/kamailio/modules/statsd.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/statsd.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/statsd.so
Reading symbols from /usr/lib64/kamailio/modules/app_lua.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/app_lua.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/app_lua.so
Reading symbols from /usr/lib64/liblua-5.1.so...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/liblua-5.1.so
Reading symbols from /usr/lib64/kamailio/modules/rtimer.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/rtimer.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/rtimer.so
Reading symbols from /usr/lib64/kamailio/modules/mqueue.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/mqueue.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/mqueue.so
Reading symbols from /usr/lib64/kamailio/modules/auth.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/auth.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/auth.so
Reading symbols from /usr/lib64/kamailio/modules/usrloc.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/usrloc.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/usrloc.so
Reading symbols from /usr/lib64/kamailio/modules/registrar.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/registrar.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/registrar.so
Reading symbols from /usr/lib64/kamailio/modules/dmq_usrloc.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/dmq_usrloc.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/dmq_usrloc.so
Reading symbols from /usr/lib64/kamailio/modules/xhttp.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/xhttp.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/xhttp.so
Reading symbols from /usr/lib64/kamailio/modules/exec.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/exec.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/exec.so
Reading symbols from /usr/lib64/kamailio/modules/http_client.so...Reading
symbols from
/usr/lib/debug/usr/lib64/kamailio/modules/http_client.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/http_client.so
Reading symbols from /usr/lib64/libxml2.so.2...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libxml2.so.2
Reading symbols from /usr/lib64/libcurl.so.4...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libcurl.so.4
Reading symbols from /lib64/libidn.so.11...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libidn.so.11
Reading symbols from /lib64/libldap-2.4.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libldap-2.4.so.2
Reading symbols from /usr/lib64/libssh2.so.1...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib64/libssh2.so.1
Reading symbols from /usr/lib64/kamailio/modules/json.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/json.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/json.so
Reading symbols from /lib64/libjson-c.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libjson-c.so.2
Reading symbols from /usr/lib64/kamailio/modules/ipops.so...Reading symbols
from /usr/lib/debug/usr/lib64/kamailio/modules/ipops.so.debug...done.
done.
Loaded symbols for /usr/lib64/kamailio/modules/ipops.so
Reading symbols from /lib64/libnss_dns.so.2...(no debugging symbols
found)...done.
Loaded symbols for /lib64/libnss_dns.so.2
Core was generated by `/opt/ptin/kamailio-ksipadp/bin/ksipadp-proxy -f
/opt/ptin/kamailio-ksipadp/prox'.
Program terminated with signal 11, Segmentation fault.
#0 0x00007fefe58ea7c4 in atomic_get (v=0x0) at
../../core/atomic/atomic_common.h:66
66 return atomic_get_int(&(v->val));
Missing separate debuginfos, use: debuginfo-install
kamailio-ksipadp-2.8.0-1.ptin.el6.x86_64
(gdb) bt full
#0 0x00007fefe58ea7c4 in atomic_get (v=0x0) at
../../core/atomic/atomic_common.h:66
No locals.
#1 0x00007fefe58ee246 in job_queue_size (queue=0x0) at worker.c:254
No locals.
#2 0x00007fefe58ed920 in add_dmq_job (msg=0x7ff028b453f8,
peer=0x7fefebcc4df8) at worker.c:184
i = 1
found_available = 0
new_job = {f = 0x7fefe2613797 <usrloc_dmq_handle_msg>, msg =
0x7fefebce67c8, orig_peer = 0x7fefebcc4df8, next = 0x0, prev = 0x0}
worker = 0x7fefe7a1d890
cloned_msg = 0x7fefebce67c8
cloned_msg_len = 3888
__FUNCTION__ = "add_dmq_job"
#3 0x00007fefe58dfec1 in dmq_handle_message (msg=0x7ff028b453f8, str1=0x0,
str2=0x0) at message.c:66
peer = 0x7fefebcc4df8
__FUNCTION__ = "dmq_handle_message"
#4 0x0000000000433729 in do_action (h=0x7ffc89e35670, a=0x7ff0285a9340,
msg=0x7ff028b453f8) at core/action.c:1054
ret = -5
v = 1
dst = {send_sock = 0x7ff0285a8810, to = {s = {sa_family = 21376,
sa_data = "\343\211\374\177\000\000\370S\264(\360\177\000"}, sin = {
sin_family = 21376, sin_port = 35299, sin_addr = {s_addr =
32764}, sin_zero = "\370S\264(\360\177\000"}, sin6 = {sin6_family = 21376,
sin6_port = 35299, sin6_flowinfo = 32764, sin6_addr =
{__in6_u = {__u6_addr8 = "\370S\264(\360\177\000\000pV\343\211\374\177\000",
__u6_addr16 = {21496, 10420, 32752, 0, 22128, 35299,
32764, 0}, __u6_addr32 = {682906616, 32752, 2313377392, 32764}}},
sin6_scope_id = 1}}, id = 32764, proto = 0 '\000', send_flags
= {f = 0, blst_imask = 0}}
tmp = 0x389c422190 ""
new_uri = 0x7c00000000 <Address 0x7c00000000 out of bounds
end = 0x6e00000077 <Address
0x6e00000077 out of bounds
crt =
0x389c98e120 ""
cmd = 0x7ff0283219b0
len = 0
user = 0
uri = {user = {s = 0x7ffc89e34a10 "@K\343\211\374\177", len =
4459394}, passwd = {s = 0x7ffc89e34e80 "\356Q\343\211\374\177",
len = 682906616}, host = {s = 0x7ff0285a9020 "\177\001", len =
-1981589904}, port = {s = 0x0, len = 1}, params = {
s = 0x7ff028b453f8 "\017", len = 295169284}, sip_params = {s =
0x32 <Address 0x32 out of bounds>, len = 1073741824}, headers = {
s = 0x2000000 <Address 0x2000000 out of bounds>, len =
4289104}, port_no = 60676, proto = 5047, type = 2312043322, flags =
2168712452,
transport = {s = 0x0, len = -1675583518}, ttl = {s = 0x89e34e90
<Address 0x89e34e90 out of bounds>, len = 35715777}, user_param = {
s = 0xffffffff0000003c <Address 0xffffffff0000003c out of
bounds>, len = -1671419584}, maddr = {s = 0x0, len = -1981592704}, method =
{
s = 0x389c603c48 "", len = -1671391960}, lr = {s = 0x0, len =
-1981592544}, r2 = {s = 0x1dde9a0 " 9\336\001", len = 0}, gr = {
s = 0x4 <Address 0x4 out of bounds>, len = 2479}, transport_val
= {s = 0x389c422190 "", len = 1}, ttl_val = {
s = 0x7ffc89e34b40 "pM\343\211\374\177", len = 5683491},
user_param_val = {s = 0x40e7e8 "\370\377\377\377\377\377\377\377@ݘ\234\070",
len = -1671362728}, maddr_val = {s = 0x404130 "", len = 0},
method_val = {s = 0x1000003b4 <Address 0x1000003b4 out of bounds>, len = 0},
lr_val = {s = 0x7fefe7374b9a "%x%c%x%c", len = -1673386776},
r2_val = {s = 0x7ffc89e34bd0 "", len = -1981592584}, gr_val = {
---Type <return> to continue, or q <return> to quit---
s = 0x389c422190 "", len = 0}}
next_hop = {user = {s = 0x1 <Address 0x1 out of bounds>, len = 40},
passwd = {s = 0x0, len = -1407107317}, host = {
s = 0x2000000 <Address 0x2000000 out of bounds>, len =
31398688}, port = {s = 0x1dde9a0 " 9\336\001", len = 31320480}, params = {
s = 0x7ffc89e34c20 "", len = -1981593152}, sip_params = {s =
0x7ffc89e34910 "\200N\343\211\374\177", len = 682906616}, headers = {
s = 0x32 <Address 0x32 out of bounds>, len = 1073741824},
port_no = 0, proto = 512, type = ERROR_URI_T, flags = 4289104, transport = {
s = 0x7ffc89e34900 "\020J\343\211\374\177", len = 4457737}, ttl
= {s = 0x7ffc89e348f0 "", len = -1981593520}, user_param = {
s = 0x7ffc89e34858 "\r", len = -1981593264}, maddr = {s =
0x7ffc89e34870 "", len = -1981593456}, method = {s = 0x7ffc89e348b0
"\r",
len = -1981593392}, lr = {s = 0x8cd2d0 <Address 0x8cd2d0 out of
bounds>, len = 13}, r2 = {
s = 0x10100000002 <Address 0x10100000002 out of bounds>, len =
-1}, gr = {s = 0x0, len = 0}, transport_val = {s = 0x0, len = 682906616},
ttl_val = {s = 0x7ff0285a9020 "\177\001", len = -1981593296},
user_param_val = {s = 0x7ffc89e34fa0 "\001\200\255\373\374\177", len = 0},
maddr_val = {s = 0x10000000d <Address 0x10000000d out of bounds>,
len = -1981591296}, method_val = {
s = 0x7fef00000000 <Address 0x7fef00000000 out of bounds>, len
= -1671151657}, lr_val = {s = 0x7fefe7374ba2 "", len = 682906616},
r2_val = {s = 0x32 <Address 0x32 out of bounds>, len =
1073741824}, gr_val = {s = 0x2000000 <Address 0x2000000 out of bounds>,
len = 4289104}}
u = 0x389c4224e8
port = 0
dst_host = 0x89e34bd0
i = 32764
flags = 52
avp = 0x189e35040
st = {flags = 2313374752, id = 32764, name = {n = -1981593512, s =
{s = 0x7ffc89e34858 "\r", len = -1981593152}, re = 0x7ffc89e34858},
avp = 0x7ffc89e347a0}
sct = 0x0
sjt = 0x7ff028b453f8
rve = 0x32
mct = 0x40000000
rv = 0x7ffc89e34c20
rv1 = 0x2000000
c1 = {cache_type = 2313374144, val_type = 32764, c = {avp_val = {n
= 1, s = {s = 0x1 <Address 0x1 out of bounds>, len = 1}, re = 0x1}, pval = {
rs = {s = 0x1 <Address 0x1 out of bounds>, len = 1}, ri =
-1407115050, flags = 52}},
i2s = "\000\000\000\000\000\000\000\000\274\224
\254\064\000\000\000\240G\343\211\374\177"}
s = {s = 0x1 <Address 0x1 out of bounds>, len = -1981593512}
srevp = {0x7ffc89e34960, 0x34ac208a97}
mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0,
str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {
type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s =
0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u
= {
number = 0, string = 0x0, str = {s = 0x0, len = 0}, data =
0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0,
string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr =
0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str
= {
s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}},
{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0},
data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u
= {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0,
attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number =
0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0,
select = 0x0}}}
---Type <return> to continue, or q <return> to quit---
__FUNCTION__ = "do_action"
#5 0x00000000004404b8 in run_actions (h=0x7ffc89e35670, a=0x7ff0285a9340,
msg=0x7ff028b453f8) at core/action.c:1552
t = 0x7ff0285a9340
ret = -1
mod = 0x1dde9a0
ms = 176570657
__FUNCTION__ = "run_actions"
#6 0x0000000000433692 in do_action (h=0x7ffc89e35670, a=0x7ff0285a9668,
msg=0x7ff028b453f8) at core/action.c:1045
ret = 1
v = 1
dst = {send_sock = 0x7ffc89e35380, to = {s = {sa_family = 61042,
sa_data = "I", '\000' <repeats 12 times>}, sin = {sin_family =
61042,
sin_port = 73, sin_addr = {s_addr = 0}, sin_zero =
"\000\000\000\000\000\000\000"}, sin6 = {sin6_family = 61042, sin6_port =
73,
sin6_flowinfo = 0, sin6_addr = {__in6_u = {__u6_addr8 =
"\000\000\000\000\000\000\000\000\020\000\000\000\005\000\000", __u6_addr16
= {
0, 0, 0, 0, 16, 0, 5, 0}, __u6_addr32 = {0, 0, 16,
5}}}, sin6_scope_id = 673678288}}, id = 32752, proto = 0 '\000', send_flags
= {
f = 0, blst_imask = 32752}}
tmp = 0x66307b "H\213E\270H\203\300\070\351O\003"
new_uri = 0x7ff028a93048 ""
end = 0x7ff028a93038 "\303l\256"
crt = 0x2000000 <Address 0x2000000 out of bounds
cmd = 0x1773508
len = 6791248
user = 0
uri = {user = {s = 0xae6ecd "", len = 11430897}, passwd = {s =
0x7c95f8 "core: core/parser/msg_parser.c", len = 682507016}, host = {
s = 0xae6c43 "To: <sip:usrloc@10.112.103.64:5080>\r\nFrom: <
sip:usrloc@10.112.101.128:5060>;tag=8a3534eb92149bbe647f599d354f2511-090e\r\nCSeq:
10 KDMQ\r\nCall-ID: 409f4ac5788a8cc4-24333(a)10.112.101.128\r\nContent-Length:
39"..., len = 11430924}, port = {s = 0x0, len = 682507072}, params = {
s = 0x7ff028ae3c90 <incomplete sequence \350>, len = 0},
sip_params = {s = 0x7ffc89e35330 "\246", len = 6697083}, headers = {
s = 0x7c9170 "core", len = -1981590832}, port_no = 8, proto =
0, type = ERROR_URI_T, flags = 30415600, transport = {
s = 0xa8428197 <Address 0xa8428197 out of bounds>, len =
-1675583518}, ttl = {s = 0x3000000030 <Address 0x3000000030 out of bounds>,
len = 44108294}, user_param = {s = 0x400000017 <Address
0x400000017 out of bounds>, len = 8176032}, maddr = {s = 0x0, len =
-1981590448},
method = {s = 0x389c603c48 "", len = 11431629}, lr = {s =
0x7ffc89e35450 "\220T\343\211\374\177", len = 6869803}, r2 = {
s = 0x7cc190 "get_hdr_field", len = 6730416}, gr = {s =
0x7ffc89e35300 "", len = 673677328}, transport_val = {s = 0x389c422190
"",
len = 673677328}, ttl_val = {s = 0x7ffc89e35350
"\200S\343\211\374\177", len = -413652166}, user_param_val = {s = 0x40e7f9
"", len = 0},
maddr_val = {s = 0x2000000 <Address 0x2000000 out of bounds>, len
= 24588552}, method_val = {
s = 0x67a450
"\030A\211\321A)\301D\211ȉ\302H\213\205(\377\377\377\211P \276\004", len =
8965880}, lr_val = {
s = 0x8cd2d0 <Address 0x8cd2d0 out of bounds>, len = 8}, r2_val
= {s = 0xa6 <Address 0xa6 out of bounds>, len = 8136007}, gr_val = {
s = 0x7c95f8 "core: core/parser/msg_parser.c", len = 682176488}}
next_hop = {user = {s = 0x1e7374b9a <Address 0x1e7374b9a out of
bounds>, len = 674472240}, passwd = {
s = 0xffffffff <Address 0xffffffff out of bounds>, len =
4289104}, host = {s = 0x4e2cb1825 <Address 0x4e2cb1825 out of bounds>,
len = -1667705792}, port = {s = 0x0, len = 1073741824}, params
= {s = 0x2000000 <Address 0x2000000 out of bounds>, len = 4289104},
sip_params = {s = 0x7ffc89e35180 "\360Q\343\211\374\177", len =
6031673}, headers = {s = 0x7fefe2cb183f "", len = -1981591296},
port_no = 23013, proto = 58022, type = 32751, flags = 2313376240,
transport = {s = 0x7fefe7374b9a "%x%c%x%c", len = -1981590944}, ttl = {
---Type <return> to continue, or q <return> to quit---
s = 0x1a <Address 0x1a out of bounds>, len = 4289104},
user_param = {s = 0x7fefe2a659e5 "5e6a5a14-1fa-", len = -1670974014}, maddr
= {
s = 0x30fbad8001 <Address 0x30fbad8001 out of bounds>, len =
-492414491}, method = {s = 0x7fefe2a659e5 "5e6a5a14-1fa-", len =
-492414491},
lr = {s = 0x7fefe2a659e5 "5e6a5a14-1fa-", len = -492414478}, r2 =
{s = 0x7fefe2a659ff "", len = -492414491}, gr = {s = 0x7fefe2a659ff
"",
len = 0}, transport_val = {s = 0x0, len = 6730416}, ttl_val =
{s = 0x7ffc89e351a0 "", len = 673677328}, user_param_val = {
s = 0x2000000 <Address 0x2000000 out of bounds>, len =
673677328}, maddr_val = {s = 0x7ffc89e351f0 "Cl\256", len = -413652166},
method_val = {s = 0x7ff028278010 "\001", len = 0}, lr_val = {s =
0x2000000 <Address 0x2000000 out of bounds>, len = 24589344}, r2_val = {
s = 0x67a138 "", len = 8965088}, gr_val = {s = 0x8cd2d0
<Address 0x8cd2d0 out of bounds>, len = 682507072}}
u = 0x66273d
port = 0
dst_host = 0x40000000
i = 28
flags = 0
avp = 0xae6cc7
st = {flags = 31129600, id = 0, name = {n = 0, s = {s = 0x0, len =
93}, re = 0x0}, avp = 0x7ffc89e35080}
sct = 0x7ffc89e35490
sjt = 0x6943d3
rve = 0x7ff0285a8808
mct = 0x6a283b
rv = 0x0
rv1 = 0x7c9170
c1 = {cache_type = 24, val_type = 48, c = {avp_val = {n =
-1981590720, s = {s = 0x7ffc89e35340 "\370\225|", len = -1981590912},
re = 0x7ffc89e35340}, pval = {rs = {s = 0x7ffc89e35340
"\370\225|", len = -1981590912}, ri = 0, flags = 0}},
i2s = '\000' <repeats 21 times>}
s = {s = 0x7fefe2cb183f "", len = -490006491}
srevp = {0x7fefe2cb1825, 0x7fefe2cb1832}
mod_f_params = {{type = NOSUBTYPE, u = {number = 0, string = 0x0,
str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {
type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s =
0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u
= {
number = 0, string = 0x0, str = {s = 0x0, len = 0}, data =
0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0,
string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr =
0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number = 0, string = 0x0, str
= {
s = 0x0, len = 0}, data = 0x0, attr = 0x0, select = 0x0}},
{type = NOSUBTYPE, u = {number = 0, string = 0x0, str = {s = 0x0, len = 0},
data = 0x0, attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u
= {number = 0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0,
attr = 0x0, select = 0x0}}, {type = NOSUBTYPE, u = {number =
0, string = 0x0, str = {s = 0x0, len = 0}, data = 0x0, attr = 0x0,
select = 0x0}}}
__FUNCTION__ = "do_action"
#7 0x00000000004404b8 in run_actions (h=0x7ffc89e35670, a=0x7ff0285a85d0,
msg=0x7ff028b453f8) at core/action.c:1552
t = 0x7ff0285a9668
ret = 1
mod = 0x417250
ms = 176570657
__FUNCTION__ = "run_actions"
#8 0x0000000000440c4a in run_top_route (a=0x7ff0285a85d0,
msg=0x7ff028b453f8, c=0x0) at core/action.c:1641
---Type <return> to continue, or q <return> to quit---
ctx = {rec_lev = 2, run_flags = 0, last_retcode = 1, jmp_env =
{{__jmpbuf = {140669451785720, -8516593617994257148, 50, 1073741824,
33554432,
4289104, -8516593618092823292, 8518532807277145348},
__mask_was_saved = 0, __saved_mask = {__val = {140668355198191, 4302791168,
48,
48, 18446744073709551615, 140722621863712,
140668355198919, 50, 0, 4611686022755909632, 140669451785208,
140722621863776, 5814046,
6608344928, 140669451785208, 0}}}}}
p = 0x7ffc89e35670
ret = 682907128
sfbk = 0
#9 0x000000000052e6b9 in receive_msg (
buf=0xae6bc0 "KDMQ sip:usrloc@10.112.103.64:5080 SIP/2.0\r\nVia:
SIP/2.0/UDP 10.112.101.128;branch=z9hG4bK8791.0c350dd3", '0' <repeats 24
times>, ".0\r\nTo: <sip:usrloc@10.112.103.64:5080>\r\nFrom: <
sip:usrloc@10.112.101.128"..., len=781, rcv_info=0x7ffc89e35a70) at
core/receive.c:264
msg = 0x7ff028b453f8
ctx = {rec_lev = -1981589208, run_flags = 32764, last_retcode = 8,
jmp_env = {{__jmpbuf = {163, 4253893, 8100093, 140669451683568,
140722621864176, 4845170, 0, 21474836480}, __mask_was_saved
= 673677840, __saved_mask = {__val = {140668768878592, 140722621864448,
6697083, 8094080, 5501958, 243141751568, 140669476122624,
140722621864896, 4294967295, 88212724672, 1, 140668357584160, 0, 33554432,
1024, 6608345520}}}}}
bctx = 0x7ffc89e359b0
ret = 0
stats_on = 0
tvb = {tv_sec = 140722621864208, tv_usec = 8961768}
tve = {tv_sec = 0, tv_usec = 243139749096}
tz = {tz_minuteswest = 50, tz_dsttime = 0}
diff = 0
inb = {
s = 0xae6bc0 "KDMQ sip:usrloc@10.112.103.64:5080 SIP/2.0\r\nVia:
SIP/2.0/UDP 10.112.101.128;branch=z9hG4bK8791.0c350dd3", '0' <repeats 24
times>, ".0\r\nTo: <sip:usrloc@10.112.103.64:5080>\r\nFrom: <
sip:usrloc@10.112.101.128"..., len = 781}
netinfo = {data = {s = 0x7ffc00000001 <Address 0x7ffc00000001 out
of bounds>, len = 0}, dst = 0x1, rcv = 0x389c422190}
keng = 0x0
__FUNCTION__ = "receive_msg"
#10 0x00000000006456a3 in udp_rcv_loop () at core/udp_server.c:515
len = 781
buf = "KDMQ sip:usrloc@10.112.103.64:5080 SIP/2.0\r\nVia:
SIP/2.0/UDP 10.112.101.128;branch=z9hG4bK8791.0c350dd3", '0' <repeats 24
times>, ".0\r\nTo: <sip:usrloc@10.112.103.64:5080>\r\nFrom: <
sip:usrloc@10.112.101.128:5060>;tag=8a3"...
tmp = 0x100000000 <Address 0x100000000 out of bounds
from = 0x7ff028b2c728
fromlen = 16
ri = {src_ip = {af = 2, len = 4, u = {addrl = {140722462617610,
140722621864592}, addr32 = {2154131466, 32764, 2313378448, 32764}, addr16 =
{
28682, 32869, 32764, 0, 23184, 35299, 32764, 0}, addr =
"\npe\200\374\177\000\000\220Z\343\211\374\177\000"}}, dst_ip = {af = 2,
len = 4, u = {addrl = {1080520714, 0}, addr32 = {1080520714, 0,
0, 0}, addr16 = {28682, 16487, 0, 0, 0, 0, 0, 0},
addr = "\npg@", '\000' <repeats 11 times>}},
src_port = 5060,
dst_port = 5080, proto_reserved1 = 0, proto_reserved2 = 0, src_su = {s = {
sa_family = 2, sa_data =
"\023\304\npe\200\000\000\000\000\000\000\000"}, sin = {sin_family = 2,
sin_port = 50195, sin_addr = {
s_addr = 2154131466}, sin_zero =
"\000\000\000\000\000\000\000"}, sin6 = {sin6_family = 2, sin6_port = 50195,
---Type <return> to continue, or q <return> to quit---
sin6_flowinfo = 2154131466, sin6_addr = {__in6_u =
{__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0,
0, 0},
__u6_addr32 = {0, 0, 0, 0}}}, sin6_scope_id = 0}},
bind_address = 0x7ff02830fff0, proto = 1 '\001'}
__FUNCTION__ = "udp_rcv_loop"
#11 0x0000000000423c7d in main_loop () at main.c:1623
i = 0
pid = 0
si = 0x7ff02830fff0
si_desc = "udp receiver child=0 sock=10.112.103.64:5080\000\000\000\000
_\343\211\374\177\000\000\062\000\000\000\000\000\000\000\000\000\000@
\000\000\000\000\000\000\000\002\000\000\000\000PrA\000\000\000\000\000PSn\234\070\000\000\000\060\000\000\000\060\000\000\000\020]\343\211\374\177\000\000@
\\\343\211\374\177\000\000\000px\347\357\177\000"
nrprocs = 4
woneinit = 0
__FUNCTION__ = "main_loop"
#12 0x000000000042b0ce in main (argc=13, argv=0x7ffc89e36008) at main.c:2646
cfg_stream = 0x1bb5010
c = -1
r = 0
tmp = 0x7ffc89e36ef7 ""
tmp_len = 32764
port = -1981587768
proto = 56
options = 0x7434f8
":f:cm:M:dVIhEeb:l:L:n:vKrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:x:X:Y:"
ret = -1
seed = 4012862799
rfd = 4
debug_save = 0
debug_flag = 0
dont_fork_cnt = 0
n_lst = 0x7ffc89e35f08
p = 0x100000000 <Address 0x100000000 out of bounds
st = {st_dev = 64769, st_ino = 148592, st_nlink = 2, st_mode =
16877, st_uid = 498, st_gid = 498, __pad0 = 0, st_rdev = 0, st_size = 4096,
st_blksize = 4096, st_blocks = 8, st_atim = {tv_sec = 1576522467,
tv_nsec = 972000117}, st_mtim = {tv_sec = 1519927576,
tv_nsec = 668342155}, st_ctim = {tv_sec = 1584026268, tv_nsec =
165523404}, __unused = {0, 0, 0}}
__FUNCTION__ = "main"
(gdb)
Em ter., 17 de mar. de 2020 às 09:52, Daniel-Constantin Mierla <
miconda(a)gmail.com> escreveu:
> Hello,
> does it happen only when doing restart of
kamailio? Can you send the full
> backtrace from gdb?
> Also, 5.0.x is no longer a supported
release for quite some time, try to
> upgrade to 5.2.x or even better to the latest one 5.3.x and see if you can
> reproduce it with one of the supported releases, maybe it is something that
> was already fixed.
> Cheers,
> Daniel
> On 17.03.20 10:32, Virgílio Cunha wrote:
> Hello,
> I have in production environment with 4
proxies using DMQ to sync terminal
> registers and the DMQ configuration parameters is following:
> loadmodule "dmq.so"
> #modparam("dmq", "server_address",
"sip:MY_IP_ADDRESS:MY_PORT_ADDRESS")
> modparam("dmq", "notification_address", "DMQ_HOSTS")
> modparam("dmq", "multi_notify", 1)
> modparam("dmq", "num_workers", 4)
> In the lab environment with the same configuration that in prod, I can
> simulate this problem with 12000 terminal REGISTERS and, when doing several
> restarts on a proxy, one of them is generated a coredump.
> Analyzing the core, I can see that the problem is concurrency in the dmq
> synchronization.
> Job_queue_size (...) is called with a valid
*queue *and, but inside this
> function, the *queue *is null.
> (gdb) up
> #1 0x00007fefe58ee246 in job_queue_size (queue=0x0) at worker.c:254
> 254 return atomic_get(&queue->count);
> (gdb) print queue
> $1 = (job_queue_t *) 0x0
> (gdb) up
> #2 0x00007fefe58ed920 in add_dmq_job (msg=0x7ff028b453f8,
> peer=0x7fefebcc4df8) at worker.c:184
> 184 if(job_queue_size(workers[i].queue) == 0) {
> (gdb) print i
> $2 = 1
> (gdb) print workers[i].queue
> $3 = (job_queue_t *) 0x7fefebce49b0
> If I configure DMQ with num_workers=1 I
can't reproduce this problem.
> I'm using the kamailio 5.0.8 release.
> Is this problem known to you? What is the
right way to solve it?
> Best Regards,
> Virgílio Cunha
>
_______________________________________________
> Kamailio (SER) - Users Mailing
Listsr-users@lists.kamailio.orghttps://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
> --
> Daniel-Constantin Mierla --
www.asipto.comwww.twitter.com/miconda --
www.linkedin.com/in/miconda