Kurento / bugtracker

[ARCHIVED] Contents migrated to monorepo: https://github.com/Kurento/kurento
46 stars 10 forks source link

crash at `kurento::MediaElementImpl::mediaFlowInStateChange` #536

Open darrenhp opened 3 years ago

darrenhp commented 3 years ago

Prerequisites

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

kurento-dbg/bionic 6.14.0-0kurento1.18.04 amd64

* [x] I have checked the Troubleshooting Guide
  <!-- You can find it here:
  https://doc-kurento.readthedocs.io/en/latest/user/troubleshooting.html

  INSTALL DEBUG SYMBOLS if your report is about a CRASH in Kurento,
  before providing us with a stack trace:
  https://doc-kurento.readthedocs.io/en/latest/dev/dev_guide.html#install-debug-symbols
  -->

* [] I have tested with the latest version of Kurento
  <!-- You can check which one is the latest version here:
  https://doc-kurento.readthedocs.io/en/latest/project/relnotes/index.html
  -->

## Issue description
<!--
A clear and concise description of what the bug is.

If you paste code or logs, surround with ```triple backquotes``` to keep format.
-->

Segmentation fault (thread 140681564055296, pid 9488) Stack trace: [nss_passwd_lookup] sysdeps/x86_64/multiarch/memcmp-avx2-movbe.S:244 [std::cxx11::basic_string<char, std::char_traits, std::allocator >::compare(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const] /usr/lib/x86_64-linux-gnu/libstdc++.so.6:0x126AC8 [std::_Rb_tree<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr >, std::_Select1st<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr > >, std::less<std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr > > >::_M_get_insert_hint_unique_pos(std::_Rb_tree_const_iterator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr > >, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)] /usr/include/c++/7/bits/stl_tree.h:2152 [std::_Rb_tree_iterator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr > > std::_Rb_tree<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr >, std::_Select1st<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr > >, std::less<std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr > > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::cxx11::basic_string<char, std::char_traits, std::allocator > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator > const, std::shared_ptr > >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&>&&, std::tuple<>&&) [clone .isra.449]] /usr/include/c++/7/bits/stl_tree.h:2404 [kurento::MediaElementImpl::mediaFlowInStateChange(int, char, KmsElementPadType)] /usr/include/c++/7/bits/stl_map.h:493 [void kurento::signal_handler_adaptor<void, _GstElement, int, char, KmsElementPadType>(_GstElement, int, char, KmsElementPadType, void)] /usr/include/c++/7/bits/shared_ptr_base.h:684 [g_closure_invoke] gobject/gclosure.c:811 (discriminator 2) [accumulate] gobject/gsignal.c:3140 [g_signal_emit_valist] gobject/gsignal.c:3419 (discriminator 1) [g_signal_emit] gobject/gsignal.c:3449 [check_if_flow_media] ./src/gst-plugins/commons/./src/gst-plugins/commons/kmselement.c:616 [g_timeout_dispatch] glib/gmain.c:4653 [g_main_dispatch] glib/gmain.c:3180 [g_main_context_iterate] glib/gmain.c:3902 [g_main_loop_run] glib/gmain.c:4097 [loop_thread_init] ./src/gst-plugins/commons/./src/gst-plugins/commons/kmsloop.c:105


## Context
<!--
How has this issue affected you? What are you trying to accomplish?
Providing context helps us come up with a solution.
-->

## How to reproduce?
<!--
Explain the exact steps that other developer should follow in order to
reproduce the same issue.

For example:
1. Create this pipeline: "..."
2. Use these settings: "..."
3. Click "Start"
4. See error
-->
I don't know

## Expected & current behavior
<!-- Tell us what should happen, and what happens instead. -->

## (Optional) Possible solution
<!--
Not obligatory, but suggest a fix/reason for the bug,
or ideas on how to implement the solution.
-->

### INFO about Kurento Media Server

* Kurento version:  6.14.0
* Server OS:        18.04 (Bionic)
* Installation method:
    <!-- Fill with an 'X' in all the boxes that apply. -->
  - [x] apt-get
    <!-- https://doc-kurento.readthedocs.io/en/latest/user/installation.html#installation-local -->
  - [] Docker
    <!-- https://doc-kurento.readthedocs.io/en/latest/user/installation.html#installation-docker -->
  - [] AWS
    <!-- https://doc-kurento.readthedocs.io/en/latest/user/installation.html#installation-aws -->
  - [] Built from sources
    <!-- https://doc-kurento.readthedocs.io/en/latest/dev/dev_guide.html#dev-sources -->

### INFO about your Application Server

* Language:                Java
* Kurento Client version:   <!-- E.g. 6.12.0, nightly -->

### INFO about end-user clients

* Device(s):    <!-- E.g. PC, Mac, Android, iPhone, etc. -->
* OS(es):       <!-- E.g. Ubuntu 18.04, Windows 10, iOS 12, etc. -->
* Browser(s):   <!-- E.g. Firefox 74, Chrome 80, Safari 12.0, etc. -->

