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