Error: Trying to send a message in a client closed explicitly. When a client is closed, it can’t be reused

Hey, team - we had a session today and something happened suddenly and no one was able to publish or join sessions. We had to manually restart KMS and Openvidu services to get it back again. As I have searched, you have mentioned about KMS crash at many places answering the same kind of issue (Not able to connect to media server. Get response "JsonRpcClientClosedException:Trying to send a message in a client closed explicitly." · Issue #265 · OpenVidu/openvidu · GitHub). I am wondering what causes this issue.

Error - Uncaught (in promise): Error on publishVideo: {“code”:-1,“message”:"org.kurento.jsonrpc.JsonRpcClientClosedException:Trying to send a message in a client closed explicitly. When a client is closed, it can’t be reused. It is necessary to create anothe…

Please find the infrastructure details and logs below.

  1. Openvidu Version: 2.11.0 PRO
  2. Master Node - Digital Ocean, 4 GB Memory, 25 GB Disk, Ubuntu 16.04.6 (LTS) x 64, Compute Optimized, 2 vCPUs
  3. One Media Node: Digital Ocean, 8 GB Memory, 50 GB Disk, Ubuntu 16.04.6 (LTS) x 64, Compute Optimized, 4 vCPUs
  4. Participants when crashed: 1 Publisher with video and audio AND 7 participants with only audio. There is no video for the participants.
  5. Digitalocean Stats - Master Node

  1. Digitalocean Stats - Media Node

  1. Kibana

  1. Browser Error

Also, attaching the KMS error log.

2020-02-24T12:22:48+00:00 – New execution
0:00:00.204634917 19274 0x1747490 WARN ladspa gstladspa.c:455:plugin_init: no LADSPA plugins found, check LADSPA_PATH
0:00:00.235721827 19274 0x1747490 WARN default gstsf.c:98:gst_sf_create_audio_template_caps: format 0x120000: ‘AVR (Audio Visual Research)’ is not mapped
0:00:00.235760143 19274 0x1747490 WARN default gstsf.c:98:gst_sf_create_audio_template_caps: format 0x180000: ‘CAF (Apple Core Audio File)’ is not mapped
0:00:00.235766099 19274 0x1747490 WARN default gstsf.c:98:gst_sf_create_audio_template_caps: format 0x100000: ‘HTK (HMM Tool Kit)’ is not mapped
0:00:00.235772027 19274 0x1747490 WARN default gstsf.c:98:gst_sf_create_audio_template_caps: format 0xc0000: ‘MAT4 (GNU Octave 2.0 / Matlab 4.2)’ is not mapped
0:00:00.235776570 19274 0x1747490 WARN default gstsf.c:98:gst_sf_create_audio_template_caps: format 0xd0000: ‘MAT5 (GNU Octave 2.1 / Matlab 5.0)’ is not mapped
0:00:00.235780768 19274 0x1747490 WARN default gstsf.c:98:gst_sf_create_audio_template_caps: format 0x210000: ‘MPC (Akai MPC 2k)’ is not mapped
0:00:00.235785745 19274 0x1747490 WARN default gstsf.c:98:gst_sf_create_audio_template_caps: format 0xe0000: ‘PVF (Portable Voice Format)’ is not mapped
0:00:00.235790331 19274 0x1747490 WARN default gstsf.c:98:gst_sf_create_audio_template_caps: format 0x160000: ‘SD2 (Sound Designer II)’ is not mapped
0:00:00.235797262 19274 0x1747490 WARN default gstsf.c:98:gst_sf_create_audio_template_caps: format 0x190000: ‘WVE (Psion Series 3)’ is not mapped (kurento-media-server:19273): GStreamer-CRITICAL **: Element rtpbin36 already has a pad named send_rtp_sink_0, the behaviour of gst_element_get_request_pad() for existing pads is undefined!
(kurento-media-server:19273): GStreamer-CRITICAL **: Element rtpbin36 already has a pad named send_rtp_sink_1, the behaviour of gst_element_get_request_pad() for existing pads is undefined!
(kurento-media-server:19273): GStreamer-CRITICAL : Element rtpbin235 already has a pad named send_rtp_sink_0, the behaviour of gst_element_get_request_pad() for existing pads is undefined!
Segmentation fault (thread 140597420418816, pid 19273)
Stack trace:
[sigc::internal::signal_emit1<void, kurento::ElementDisconnected, sigc::nil>::emit(sigc::internal::signal_impl
, kurento::ElementDisconnected const&)]
/usr/lib/x86_64-linux-gnu/libkmscoreimpl.so.6:0x10C4F9
[kurento::MediaElementImpl::mediaFlowOutStateChange(int, char
, KmsElementPadType)]
/usr/lib/x86_64-linux-gnu/libkmscoreimpl.so.6:0x1040CE
[virtual thunk to kurento::MediaElementImpl::getGstreamerDot(std::shared_ptrkurento::GstreamerDotDetails)]
/usr/lib/x86_64-linux-gnu/libkmscoreimpl.so.6:0xFB0F9
[g_closure_invoke]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0:0xFEFF
[g_signal_handler_disconnect]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0:0x21FC1
[g_signal_emit_valist]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0:0x2AD5C
[g_signal_emit]
/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0:0x2B08F
[check_if_flow_media]
/usr/lib/x86_64-linux-gnu/libkmsgstcommons.so.6:0x1FB64
[gst_mini_object_steal_qdata]
/usr/lib/x86_64-linux-gnu/libgstreamer-1.5.so.0:0x6C29B
[g_hook_list_marshal]
/lib/x86_64-linux-gnu/libglib-2.0.so.0:0x3A904
[gst_mini_object_steal_qdata]
/usr/lib/x86_64-linux-gnu/libgstreamer-1.5.so.0:0x6AAFB
[gst_flow_get_name]
/usr/lib/x86_64-linux-gnu/libgstreamer-1.5.so.0:0x6E98B
[gst_pad_push]
/usr/lib/x86_64-linux-gnu/libgstreamer-1.5.so.0:0x76533
[gst_rtp_base_depayload_push]
/usr/lib/x86_64-linux-gnu/libgstrtp-1.5.so.0:0x12F69
[gst_rtp_base_depayload_push]
/usr/lib/x86_64-linux-gnu/libgstrtp-1.5.so.0:0x13583
[gst_flow_get_name]
/usr/lib/x86_64-linux-gnu/libgstreamer-1.5.so.0:0x6E5CF
2020-03-12T09:59:40+00:00 – New execution
2020-03-12T10:00:07+00:00 – New execution
2020-03-12T10:01:57+00:00 – New execution

Hello,

Sorry for the inconvenience.

We are working hard to improve stability of the whole OpenVidu platform. First, making Kurento Media Server more stable and second, improving recovery features from crashes like you have experienced.

The next 2.12 (to be published on Monday 16th of March) will include the newest 6.13.0 KMS version with several critical bug fixes. We hope this new version improves stability and avoid crashes like you had.

Regards

2 Likes

Thanks, Micael for the update!