[SR-Users] Kamailio 3.1.5 crashing during TLS connection setup

Daniel-Constantin Mierla miconda at gmail.com
Mon Oct 22 10:56:38 CEST 2012


Hello,

it seems you are having a version of ssl lib that does a free(null) 
operation. It is fixed in master and 3.3 branch. Can you upgrade to 3.3.x?

Alternative is to compile 3.1.x with f_malloc -- edit Makefile.defs and 
set MEMDBG=0

Or, backport patches from mem/ done last month -- you can look at them 
with 'git log -p mem/'

3.1.x is no longer officially maintained, but if I get some spare time 
soon, I will backport, or maybe other devs will do it meanwhile.


Cheers,
Daniel

On 10/22/12 10:41 AM, Kamal Palei wrote:
> Dear All
> I have setup Kamailio 3.1.5 with TLS enabled.
> Whenever I receive the REGISTER request from endpoint, trying to 
> forward to next proxy.
> For that I have added below code in kamailio.cfg
>
> /*        if(is_method("REGISTER"))
>         {
>                 t_relay_to("tls:115.114.48.75:5061 
> <http://115.114.48.75:5061>");
>                 exit();
>         }
>
> */I see once REGISTER received at Kamailio proxy, it is sending TCP 
> synch packet to next proxy, next proxy sends back a synch+reset packet.
> Then kamailio proxy is crashing with log as below.
>
> /root at B2BUA:/usr/local/src/scripts# 9(2347) ERROR: <core> 
> [tcp_main.c:4139]: connect 115.114.48.75:5061 
> <http://115.114.48.75:5061> failed
>  9(2347) : <core> [mem/q_malloc.c:431]: BUG: qm_free: bad pointer 
> (nil) (out of memory block!) - aborting
> /
> The complete log is given as below. Please let me know how to get out 
> of this issue. I used -m 64 option while starting proxy, but same result.
> Thanks, Kamal, NECS, Bangalore
> /
>  0(2336) INFO: <core> [tcp_main.c:4730]: init_tcp: using epoll_et io 
> watch method (config)
>  0(2338) INFO: usrloc [hslot.c:53]: locks array size 512
>  0(2338) INFO: tls [tls_init.c:511]: tls: _init_tls_h: compiled  with  
> openssl  version "OpenSSL 1.0.1c 10 May 2012" (0x1000103f), kerberos 
> support: off, compression: on
>  0(2338) INFO: tls [tls_init.c:519]: tls: init_tls_h: installed 
> openssl library version "OpenSSL 1.0.1c 10 May 2012" (0x1000103f), 
> kerberos support: off,  zlib compression: off
>  compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN 
> -DHAVE_DLFCN_H -Wa,--noexecstack -DL_ENDIAN -DTERMIO -O3 
> -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS 
> -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m 
> -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM 
> -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
>  0(2338) INFO: tls [tls_init.c:373]: tls: init_tls: disabling 
> compression...
>  0(2338) WARNING: tls [tls_init.c:587]: tls: openssl bug #1491 
> (crash/mem leaks on low memory) workaround enabled (on low memory tls 
> operations will fail preemptively) with free memory thresholds 5242880 
> and 2621440 bytes
>  0(2338) INFO: <core> [cfg/cfg_ctx.c:411]: INFO: cfg_set_now(): 
> tls.low_mem_threshold1 has been changed to 5242880
>  0(2338) INFO: <core> [cfg/cfg_ctx.c:411]: INFO: cfg_set_now(): 
> tls.low_mem_threshold2 has been changed to 2621440
>  0(2338) INFO: <core> [udp_server.c:184]: INFO: udp_init: SO_RCVBUF is 
> initially 112640
>  0(2338) INFO: <core> [udp_server.c:235]: INFO: udp_init: SO_RCVBUF is 
> finally 262142
>  0(2338) INFO: <core> [udp_server.c:184]: INFO: udp_init: SO_RCVBUF is 
> initially 112640
>  0(2338) INFO: <core> [udp_server.c:235]: INFO: udp_init: SO_RCVBUF is 
> finally 262142
>  0(2338) INFO: rtpproxy [rtpproxy.c:1403]: rtp proxy 
> <udp:127.0.0.1:7729 <http://127.0.0.1:7729>> found, support for it enabled
>  0(2338) INFO: tls [tls_domain.c:176]: TLSs<default>: tls_method=9
>  0(2338) INFO: tls [tls_domain.c:188]: TLSs<default>: 
> certificate='/etc/certs/pocserver.com/cert.pem 
> <http://pocserver.com/cert.pem>'
>  0(2338) INFO: tls [tls_domain.c:195]: TLSs<default>: ca_list='(null)'
>  0(2338) INFO: tls [tls_domain.c:202]: TLSs<default>: crl='(null)'
>  0(2338) INFO: tls [tls_domain.c:206]: TLSs<default>: 
> require_certificate=0
>  0(2338) INFO: tls [tls_domain.c:213]: TLSs<default>: cipher_list='(null)'
>  0(2338) INFO: tls [tls_domain.c:220]: TLSs<default>: 
> private_key='/etc/certs/pocserver.com/key.pem 
> <http://pocserver.com/key.pem>'
>  0(2338) INFO: tls [tls_domain.c:224]: TLSs<default>: verify_certificate=0
>  0(2338) INFO: tls [tls_domain.c:227]: TLSs<default>: verify_depth=9
>  0(2338) INFO: tls [tls_domain.c:544]: TLSs<default>: No client 
> certificate required and no checks performed
>  0(2338) INFO: tls [tls_domain.c:176]: TLSc<default>: tls_method=9
>  0(2338) INFO: tls [tls_domain.c:188]: TLSc<default>: certificate='(null)'
>  0(2338) INFO: tls [tls_domain.c:195]: TLSc<default>: ca_list='(null)'
>  0(2338) INFO: tls [tls_domain.c:202]: TLSc<default>: crl='(null)'
>  0(2338) INFO: tls [tls_domain.c:206]: TLSc<default>: 
> require_certificate=1
>  0(2338) INFO: tls [tls_domain.c:213]: TLSc<default>: cipher_list='(null)'
>  0(2338) INFO: tls [tls_domain.c:220]: TLSc<default>: private_key='(null)'
>  0(2338) INFO: tls [tls_domain.c:224]: TLSc<default>: verify_certificate=1
>  0(2338) INFO: tls [tls_domain.c:227]: TLSc<default>: verify_depth=9
>  0(2338) INFO: tls [tls_domain.c:529]: TLSc<default>: Server MUST 
> present valid certificate
>  2(2340) INFO: rtpproxy [rtpproxy.c:1403]: rtp proxy 
> <udp:127.0.0.1:7729 <http://127.0.0.1:7729>> found, support for it enabled
>  1(2339) INFO: rtpproxy [rtpproxy.c:1403]: rtp proxy 
> <udp:127.0.0.1:7729 <http://127.0.0.1:7729>> found, support for it enabled
>  4(2342) INFO: rtpproxy [rtpproxy.c:1403]: rtp proxy 
> <udp:127.0.0.1:7729 <http://127.0.0.1:7729>> found, support for it enabled
>  0(2338) INFO: rtpproxy [rtpproxy.c:1403]: rtp proxy 
> <udp:127.0.0.1:7729 <http://127.0.0.1:7729>> found, support for it enabled
>  6(2344) INFO: rtpproxy [rtpproxy.c:1403]: rtp proxy 
> <udp:127.0.0.1:7729 <http://127.0.0.1:7729>> found, support for it enabled
>  3(2341) INFO: rtpproxy [rtpproxy.c:1403]: rtp proxy 
> <udp:127.0.0.1:7729 <http://127.0.0.1:7729>> found, support for it enabled
>  7(2345) INFO: rtpproxy [rtpproxy.c:1403]: rtp proxy 
> <udp:127.0.0.1:7729 <http://127.0.0.1:7729>> found, support for it enabled
>  6(2344) INFO: ctl [io_listener.c:224]: io_listen_loop:  using 
> epoll_et io watch method (config)
> root at B2BUA:/usr/local/src/scripts#  9(2347) INFO: rtpproxy 
> [rtpproxy.c:1403]: rtp proxy <udp:127.0.0.1:7729 
> <http://127.0.0.1:7729>> found, support for it enabled
>  8(2346) INFO: rtpproxy [rtpproxy.c:1403]: rtp proxy 
> <udp:127.0.0.1:7729 <http://127.0.0.1:7729>> found, support for it enabled
>
> root at B2BUA:/usr/local/src/scripts#  9(2347) ERROR: <core> 
> [tcp_main.c:4139]: connect 115.114.48.75:5061 
> <http://115.114.48.75:5061> failed
>  9(2347) : <core> [mem/q_malloc.c:431]: BUG: qm_free: bad pointer 
> (nil) (out of
>  memory block!) - aborting
>  0(2338) ALERT: <core> [main.c:742]: child process 2347 exited by a 
> signal 6
> /
>
>
>
> _______________________________________________
> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
> sr-users at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Training, Berlin, Nov 5-8, 2012 - http://asipto.com/u/kat
Kamailio Advanced Training, Miami, USA, Nov 12-14, 2012 - http://asipto.com/u/katu

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20121022/4f129816/attachment.htm>


More information about the sr-users mailing list