After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 773441 - decodebin3: GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
decodebin3: GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_obj...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 1.10.0
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-10-24 19:15 UTC by minfrin
Modified: 2016-10-31 14:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
[Patch] Do not attempt to gst_mini_object_unref NULL value (860 bytes, patch)
2016-10-24 19:15 UTC, minfrin
committed Details | Review

Description minfrin 2016-10-24 19:15:18 UTC
Created attachment 338368 [details] [review]
[Patch] Do not attempt to gst_mini_object_unref NULL value

When an attempt is made to use decodebin3, the following assertion failure occurs:

(gst-launch-1.0:18278): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed

Program received signal SIGTRAP, Trace/breakpoint trap.

Thread 1886385248 (LWP 18291)

  • #0 raise
    at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c line 37
  • #1 g_logv
    from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
  • #2 g_log
    from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
  • #3 g_return_if_fail_warning
    from /lib/arm-linux-gnueabihf/libglib-2.0.so.0
  • #4 gst_mini_object_unref
    at gstminiobject.c line 424
  • #5 gst_caps_unref
    at /usr/local/include/gstreamer-1.0/gst/gstcaps.h line 222
  • #6 handle_stream_collection
    at gstdecodebin3.c line 1186
  • #7 gst_decodebin3_handle_message
    at gstdecodebin3.c line 1223
  • #8 bin_bus_handler
    at gstbin.c line 3286
  • #9 gst_bus_post
    at gstbus.c line 335
  • #10 gst_element_post_message_default
    at gstelement.c line 1735

Comment 1 Sebastian Dröge (slomo) 2016-10-25 09:43:42 UTC
commit 98ea3e464766afea268d587f02bf0c3d6f8a5a9a
Author: Graham Leggett <minfrin@sharp.fm>
Date:   Mon Oct 24 19:13:22 2016 +0000

    decodebin3: Fix assertion failure when unreffing NULL stream caps
    
    GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
    
    https://bugzilla.gnome.org/show_bug.cgi?id=773441
Comment 2 Tim-Philipp Müller 2016-10-25 10:03:25 UTC
Out of curiosity, if you have a stream dump you can attach with which to reproduce this, that would be nice, since I''m not sure if this is something that should happen in the first place (no caps).
Comment 3 Sebastian Dröge (slomo) 2016-10-25 10:04:36 UTC
It's explicitly allowed by the GstStream API though
Comment 4 minfrin 2016-10-25 10:55:29 UTC
Alas no stream dump - I stumbled across it in the debugger and then jumped on it.

I did notice a number of places in the code where gst_caps_unref() was being called on the assumption that caps was not NULL, but I figured lets fix the one where we know it's a problem first.