Attempt to fix this (crash at shutdown) :
I observed some of these while working with daemontools (svc) .
Program terminated with signal 6, Aborted.
#0 0x00007f43e6fd5125 in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb)
(gdb)
(gdb) bt
#0 0x00007f43e6fd5125 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007f43e6fd83a0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x0000000000628b52 in qm_free (qm=0x7f43d547e000, p=0x7f43d57f5208,
file=0x7f43e02d60a0 "presence: hash.c", func=0x7f43e02d69aa
"delete_shtable", line=316)
at mem/q_malloc.c:455
#3 0x00007f43e0244504 in delete_shtable (htable=0x7f43d5782e00, hash_code=431,
subs=0x7fffda33b830) at hash.c:316
#4 0x00007f43d4507856 in free_subscriber (s=0x7f43d57f8390) at subscribe.c:391
#5 0x00007f43d44ec7db in free_impurecord (_r=0x7f43d57f1268) at impurecord.c:192
#6 0x00007f43d44e7ef3 in deinit_slot (_s=0x7f43d57ddc98) at hslot.c:172
#7 0x00007f43d451018d in free_udomain (_d=0x7f43d57db308) at udomain.c:136
#8 0x00007f43d44e6f23 in free_all_udomains () at dlist.c:361
#9 0x00007f43d45215db in destroy () at ul_mod.c:476
#10 0x000000000059bf98 in destroy_modules () at sr_module.c:817
#11 0x00000000004a113a in cleanup (show_status=1) at main.c:513
#12 0x00000000004a272e in shutdown_children (sig=15, show_status=1) at main.c:655
#13 0x00000000004a30d3 in handle_sigs () at main.c:685
#14 0x00000000004acbac in main_loop () at main.c:1705
#15 0x00000000004b21b2 in main (argc=14, argv=0x7fffda33c208) at main.c:2553
(gdb) bt full
#0 0x00007f43e6fd5125 in raise () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#1 0x00007f43e6fd83a0 in abort () from /lib/x86_64-linux-gnu/libc.so.6
No symbol table info available.
#2 0x0000000000628b52 in qm_free (qm=0x7f43d547e000, p=0x7f43d57f5208,
file=0x7f43e02d60a0 "presence: hash.c", func=0x7f43e02d69aa
"delete_shtable", line=316)
at mem/q_malloc.c:455
f = 0x7f43d57f51d8
size = 140736854210624
next = 0x400
prev = 0x7fffda33b750
__FUNCTION__ = "qm_free"
#3 0x00007f43e0244504 in delete_shtable (htable=0x7f43d5782e00, hash_code=431,
subs=0x7fffda33b830) at hash.c:316
s = 0x7f43d57efba0
ps = 0x7f43d57b1838
found = 1
__FUNCTION__ = "delete_shtable"
#4 0x00007f43d4507856 in free_subscriber (s=0x7f43d57f8390) at subscribe.c:391
hash_code = 431
subs = {pres_uri = {s = 0x7f43d57f84f2
"sip:214010000050069@ims.mnc001.mcc214.3gppnetwork.org1\300\300\300\300", len =
53}, to_user = {s = 0x0, len = 0},
to_domain = {s = 0x0, len = 0}, from_user = {s = 0x0, len = 0}, from_domain = {s
= 0x0, len = 0}, watcher_user = {s = 0x0, len = 0}, watcher_domain = {s = 0x0,
len = 0}, event = 0x0, event_id = {s = 0x0, len = 0}, to_tag = {
s = 0x7f43d57f8462
"cb50c8efee1a044116f39e700af3e3ce-d61e55392518-578E4CA500085B76-8364E700tel:+12450069sip:172.17.140.164:5080;transport=udpudp:172.17.140.163:5060sip:214010000050069@ims.mnc001.mcc214.3gppnetwork.org1\300\300"...,
len = 37}, from_tag = {
s = 0x7f43d57f8487
"55392518-578E4CA500085B76-8364E700tel:+12450069sip:172.17.140.164:5080;transport=udpudp:172.17.140.163:5060sip:214010000050069@ims.mnc001.mcc214.3gppnetwork.org1\300\300\300\300",
len = 34}, callid = {
s = 0x7f43d57f8440
"69ADAB12-578E4CA500085B8C-8364E700cb50c8efee1a044116f39e700af3e3ce-d61e55392518-578E4CA500085B76-8364E700tel:+12450069sip:172.17.140.164:5080;transport=udpudp:172.17.140.163:5060sip:214010000050069@im"...,
len = 34}, sockinfo_str = {s = 0x0, len = 0}, remote_cseq = 0, local_cseq = 0, contact =
{s = 0x0, len = 0},
local_contact = {s = 0x0, len = 0}, record_route = {s = 0x0, len = 0}, expires =
0, status = 0, reason = {s = 0x0, len = 0}, version = 0, send_on_cback = 0,
db_flag = 0, auth_rules_doc = 0x0, recv_event = 0, internal_update_flag = 0,
updated = 0, updated_winfo = 0, next = 0x0}
__FUNCTION__ = "free_subscriber"
#5 0x00007f43d44ec7db in free_impurecord (_r=0x7f43d57f1268) at impurecord.c:192
cbp = 0x418a10
cbp_tmp = 0x7f43d5779680
subscriber = 0x7f43d57f8390
s_tmp = 0x0
__FUNCTION__ = "free_impurecord"
#6 0x00007f43d44e7ef3 in deinit_slot (_s=0x7f43d57ddc98) at hslot.c:172
ptr = 0x7f43d57f1268
#7 0x00007f43d451018d in free_udomain (_d=0x7f43d57db308) at udomain.c:136
i = 219
__FUNCTION__ = "free_udomain"
---Type <return> to continue, or q <return> to quit---
#8 0x00007f43d44e6f23 in free_all_udomains () at dlist.c:361
ptr = 0x7f43d57db218
__FUNCTION__ = "free_all_udomains"
#9 0x00007f43d45215db in destroy () at ul_mod.c:476
__FUNCTION__ = "destroy"
#10 0x000000000059bf98 in destroy_modules () at sr_module.c:817
t = 0x7f43e30097c0
foo = 0x7f43e3009410
__FUNCTION__ = "destroy_modules"
#11 0x00000000004a113a in cleanup (show_status=1) at main.c:513
memlog = 32579
__FUNCTION__ = "cleanup"
#12 0x00000000004a272e in shutdown_children (sig=15, show_status=1) at main.c:655
__FUNCTION__ = "shutdown_children"
#13 0x00000000004a30d3 in handle_sigs () at main.c:685
chld = -713157656
chld_status = 0
memlog = 0
__FUNCTION__ = "handle_sigs"
#14 0x00000000004acbac in main_loop () at main.c:1705
i = 1
pid = 5816
si = 0x0
si_desc = "udp receiver child=0
sock=172.17.140.163:5060\000\000\000\000\302\063\332\377\177", '\000'
<repeats 18 times>,
"`\327\a\347C\177\000\000\060\000\000\000\060\000\000\000\220\337\f\343C\177\000\000\240\276\063\332\377\177\000\000(5K\325C\177\000\000\000\302\063\332\377\177\000\000\000\000\000\000\001\000\000"
nrprocs = 1
__FUNCTION__ = "main_loop"
#15 0x00000000004b21b2 in main (argc=14, argv=0x7fffda33c208) at main.c:2553
cfg_stream = 0x1c03010
c = -1
r = 0
tmp = 0x7fffda33df21 ""
tmp_len = 0
port = 0
proto = 0
options = 0x71c738
":f:cm:M:dVIhEeb:l:L:n:vKrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:"
ret = -1
seed = 2748507928
rfd = 4
debug_save = 0
debug_flag = 0
---Type <return> to continue, or q <return> to quit---
dont_fork_cnt = 2
n_lst = 0x76
p = 0x0
st = {st_dev = 15, st_ino = 13169, st_nlink = 2, st_mode = 16832, st_uid = 0,
st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 40, st_blksize = 4096, st_blocks = 0,
st_atim = {tv_sec = 1468413462, tv_nsec = 449607667}, st_mtim = {tv_sec =
1468244570, tv_nsec = 131567607}, st_ctim = {tv_sec = 1468244570, tv_nsec = 131567607},
__unused = {0, 0, 0}}
__FUNCTION__ = "main"
You can view, comment on, or merge this pull request online at:
https://github.com/kamailio/kamailio/pull/717
-- Commit Summary --
* presence: fix potential double free in shutdown routine
-- File Changes --
M modules/presence/hash.c (9)
-- Patch Links --
https://github.com/kamailio/kamailio/pull/717.patch
https://github.com/kamailio/kamailio/pull/717.diff
---
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/pull/717