Werbrtc2sip falhando intermitentemente. Abortado (core dumping)

1

Estou com problemas para fazer o webrtc2sip realmente funcionar. Webrtc2sip agora está sendo travado intermitentemente durante uma chamada. Eu vi isso mesmo quando apenas uma chamada está ativa em uma fila. A propósito, minha configuração envolve um único servidor com o Asterisk + Webrtc.

Abaixo, é apresentado o log do console webrtc2sip durante o travamento.

=============



*INFO: Request for peer at 14.140.176.234:54856 cannot be delivered
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Skipping redundant candidate address=199.115.112.66 and port=46268, fd=114, already_skipped(0)=no
*INFO: ICE reflexive candidates gathering ...1,0
*INFO: Not STUN message
*INFO: Skipping redundant candidate address=199.115.112.66 and port=46190, fd=111, already_skipped(0)=no
*INFO: ICE reflexive candidates gathering ...1,0
*INFO: Skipping redundant candidate address=199.115.112.66 and port=46269, fd=112, already_skipped(1)=no
*INFO: srflx_addr_count_added=0, srflx_addr_count_skipped=2
*INFO: Candidate: WvZ4zOZtT 1 udp 2130706431 199.115.112.66 46268 typ host
*INFO: Candidate: WvZ4zOZtT 2 udp 2130706430 199.115.112.66 46269 typ host
*INFO: State machine: ICE_fsm_GatheringReflexiveCandidates_2_GatheringReflexiveCandidatesDone_X_Success
*INFO: State machine: ICE_Any_2_GatheringCompleted_X_GatheringComplet
*INFO: ICE callback: Gathering candidates completed
*INFO: State machine: ICE_GatheringComplet_2_ConnChecking_X_ConnCheck
*INFO: ICE Pair: [WvZ4zOZtT 1 199.115.112.66 46268] -> [Hc7737042 1 199.115.112.66 17610]
*INFO: ICE Pair: [WvZ4zOZtT 1 199.115.112.66 46268] -> [Sc7737042 1 199.115.112.66 17610]
*INFO: ICE Pair: [WvZ4zOZtT 2 199.115.112.66 46269] -> [Hc7737042 2 199.115.112.66 17611]
*INFO: ICE Pair: [WvZ4zOZtT 2 199.115.112.66 46269] -> [Sc7737042 2 199.115.112.66 17612]
*INFO: Skipping redundant candidate address=199.115.112.66 and port=46191, fd=118, already_skipped(1)=no
*INFO: srflx_addr_count_added=0, srflx_addr_count_skipped=2
*INFO: Candidate: nwbkdDt4G 1 udp 2130706431 199.115.112.66 46190 typ host
*INFO: Candidate: nwbkdDt4G 2 udp 2130706430 199.115.112.66 46191 typ host
*INFO: State machine: ICE_fsm_GatheringReflexiveCandidates_2_GatheringReflexiveCandidatesDone_X_Success
*INFO: State machine: ICE_Any_2_GatheringCompleted_X_GatheringComplet
*INFO: ICE callback: Gathering candidates completed
*INFO: ICE: ignore processing SDP RO because version haven't changed
*INFO: is_ice_active=1,
is_ro_hold_resume_changed=0,
is_ro_provisional_final_matching=0,
is_ro_media_lines_changed=0,
is_ro_network_info_changed=0,
is_ro_loopback_address=0,
is_media_type_changed=0,
is_ro_codecs_changed=0

*INFO: tdav_consumer_audio_init()
**WARN: function: "tdav_session_audio_ctor()" 
file: "src/audio/tdav_session_audio.c" 
line: "794" 
MSG: No Audio denoiser found
*INFO: Create speekup jitter buffer
*INFO: Video 'zero-artifacts' option = no
*INFO: ICE enabled on RTP manager
*INFO: ICE enabled on RTP manager
*INFO: dtls.remote.setup=passive
*INFO: No codec matching for media type = 4
*INFO: Media session with media type = 'video' is a zombie
*INFO: State machine: s0000_Started_2_Ringing_X_iINVITE
*INFO: State machine: tsip_transac_ist_Proceeding_2_Proceeding_X_1xx
*INFO: 

SEND: SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 199.115.112.66:5060;rport=5060;received=199.115.112.66;branch=z9hG4bK7ad2085b
From: <sip:agent5@agent5>;tag=as3d03cb14
To: <sip:[email protected]:10060;rtcweb-breaker=yes;transport=udp;ws-src-ip=14.140.176.234;ws-src-port=28560;ws-src-proto=wss>;tag=386222972
Contact: <sip:[email protected]:10060;transport=udp>
Call-ID: 3950314c4f14e9f0759fe3013c34bb26@agent5
CSeq: 102 INVITE
Content-Length: 0
Allow: ACK, BYE, CANCEL, INVITE, MESSAGE, NOTIFY, OPTIONS, PRACK, REFER, UPDATE




