Hello,
there was a wrong unlocking of the profile while printing its content
via MI, that could caused a race and eventually this kind of crash (in
the case a dlg was added/removed in/from profile while the mi command
was run).
I committed a patch, you have to use latest branch 3.2. Let us know if
all goes fine now.
Cheers,
Daniel
On 6/25/12 4:45 PM, Ricardo Martinez wrote:
Hello List.
The last weekend our kamailio process crashed with this error :
Jun 24 06:55:08 pxh /usr/local/sbin/kamailio[10661]: : <core>
[pass_fd.c:293]: ERROR: receive_fd: EOF on 29
Jun 24 06:55:08 pxh /usr/local/sbin/kamailio[10542]: ALERT: <core>
[main.c:751]: child process 10601 exited by a signal 11
Jun 24 06:55:08 pxh /usr/local/sbin/kamailio[10542]: ALERT: <core>
[main.c:754]: core was generated
Jun 24 06:55:08 pxh /usr/local/sbin/kamailio[10542]: INFO: <core>
[main.c:766]: INFO: terminating due to SIGCHLD
Can someone tell me what seems to be the problem here?
We're using :
version: kamailio 3.2.2 (x86_64/linux) 98ba92-dirty
flags: STATS: Off, USE_IPV6, USE_TCP, USE_TLS, TLS_HOOKS,
USE_RAW_SOCKS, DISABLE_NAGLE, USE_MCAST, DNS_IP_HACK, SHM_MEM,
SHM_MMAP, PKG_MALLOC, DBG_QM_MALLOC, USE_FUTEX,
FAST_LOCK-ADAPTIVE_WAIT, USE_DNS_CACHE, USE_DNS_FAILOVER, USE_NAPTR,
USE_DST_BLACKLIST, HAVE_RESOLV_RES
ADAPTIVE_WAIT_LOOPS=1024, MAX_RECV_BUFFER_SIZE 262144, MAX_LISTEN 16,
MAX_URI_SIZE 1024, BUF_SIZE 65535, DEFAULT PKG_SIZE 4MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: 98ba92 -dirty
compiled on 12:45:36 Feb 2 2012 with gcc 4.4.6
And this is the bt full from gdb
Core was generated by `/usr/local/sbin/kamailio -m 1024'.
Program terminated with signal 11, Segmentation fault.
#0 mi_profile_list (cmd_tree=<value optimized out>, param=<value
optimized out>) at dlg_profile.c:789
789 if ( mi_print_dlg( rpl, ph->dlg, 0)!=0 )
Missing separate debuginfos, use: debuginfo-install
filesystem-2.4.30-2.1.el6.x86_64 glibc-2.12-1.25.el6_1.3.x86_64
keyutils-libs-1.4-1.el6.x86_64 krb5-libs-1.9-9.el6_1.2.x86_64
libcom_err-1.41.12-7.el6.x86_64 libselinux-2.0.94-5.el6.x86_64
mysql-libs-5.1.52-1.el6_0.1.x86_64
nss-softokn-freebl-3.12.7-1.1.el6.x86_64
openssl-1.0.0-20.el6_2.1.x86_64 pcre-7.8-3.1.el6.x86_64
zlib-1.2.3-26.el6.x86_64
(gdb) bt full
#0 mi_profile_list (cmd_tree=<value optimized out>, param=<value
optimized out>) at dlg_profile.c:789
node = <value optimized out>
rpl_tree = 0x20a6790
rpl = 0x20a67b0
profile = 0x7fe99a2dda00
ph = 0x0
profile_name = <value optimized out>
value = <value optimized out>
i = <value optimized out>
#1 0x00007fe9dce287b1 in run_mi_cmd (fifo_stream=<value optimized
out>) at ../../lib/kmi/mi.h:77
No locals.
#2 mi_fifo_server (fifo_stream=<value optimized out>) at fifo_fnc.c:509
mi_cmd = 0x208f8f0
mi_rpl = <value optimized out>
hdl = 0x0
line_len = 41
file_sep = 0x2039017 ""
command = 0x7fe9dfdbdef9 "profile_list_dlgs"
file = 0x7fe9dfd98d78 "/tmp/openser_receiver_27809"
f = 0x2039018
reply_stream = 0x20b0980
#3 0x00007fe9dce2a640 in fifo_process (rank=<value optimized out>) at
mi_fifo.c:247
fifo_stream = 0x209a0b0
#4 0x00007fe9dce2a9de in mi_child_init (rank=0) at mi_fifo.c:211
pid = <value optimized out>
#5 0x00000000004dba41 in init_mod_child (m=0x7fe9dfc6ba10, rank=0) at
sr_module.c:886
No locals.
#6 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6bd08, rank=0) at
sr_module.c:883
No locals.
#7 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6c248, rank=0) at
sr_module.c:883
No locals.
#8 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6c748, rank=0) at
sr_module.c:883
No locals.
#9 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6d288, rank=0) at
sr_module.c:883
No locals.
#10 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6d928, rank=0) at
sr_module.c:883
No locals.
#11 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6dee0, rank=0) at
sr_module.c:883
No locals.
#12 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6e1f0, rank=0) at
sr_module.c:883
No locals.
#13 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6e5d0, rank=0) at
sr_module.c:883
No locals.
#14 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6e830, rank=0) at
sr_module.c:883
No locals.
#15 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6ebd0, rank=0) at
sr_module.c:883
No locals.
#16 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6f220, rank=0) at
sr_module.c:883
No locals.
#17 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6f648, rank=0) at
sr_module.c:883
No locals.
#18 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6fa60, rank=0) at
sr_module.c:883
No locals.
#19 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc6fe40, rank=0) at
sr_module.c:883
No locals.
#20 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc702c0, rank=0) at
sr_module.c:883
No locals.
#21 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc70ae8, rank=0) at
sr_module.c:883
No locals.
---Type <return> to continue, or q <return> to quit---
#22 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc70e18, rank=0) at
sr_module.c:883
No locals.
#23 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc71100, rank=0) at
sr_module.c:883
No locals.
#24 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc716c0, rank=0) at
sr_module.c:883
No locals.
#25 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc71df0, rank=0) at
sr_module.c:883
No locals.
#26 0x00000000004db9c4 in init_mod_child (m=0x7fe9dfc723c0, rank=0) at
sr_module.c:883
No locals.
#27 0x000000000046077d in main_loop () at main.c:1661
i = <value optimized out>
pid = <value optimized out>
si = 0x0
si_desc = "udp receiver child=15 sock=64.76.154.35:5060
<http://64.76.154.35:5060>", '\000' <repeats 20 times>,
"\003", '\000'
<repeats 15 times>,
"\030\325\a\232\351\177\000\000\001\000\000\000\002", '\000'
<repeats
11 times>,
"\001\000\000\000\000\000\000\000\003\000\000\000\000\000\000\000)\000\000\000\000\000\000"
#28 0x0000000000461f13 in main (argc=<value optimized out>,
argv=0x7fff2f2b2848) at main.c:2475
cfg_stream = <value optimized out>
c = <value optimized out>
r = <value optimized out>
tmp = 0x7fff2f2b3f76 ""
tmp_len = 0
options = 0x5a3178
":f:cm:M:dVhEb:l:L:n:vrRDTN:W:w:t:u:g:P:G:SQ:O:a:A:"
ret = -1
seed = 1850310455
rfd = <value optimized out>
debug_save = <value optimized out>
debug_flag = <value optimized out>
dont_fork_cnt = <value optimized out>
n_lst = <value optimized out>
p = <value optimized out>
(gdb)
Regards,
Ricardo.-
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users