1

我正在使用最新的 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

同时,最近记录到日志文件的调试事件是ice候选配对:

    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

完整的堆栈跟踪和登录可以在这个 gist中看到

$ 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.7coturn 4.4.2.1

4

0 回答 0