## INFO about your environment
<!--
Include as many relevant details about the environment where you experienced
the issue. Include things like:
* What Kurento Endpoints are used, and how are connected.
* If you are configuring STUN or TURN in Kurento and/or in the browsers.
* If the WebRTC streams are being relayed through your TURN servers.
* The network topology between servers / services / containers / etc.
* If there are any web proxies.

ANYTHING that you think might be relevant or useful.
-->

### Commands output
<!--
Paste output of running these commands in the same machine where
Kurento Media Server is running.

Surround with ```triple backquotes```, to keep the output correctly formatted.
-->

root@kurento-online-bj-2020061005:/var/crash/1# kurento-media-server --version Kurento Media Server version: 6.14.0 Found modules: 'core' version 6.14.0 'elements' version 6.14.0 'filters' version 6.14.0 root@kurento-online-bj-2020061005:/var/crash/1# root@kurento-online-bj-2020061005:/var/crash/1# dpkg -l | grep -Pi 'kurento|kms-|gst.*1.5|nice' ii gstreamer1.5-libav:amd64 1.8.1-1kurento1.18.04 amd64 libav plugin for GStreamer ii gstreamer1.5-nice:amd64 0.1.17-0kurento1.18.04 amd64 ICE library (GStreamer 1.5 plugin) ii gstreamer1.5-plugins-bad:amd64 1.8.1-1kurento4.18.04 amd64 GStreamer plugins from the "bad" set ii gstreamer1.5-plugins-base:amd64 1.8.1-1kurento2.18.04 amd64 GStreamer plugins from the "base" set ii gstreamer1.5-plugins-good:amd64 1.8.1-1kurento4.18.04 amd64 GStreamer plugins from the "good" set ii gstreamer1.5-plugins-ugly:amd64 1.8.1-1kurento1.18.04 amd64 GStreamer plugins from the "ugly" set ii gstreamer1.5-pulseaudio:amd64 1.8.1-1kurento4.18.04 amd64 GStreamer plugin for PulseAudio ii kms-core 6.14.0-0kurento1.18.04 amd64 Kurento Core module ii kms-elements 6.14.0-0kurento1.18.04 amd64 Kurento Elements module ii kms-filters 6.14.0-0kurento1.18.04 amd64 Kurento Filters module ii kms-jsonrpc 6.14.0-0kurento1.18.04 amd64 Kurento JSON-RPC library ii kmsjsoncpp 1.6.3-1kurento1.18.04 amd64 Kurento jsoncpp library ii kurento-media-server 6.14.0-0kurento1.18.04 amd64 Kurento Media Server ii libgstreamer-plugins-bad1.5-0:amd64 1.8.1-1kurento4.18.04 amd64 GStreamer development files for libraries from the "bad" set ii libgstreamer-plugins-base1.5-0:amd64 1.8.1-1kurento2.18.04 amd64 GStreamer libraries from the "base" set ii libgstreamer1.5-0:amd64 1.8.1-1kurento2.18.04 amd64 Core GStreamer libraries and elements ii libnice10:amd64 0.1.17-0kurento1.18.04 amd64 ICE library (shared library) ii libsrtp0:amd64 1.6.0-0kurento1.18.04 amd64 Secure RTP (SRTP) and UST Reference Implementations - shared library ii libusrsctp 0.9.2-1kurento1.18.04 amd64 sctp-refimpl library ii openh264 1.4.0-1kurento1.18.04 amd64 OpenH264 library ii openh264-gst-plugins-bad-1.5:amd64 1.8.1-1kurento4.18.04 amd64 GStreamer plugins from openh264 ii openwebrtc-gst-plugins 0.10.0-1kurento1.18.04 amd64 OpenWebRTC specific GStreamer plugins root@kurento-online-bj-2020061005:/var/crash/1#

github-actions[bot] commented 3 years ago

Hello @darrenhp! :wave: we're sorry you found a bug... so first of all, thank you very much for reporting it.

However, your report doesn't follow the issue template, so it is being automatically closed. We are really sorry for that, but we need all reports to follow the template, or else it won't be possible to understand and help with all issues.

Please, create a new issue following the template, or reopen this same issue to edit and provide all required information.

github-actions[bot] commented 3 years ago

Hello @darrenhp! :wave: we're sorry you found a bug... so first of all, thank you very much for reporting it.

To know about progress, check in Triage. All issues are considered Backlog Candidates until work priorities align and the issue is selected for development. It will then become part of our official Backlog.

j1elo commented 3 years ago

reopening because it seems valid

j1elo commented 3 years ago

Please see if you can get a crash report from /var/crash (read the docs about important info), or a gdb backtrace. The log by itself doesn't look like it contains enough information, now that I've had a look at it

darrenhp commented 3 years ago

Please see if you can get a crash report from /var/crash (read the docs about important info), or a gdb backtrace. The log by itself doesn't look like it contains enough information, now that I've had a look at it

$ ulimit -c
1024000

May be the limit is not enough, there is no core file in the _usr_bin_kurento-media-server.1000.crash