*INFO: State machine: ICE_GatheringComplet_2_ConnChecking_X_ConnCheck
*INFO: ICE Pair: [nwbkdDt4G 1 199.115.112.66 46190] -> [Hc7737042 1 199.115.112.66 17450]
*INFO: ICE Pair: [nwbkdDt4G 1 199.115.112.66 46190] -> [Sc7737042 1 199.115.112.66 17450]
*INFO: ICE Pair: [nwbkdDt4G 2 199.115.112.66 46191] -> [Hc7737042 2 199.115.112.66 17451]
*INFO: ICE Pair: [nwbkdDt4G 2 199.115.112.66 46191] -> [Sc7737042 2 199.115.112.66 17452]
***ERROR: function: "tsk_params_get_param_value()" 
file: "src/tsk_params.c" 
line: "219" 
MSG: Invalid parameter
***ERROR: function: "tsk_params_get_param_value()" 
file: "src/tsk_params.c" 
line: "219" 
MSG: Invalid parameter
*INFO: Negotiated codecs with the left leg = 96
*INFO: State machine: x0500_Current_2_Current_X_oINVITE
*INFO: tsk_timer_manager_start
*INFO: ICE CTX::run -- START
*INFO: State machine: ICE_Started_2_GatheringHostCandidates_X_GatherHostCandidates
*INFO: Timer manager run()::enter
*INFO: TIMER MANAGER -- START
*INFO: RTP/RTCP manager[Begin]: Trying to bind to random ports [199.115.112.66:54392]
*INFO: RTP/RTCP manager[End]: Trying to bind to random ports
*INFO: local ip address = 199.115.112.66
*INFO: State machine: ICE_GatheringHostCandidates_2_GatheringHostCandidatesDone_X_Success
*INFO: ICE using STUN server: stun.l.google.com:19302
*INFO: ICE callback: Gathering host candidates succeed
*INFO: State machine: ICE_GatheringHostCandidatesDone_2_GatheringReflexiveCandidates_X_GatherReflexiveCandidates
*INFO: ICE reflexive candidates gathering ...0,500000
*INFO: ICE context not active yet
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Skipping redundant candidate address=199.115.112.66 and port=54393, fd=117, already_skipped(0)=no
*INFO: ICE reflexive candidates gathering ...1,0
*INFO: Audio producer not started yet
*INFO: Skipping redundant candidate address=199.115.112.66 and port=54392, fd=119, already_skipped(1)=no
*INFO: srflx_addr_count_added=0, srflx_addr_count_skipped=2
*INFO: Candidate: SI5Zel66a 1 udp 2130706431 199.115.112.66 54392 typ host
*INFO: Candidate: SI5Zel66a 2 udp 2130706430 199.115.112.66 54393 typ host
*INFO: State machine: ICE_fsm_GatheringReflexiveCandidates_2_GatheringReflexiveCandidatesDone_X_Success
*INFO: State machine: ICE_Any_2_GatheringCompleted_X_GatheringComplet
*INFO: ICE callback: Gathering candidates completed
*INFO: State machine: c0000_Started_2_Outgoing_X_oINVITE
*INFO: tdav_consumer_audio_init()
**WARN: function: "tdav_session_audio_ctor()" 
file: "src/audio/tdav_session_audio.c" 
line: "794" 
MSG: No Audio denoiser found
*INFO: Create speekup jitter buffer
*INFO: ICE enabled on RTP manager
*INFO: dtls.remote.setup=active
*INFO: Add call-id = 'a808aa98-acfb-9ec8-44d7-2e7ff9fbbc3c' to peer with local fd = 71
*** glibc detected *** ./webrtc2sip: double free or corruption (fasttop): 0x00007f49e0001340 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3e5f476166]
/usr/local/lib/libtinySAK.so.0(tsk_object_unref+0x42)[0x7f49e9d22522]
/usr/local/lib/libtinySAK.so.0(+0x86df)[0x7f49e9d206df]
/usr/local/lib/libtinySAK.so.0(tsk_object_delete+0x29)[0x7f49e9d22419]
/usr/local/lib/libtinySAK.so.0(tsk_object_unref+0x42)[0x7f49e9d22522]
/usr/local/lib/libtinySAK.so.0(tsk_list_remove_item_by_data+0x18)[0x7f49e9d20a98]
/usr/local/lib/libtinySAK.so.0(+0xf91f)[0x7f49e9d2791f]
/lib64/libpthread.so.0[0x3e5f8079d1]
/lib64/libc.so.6(clone+0x6d)[0x3e5f4e8b6d]
======= Memory map: ========
00400000-004e6000 r-xp 00000000 08:02 28311572                           /opt/webrtc2sip/sbin/webrtc2sip
006e5000-006e9000 rw-p 000e5000 08:02 28311572                           /opt/webrtc2sip/sbin/webrtc2sip
01929000-0196e000 rw-p 00000000 00:00 0                                  [heap]
31fcc00000-31fcdb5000 r-xp 00000000 08:02 15471023                       /usr/lib64/libcrypto.so.1.0.1e
31fcdb5000-31fcfb5000 ---p 001b5000 08:02 15471023                       /usr/lib64/libcrypto.so.1.0.1e
31fcfb5000-31fcfd0000 r--p 001b5000 08:02 15471023                       /usr/lib64/libcrypto.so.1.0.1e
31fcfd0000-31fcfdc000 rw-p 001d0000 08:02 15471023                       /usr/lib64/libcrypto.so.1.0.1e
31fcfdc000-31fcfe0000 rw-p 00000000 00:00 0 
3464c00000-3464c03000 r-xp 00000000 08:02 5636102                        /lib64/libcom_err.so.2.1
3464c03000-3464e02000 ---p 00003000 08:02 5636102                        /lib64/libcom_err.so.2.1
3464e02000-3464e03000 r--p 00002000 08:02 5636102                        /lib64/libcom_err.so.2.1
3464e03000-3464e04000 rw-p 00003000 08:02 5636102                        /lib64/libcom_err.so.2.1
3465000000-34650db000 r-xp 00000000 08:02 5636103                        /lib64/libkrb5.so.3.3
34650db000-34652da000 ---p 000db000 08:02 5636103                        /lib64/libkrb5.so.3.3
34652da000-34652e4000 r--p 000da000 08:02 5636103                        /lib64/libkrb5.so.3.3
34652e4000-34652e6000 rw-p 000e4000 08:02 5636103                        /lib64/libkrb5.so.3.3
3465400000-3465441000 r-xp 00000000 08:02 5636110                        /lib64/libgssapi_krb5.so.2.2
3465441000-3465641000 ---p 00041000 08:02 5636110                        /lib64/libgssapi_krb5.so.2.2
3465641000-3465642000 r--p 00041000 08:02 5636110                        /lib64/libgssapi_krb5.so.2.2
3465642000-3465644000 rw-p 00042000 08:02 5636110                        /lib64/libgssapi_krb5.so.2.2
3465800000-3465861000 r-xp 00000000 08:02 15473113                       /usr/lib64/libssl.so.1.0.1e
3465861000-3465a61000 ---p 00061000 08:02 15473113                       /usr/lib64/libssl.so.1.0.1e
3465a61000-3465a65000 r--p 00061000 08:02 15473113                       /usr/lib64/libssl.so.1.0.1e
3465a65000-3465a6c000 rw-p 00065000 08:02 15473113                       /usr/lib64/libssl.so.1.0.1e
3e5ec00000-3e5ec20000 r-xp 00000000 08:02 5636167                        /lib64/ld-2.12.so
3e5ee1f000-3e5ee20000 r--p 0001f000 08:02 5636167                        /lib64/ld-2.12.so
3e5ee20000-3e5ee21000 rw-p 00020000 08:02 5636167                        /lib64/ld-2.12.so
3e5ee21000-3e5ee22000 rw-p 00000000 00:00 0 
3e5f000000-3e5f002000 r-xp 00000000 08:02 5636219                        /lib64/libdl-2.12.so
3e5f002000-3e5f202000 ---p 00002000 08:02 5636219                        /lib64/libdl-2.12.so
3e5f202000-3e5f203000 r--p 00002000 08:02 5636219                        /lib64/libdl-2.12.so
3e5f203000-3e5f204000 rw-p 00003000 08:02 5636219                        /lib64/libdl-2.12.so
3e5f400000-3e5f58b000 r-xp 00000000 08:02 5636168                        /lib64/libc-2.12.so
3e5f58b000-3e5f78a000 ---p 0018b000 08:02 5636168                        /lib64/libc-2.12.so
3e5f78a000-3e5f78e000 r--p 0018a000 08:02 5636168                        /lib64/libc-2.12.so
3e5f78e000-3e5f78f000 rw-p 0018e000 08:02 5636168                        /lib64/libc-2.12.so
3e5f78f000-3e5f794000 rw-p 00000000 00:00 0 
3e5f800000-3e5f817000 r-xp 00000000 08:02 5636317                        /lib64/libpthread-2.12.so
3e5f817000-3e5fa17000 ---p 00017000 08:02 5636317                        /lib64/libpthread-2.12.so
3e5fa17000-3e5fa18000 r--p 00017000 08:02 5636317                        /lib64/libpthread-2.12.so
3e5fa18000-3e5fa19000 rw-p 00018000 08:02 5636317                        /lib64/libpthread-2.12.so
3e5fa19000-3e5fa1d000 rw-p 00000000 00:00 0 
3e5fc00000-3e5fce8000 r-xp 00000000 08:02 15469026                       /usr/lib64/libstdc++.so.6.0.13
3e5fce8000-3e5fee8000 ---p 000e8000 08:02 15469026                       /usr/lib64/libstdc++.so.6.0.13
3e5fee8000-3e5feef000 r--p 000e8000 08:02 15469026                       /usr/lib64/libstdc++.so.6.0.13
3e5feef000-3e5fef1000 rw-p 000ef000 08:02 15469026                       /usr/lib64/libstdc++.so.6.0.13
3e5fef1000-3e5ff06000 rw-p 00000000 00:00 0 
3e60000000-3e60083000 r-xp 00000000 08:02 5636505                        /lib64/libm-2.12.so
3e60083000-3e60282000 ---p 00083000 08:02 5636505                        /lib64/libm-2.12.so
3e60282000-3e60283000 r--p 00082000 08:02 5636505                        /lib64/libm-2.12.so
3e60283000-3e60284000 rw-p 00083000 08:02 5636505                        /lib64/libm-2.12.so
3e60400000-3e60415000 r-xp 00000000 08:02 5636504                        /lib64/libz.so.1.2.3
3e60415000-3e60614000 ---p 00015000 08:02 5636504                        /lib64/libz.so.1.2.3
3e60614000-3e60615000 r--p 00014000 08:02 5636504                        /lib64/libz.so.1.2.3
3e60615000-3e60616000 rw-p 00015000 08:02 5636504                        /lib64/libz.so.1.2.3
3e60c00000-3e60c1d000 r-xp 00000000 08:02 5636506                        /lib64/libselinux.so.1
3e60c1d000-3e60e1c000 ---p 0001d000 08:02 5636506                        /lib64/libselinux.so.1
3e60e1c000-3e60e1d000 r--p 0001c000 08:02 5636506                        /lib64/libselinux.so.1
3e60e1d000-3e60e1e000 rw-p 0001d000 08:02 5636506                        /lib64/libselinux.so.1
3e60e1e000-3e60e1f000 rw-p 00000000 00:00 0 
3e61000000-3e61016000 r-xp 00000000 08:02 5636220                        /lib64/libgcc_s-4.4.7-20120601.so.1
3e61016000-3e61215000 ---p 00016000 08:02 5636220                        /lib64/libgcc_s-4.4.7-20120601.so.1Aborted (core dumped)
=============

