Bug 190577 - [EME][GTK] Multiple ClearKey tests crashing in gst_qtdemux_request_protection_context
Summary: [EME][GTK] Multiple ClearKey tests crashing in gst_qtdemux_request_protection...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKitGTK (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Charlie Turner
URL:
Keywords:
Depends on:
Blocks: 99024 190578 190579
  Show dependency treegraph
 
Reported: 2018-10-15 06:46 PDT by Charlie Turner
Modified: 2018-10-16 07:54 PDT (History)
4 users (show)

See Also:


Attachments
Patch (6.13 KB, patch)
2018-10-15 07:11 PDT, Charlie Turner
no flags Details | Formatted Diff | Diff
Patch (6.78 KB, patch)
2018-10-15 07:13 PDT, Charlie Turner
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Charlie Turner 2018-10-15 06:46:38 PDT
Started to enable encrypted media tests on the GTK port, the following tests are failing in a similar backtrace to this one since r237091 (not a related revision, just the trunk version I tested a debug build with)

Thread 1 (Thread 0x7f38e77fe700 (LWP 38379)):
#0  _g_log_abort () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c:554
#1  0x00007f39c4eb2c1b in g_logv () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c:1362
#2  0x00007f39c4eb2d6f in g_log () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c:1403
#3  0x00007f39c4eccd0e in g_strv_length () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gstrfuncs.c:2896
#4  0x00007f391058e18a in gst_qtdemux_request_protection_context () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gst-plugins-good-1.14.4/gst/isomp4/qtdemux.c:7993
#5  gst_qtdemux_configure_protected_caps () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gst-plugins-good-1.14.4/gst/isomp4/qtdemux.c:8081
#6  gst_qtdemux_configure_stream () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gst-plugins-good-1.14.4/gst/isomp4/qtdemux.c:8312
#7  0x00007f3910590903 in gst_qtdemux_add_stream () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gst-plugins-good-1.14.4/gst/isomp4/qtdemux.c:8461
#8  qtdemux_expose_streams () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gst-plugins-good-1.14.4/gst/isomp4/qtdemux.c:12336
#9  0x00007f39105ad3f8 in gst_qtdemux_process_adapter () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gst-plugins-good-1.14.4/gst/isomp4/qtdemux.c:6780
#10 0x00007f39be3eb8eb in gst_pad_chain_data_unchecked () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.4/gst/gstpad.c:4322
#11 gst_pad_push_data () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.4/gst/gstpad.c:4578
#12 0x00007f39be3f3c13 in gst_pad_push () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.4/gst/gstpad.c:4697
#13 0x00007f39be6ee43d in gst_base_src_loop () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.4/libs/gst/base/gstbasesrc.c:2957
#14 0x00007f39be4202a9 in gst_task_func () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.4/gst/gsttask.c:332
#15 0x00007f39c4ed4140 in g_thread_pool_thread_proxy () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gthreadpool.c:307
#16 0x00007f39c4ed3775 in g_thread_proxy () at /home/charlie/WebKit/WebKitWPE/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gthread.c:784
#17 0x00007f39bfb566db in start_thread (arg=0x7f38e77fe700) at pthread_create.c:463
#18 0x00007f39c74e988f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Failing tests,

imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-destroy-persistent-license.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license-events.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-persistent-license.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-destroy-persistent-license.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-retrieve-persistent-license.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-clear-encrypted.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear-sources.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-encrypted-clear.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-events.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential-readyState.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey-sequential.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multikey.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-multisession.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-src.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-after-update.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-immediately.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-setMediaKeys-onencrypted.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-two-videos.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary-waitingforkey.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-playback-temporary.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-reset-src-after-setmediakeys.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-playback.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-again-after-resetting-src.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-setmediakeys-multiple-times-with-different-mediakeys.https.html [ Crash ]
imported/w3c/web-platform-tests/encrypted-media/clearkey-mp4-waiting-for-a-key.https.html
Comment 1 Charlie Turner 2018-10-15 07:11:24 PDT
Created attachment 352314 [details]
Patch
Comment 2 Charlie Turner 2018-10-15 07:13:14 PDT
Created attachment 352315 [details]
Patch
Comment 3 Xabier Rodríguez Calvar 2018-10-15 22:43:27 PDT
Comment on attachment 352315 [details]
Patch

EME is not enabled in GTK, why would we want to do this?
Comment 4 Charlie Turner 2018-10-16 01:15:18 PDT
(In reply to Xabier Rodríguez Calvar from comment #3)
> Comment on attachment 352315 [details]
> Patch
> 
> EME is not enabled in GTK, why would we want to do this?

It's not enabled because the feature has not been developed. Why would be not want EME enabled in GTK? It's a convenient port to develop from the desktop. First step is having test expectations so that fixes can be sensibly proposed.

Not the first time, https://bugs.webkit.org/show_bug.cgi?id=99024
Comment 5 Xabier Rodríguez Calvar 2018-10-16 02:17:43 PDT
(In reply to Charlie Turner from comment #4)
> It's not enabled because the feature has not been developed. Why would be
> not want EME enabled in GTK? It's a convenient port to develop from the
> desktop. First step is having test expectations so that fixes can be
> sensibly proposed.
> 
> Not the first time, https://bugs.webkit.org/show_bug.cgi?id=99024

Even when I agree with you, I'll let Michael tell you. Maybe we can make him change his mind.
Comment 6 Michael Catanzaro 2018-10-16 07:25:29 PDT
Comment on attachment 352315 [details]
Patch

This patch just unskips tests and improves the test expectations, so it seems uncontroversial to me.
Comment 7 WebKit Commit Bot 2018-10-16 07:54:31 PDT
Comment on attachment 352315 [details]
Patch

Clearing flags on attachment: 352315

Committed r237180: <https://trac.webkit.org/changeset/237180>
Comment 8 WebKit Commit Bot 2018-10-16 07:54:33 PDT
All reviewed patches have been landed.  Closing bug.