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 796652 - qtdemux: Critical warning in gst_qtdemux_request_protection_context
qtdemux: Critical warning in gst_qtdemux_request_protection_context
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 1.15.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2018-06-22 14:59 UTC by Philippe Normand
Modified: 2018-10-17 14:54 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (1.07 KB, patch)
2018-06-25 10:39 UTC, Philippe Normand
committed Details | Review

Description Philippe Normand 2018-06-22 14:59:26 UTC
GLib-CRITICAL **: g_strv_length: assertion 'str_array != NULL' failed

(gdb) bt
  • #0 _g_log_abort
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c line 554
  • #1 g_logv
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c line 1362
  • #2 g_log
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c line 1403
  • #3 g_strv_length
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gstrfuncs.c line 2896
  • #4 gst_qtdemux_request_protection_context
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gst-plugins-good/gst/isomp4/qtdemux.c line 8121
  • #5 gst_qtdemux_configure_protected_caps
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gst-plugins-good/gst/isomp4/qtdemux.c line 8211
  • #6 gst_qtdemux_configure_stream
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gst-plugins-good/gst/isomp4/qtdemux.c line 8446
  • #7 gst_qtdemux_add_stream
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gst-plugins-good/gst/isomp4/qtdemux.c line 8561
  • #8 qtdemux_expose_streams
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gst-plugins-good/gst/isomp4/qtdemux.c line 12525
  • #9 gst_qtdemux_process_adapter
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gst-plugins-good/gst/isomp4/qtdemux.c line 6909
  • #10 gst_pad_chain_data_unchecked
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gstreamer/gst/gstpad.c line 4334
  • #11 gst_pad_push_data
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gstreamer/gst/gstpad.c line 4590
  • #12 gst_pad_push
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gstreamer/gst/gstpad.c line 4709
  • #13 gst_base_src_loop
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gstreamer/libs/gst/base/gstbasesrc.c line 2957
  • #14 gst_task_func
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/gstreamer/gst/gsttask.c line 332
  • #15 g_thread_pool_thread_proxy
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gthreadpool.c line 307
  • #16 g_thread_proxy
    at /home/phil/WebKit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gthread.c line 784
  • #17 start_thread
    at pthread_create.c line 463
  • #18 clone
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S line 95

Comment 1 Philippe Normand 2018-06-22 15:05:02 UTC
Xabier, what should be done in that case? Log a message and return early if gst_protection_filter_systems_by_available_decryptors() returned NULL? Or something else?
Comment 2 Xabier Rodríguez Calvar 2018-06-25 08:26:44 UTC
Protect the code to avoid the warnings and leave it the things as they are now. g_strv_length is a problem. I am not sure about gst_structure_set and g_strvfree should be fine according to the doc.

TL&DR

Some streams (specially in YouTube tests) report in the streams themselves different CDMs (streams can report PlayReady and Widevine but tests require ClearKey and it should work) than the ones that are going to be used eventually so should be able to run the query even if the we apparently do not have any decryptor for the reported systems because the app should give us the proper one and we should trust it. We'll fail later if the app lies to us with a system and that decryptor cannot be used or it does not exist.
Comment 3 Philippe Normand 2018-06-25 10:39:14 UTC
Created attachment 372809 [details] [review]
patch
Comment 4 Xabier Rodríguez Calvar 2018-06-25 10:52:55 UTC
Comment on attachment 372809 [details] [review]
patch

LGTM
Comment 5 Thibault Saunier 2018-10-17 14:48:53 UTC
Review of attachment 372809 [details] [review]:

Go
Comment 6 Philippe Normand 2018-10-17 14:54:27 UTC
Comment on attachment 372809 [details] [review]
patch

commit 56669205eb2d0887596574eabb7806b31c5ba5cf (origin/master, origin/HEAD, master)
Author: Philippe Normand <philn@igalia.com>
Date:   Fri Jun 22 16:00:11 2018 +0100

    qtdemux: Avoid warning when reporting about decryptors
    
    https://bugzilla.gnome.org/show_bug.cgi?id=796652