Hi Andrei,
Sorry I forgot to answer all your questions in my last email.
This is the version of kamailio (we are running it on CentOS 5.5, 64 bit
with 8 Cores Xenon processor, 8 GB RAM), & we are starting kamailio with 2
GB shared memory.
version: kamailio 3.1.2 (x86_64/linux)
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, PKG_SIZE 4MB
poll method support: poll, epoll_lt, epoll_et, sigio_rt, select.
id: unknown
compiled on 10:32:48 Mar 7 2011 with gcc 4.1.2
We are using kamailio as a router for SIP messages. We connect kamailio with
OCS Access proxy & sends traffic.
We have two Access proxies, each creates up to 32 TCP /TLS connections. And
sends over 5000 messages/sec. So there is not enough connected socketa for
kamailio but we frequently close the sockets for testing.
We are running kamailio with 8 TCP children. & when it crashes it generates
mostly 2 core files.
There is defiantly a race condition inside the code which I have fixed it
but it was not related to the tcp connection management. I will send you
the code soon or submit it to the dev group. It is inside timer code.
For this 100% cpu problem, the linked list is circular. May be the code that
adds/removes TCP connection to linked list is not perfect.
Regards
-Zunnun