Ошибка сегментации Kurento Media Server 6.4 в libnice

Я использую последнюю версию Kurento Media Server (6.4) и приложение node.js для вызовов один-два-один. Тем не менее, процесс Kurento время от времени происходит сбой внутри libnice: (несколько сбоев указывают на одни и те же записи lib)

Segmentation fault (thread 139888166897408, pid 1093)
Stack trace:
[nice_output_stream_new]
/usr/lib/x86_64-linux-gnu/libnice.so.10:0x28C74
[nice_output_stream_new]
/usr/lib/x86_64-linux-gnu/libnice.so.10:0x2B00A
[nice_output_stream_new]
/usr/lib/x86_64-linux-gnu/libnice.so.10:0x2BD09
[nice_agent_gather_candidates]
/usr/lib/x86_64-linux-gnu/libnice.so.10:0x13E8B
[nice_agent_gather_candidates]
/usr/lib/x86_64-linux-gnu/libnice.so.10:0x1431E
[g_simple_permission_new]
/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0:0x75B21
[g_main_context_dispatch]
/lib/x86_64-linux-gnu/libglib-2.0.so.0:0x49EAA
[g_main_context_dispatch]
/lib/x86_64-linux-gnu/libglib-2.0.so.0:0x4A250
[g_main_loop_run]
/lib/x86_64-linux-gnu/libglib-2.0.so.0:0x4A572
[gst_nice_src_get_type]
/usr/lib/x86_64-linux-gnu/gstreamer-1.5/libgstnice15.so:0x2F99
[g_test_get_filename]
/lib/x86_64-linux-gnu/libglib-2.0.so.0:0x70965
[start_thread]
/lib/x86_64-linux-gnu/libpthread.so.0:0x8182
[clone]
/lib/x86_64-linux-gnu/libc.so.6:0xFA47D

В то же время самые последние события отладки, записанные в лог-файлы, представляют собой пары кандидатов-льдов:

    2016-03-17 08:43:12,095520 1093 [0x00007f3a407f0700]   debug KurentoWebRtcEndpointImpl WebRtcEndpointImpl.cpp:214 newSelectedPairFull() <kmswebrtcendpoint43>  New pair selected stream_id: 1, component_id: 1, local candidate: candidate:4 1 UDP 2013266431 222.250.42.158 55844 typ host, remot
e candidate: candidate:candidate:2003496507 1 UDP 25042687 222.250.42.151 51817 typ relay raddr 83.21.212.134 rport 51817

Журнал приложения показывает, что ошибка происходит в момент, когда оба ответа SDP были сгенерированы, и непосредственно перед startCommunication команда будет уволена:

AppServer-0 Thu, 17 Mar 2016 08:43:11 GMT kms:CallMediaPipeline generateSdpOffer 16
AppServer-0 Thu, 17 Mar 2016 08:43:11 GMT kms:server pipeline:sdpAnswer:caller sdpReady
AppServer-0 Thu, 17 Mar 2016 08:43:11 GMT kms:CallMediaPipeline generateSdpOffer 15
AppServer-0 Thu, 17 Mar 2016 08:43:11 GMT kms:server pipeline:sdpAnswer:callee sdpReady
AppServer-0 reconnect to server 0 100 ff19ebc8-b114-495e-bf31-31f188f6ea8e

Полная трассировка стека и вход в систему можно увидеть в этом гисте

$ kurento-media-server -v
Version: 6.4.1~1.g3ffe480
Found modules:
        Module: 'core' version '6.4.1~2.g4ed0cfc'
        Module: 'elements' version '6.4.1~3.g8e842ad'
        Module: 'filters' version '6.4.1~3.g06e2b4f'

# dpkg -l |grep -i libnice
ii  libnice10:amd64                     0.1.13.1~20160224182402.77.g7bbb87a.trusty amd64        ICE library (shared library)

Я могу воспроизвести это, используя два браузера Chrome (Mac + Win) и совершая около 10-15 звонков (вызов - зависание - вызов - зависание...)

Если бы кто-нибудь мог дать какие-либо советы, предложения или указания, я был бы очень признателен. Спасибо!

UPD: проблема решена после переключения сервера TURN с reciprocate-turn-server 1.9.7 в coturn 4.4.2.1

0 ответов

Другие вопросы по тегам