1

I am using latest Kurento Media Server (6.4) and node.js app for one-2-one calls. However, Kurento process crashes from time to time inside libnice: (multiple crashes point to the same lib entries)

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

At the same time, the most recent debug events recorded to log files are ice candidates pairings:

    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

Application log shows that error happens at the moment after both SDP answers were generated, and just before startCommunication command is going to be fired:

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

Full stack trace and log in can be seen in this 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)

I can reproduce this by using two Chrome browsers (Mac + Win) and by making around 10-15 calls (call out - hang - call out - hang ..)

If anyone could give any hints, suggestions or directions, I would really appreciate that. Thanks!

UPD: Problem solved after switching TURN server from reciprocate-turn-server 1.9.7 to coturn 4.4.2.1

Yarik
  • 398
  • 4
  • 12
  • what is the version of libnice ? you will require libnice 0.1.13 for kurento 6.4.0 – Sagar Pilkhwal Mar 17 '16 at 09:42
  • As sagar says it's important to know the version of the version of libnice and the way you installed kurento. It will be also important to know the whole stack trace, I mean the part that you changed by ... Additionally if you install debug symbols it will be awsome because we can know the exact line of the crash and it will be easier to fix – santoscadenas Mar 17 '16 at 09:49
  • Sorry, forgot to attach it in the first place - yes, the latest one (we could find) `libnice10:amd64 0.1.13.1~20160224182402.77.g7bbb87a.trusty amd64 ICE library (shared library)` – Yarik Mar 17 '16 at 10:16
  • @santoscadenas didn't know if it would be good idea to put here the whole dump :) Can you please open [this gist](https://gist.github.com/lotas/400b3e5c9b4065606bdc) I made with full stacktrace and dump? Thank you! Btw, i've read in Kurento googlegroups about disabling TURN, but it didn't work for us - no video connection was established at all. Instance is hosted in AWS EC2 without any specific firewalls. – Yarik Mar 17 '16 at 10:19
  • @YaraslauKurmyza If you disable TURN, you need to enable STUN. – igracia Mar 17 '16 at 10:31
  • @igracia thanks! Yes, we are testing exactly this setup. However, instead of disabling, we tried a different one. Before it was return, and it is coturn (as recommended on kurento website). And it seems to be working flawlessly now! (around 100 calls in past 20 minutes without a crash). Looks like it was a turn issue – Yarik Mar 17 '16 at 10:45
  • Cool! Getting coturn right is sometime tricky. You can always test your coturn instance [here](https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/) – igracia Mar 17 '16 at 10:50
  • I think it will be better if you open a bug report here https://github.com/Kurento/bugtracker so we can handle better. Thank you. – santoscadenas Mar 17 '16 at 11:52
  • btw, @igracia if this would be helpful, I attached stack trace reconstructed from crash file, maybe it would be somewhat helpful: [stack-trace.log](https://gist.github.com/lotas/400b3e5c9b4065606bdc#file-kurento-crash-trace) – Yarik Mar 17 '16 at 11:54
  • thank you @santoscadenas ! I was just looking for the right place to post it. – Yarik Mar 17 '16 at 12:01
  • Let's continue in the [bugtracker issue](https://github.com/Kurento/bugtracker/issues/50). – igracia Mar 17 '16 at 15:03

0 Answers0