Eu também notei uma mensagem de erro incomum.

===========
*INFO: State machine: tsip_transac_nict_Completed_2_Terminated_X_timerK
*INFO: === NICT terminated ===
*INFO: *** NICT destroyed ***
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
*INFO: Not STUN message
*INFO: Audio producer not started yet
===============
Detalhes adicionais:

** Eu compilei o webrtc2sip usando o seu guia técnico oficial.

webrtc2sip.org/technical-guide-1.0.pdf**

1ª configuração:

/configure --with-ssl --with-srtp --with-speexdsp --with-ffmpeg=no --with-ilbc=no --with-opus=no --with-vpx=no --with-amr=no --with-yuv=no --with-speexdsp=no --with-gsm=no

Eu tentei instalar todos os codecs especificados e fiz quase todos. Havia alguns codecs libyuv, ilbc, G729 que eu não conseguia instalar. Webrtc2sip foi compilado com êxito pela primeira vez excluindo esses codecs. Mas quando eu fiz uma ligação, estava sendo rejeitada a maior parte do tempo. E o serviço falha muitas vezes. Desculpe eu não tenho log para estes agora.

Configuração da segunda vez

./configure --with-ssl --with-srtp --with-speexdsp --with-ffmpeg=no --with-vpx=no

Desta vez, forcei todos os codecs de vídeo para 'não'. Caso contrário, os codecs de vídeo são habilitados como padrão (acho que o webrtc2sip está aceitando-os como sim porque os detecta instalados no servidor).

O serviço ficou um pouco mais estável do que antes. Mas continuou batendo como para todas as outras duas chamadas. O despejo principal acima é produzido por essa configuração. Eu preciso de uma ajuda séria sobre isso.

Operating System
===========
[root@trial sbin]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m

[root@trial sbin]# uname -r
2.6.32-431.11.2.el6.x86_64 (up to date)

Server has memory of 8gb and high h/w configuration.
[root@trial sbin]# lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                8
On-line CPU(s) list:   0-7
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 42
Stepping:              7
CPU MHz:               2128.000
BogoMIPS:              6385.58
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              8192K
NUMA node0 CPU(s):     0-7
    
por Kasinath Kottukkal 17.04.2014 / 11:22

0 respostas