[Webkit-unassigned] [Bug 210264] New: [EME][GStreamer] web-platform-tests/encrypted-media/clearkey-events-session-closed-event.https.html random crashes
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Apr 9 05:11:46 PDT 2020
https://bugs.webkit.org/show_bug.cgi?id=210264
Bug ID: 210264
Summary: [EME][GStreamer]
web-platform-tests/encrypted-media/clearkey-events-ses
sion-closed-event.https.html random crashes
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebKitGTK
Assignee: webkit-unassigned at lists.webkit.org
Reporter: cturner at igalia.com
CC: bugs-noreply at webkitgtk.org
This is crashing in a call to gcry_cipher_setctr for unknown reasons.
Maybe the GCrypt library is not being correctly initialised. The initialisation rules are complex[1]. I wonder if we can use the classes in PAL::Crypto instead. The AES-CTR decrypt method looked very costly there however, making me think it might not be appropriate for real-time use cases. Testing needed.
This is not reproducible in isolated test runs unfortunately, in seems threading contention triggers it.
#0 SIGSEGV ??
#1 0x00007f90bccd2349 in gcry_cipher_setctr () at /lib/x86_64-linux-gnu/libgcrypt.so.20
#2 0x00007f90cf97bcd3 in WebCore::CDMProxyClearKey::cencSetCounterVector(WebCore::CDMProxyClearKey::cencDecryptContext const&) (this=0x7f905c452410, input=...) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp:98
#3 0x00007f90cf97c2cf in WebCore::CDMProxyClearKey::cencDecrypt(WebCore::CDMProxyClearKey::cencDecryptContext&) (this=0x7f905c452410, input=...) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/graphics/gstreamer/eme/CDMProxyClearKey.cpp:203
#4 0x00007f90cf963b93 in decrypt(_WebKitMediaCommonEncryptionDecrypt*, _GstBuffer*, _GstBuffer*, _GstBuffer*, unsigned int, _GstBuffer*) (self=0x7f77d4011ca0, ivBuffer=0x7f77d4258c60, keyIDBuffer=0x7f77e003c5a0, buffer=0x7f9050017b40, subsampleCount=2, subsamplesBuffer=0x7f77dc26e000) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/graphics/gstreamer/eme/WebKitClearKeyDecryptorGStreamer.cpp:165
#5 0x00007f90cf9654ea in transformInPlace(_GstBaseTransform*, _GstBuffer*) (base=0x7f77d4011ca0, buffer=0x7f9050017b40) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/graphics/gstreamer/eme/WebKitCommonEncryptionDecryptorGStreamer.cpp:260
#6 0x00007f90bcc7bac7 in default_generate_output (trans=0x7f77d4011ca0, outbuf=0x7f76d5ffa5b8) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:2175
#7 0x00007f90bcc7b207 in gst_base_transform_chain (pad=<optimized out>, parent=0x7f77d4011ca0, buffer=<optimized out>) at ../subprojects/gstreamer/libs/gst/base/gstbasetransform.c:2333
#8 0x00007f90bcb702e2 in gst_pad_chain_data_unchecked (data=0x7f9050017b40, type=4112, pad=0x7f778835d2c0) at ../subprojects/gstreamer/gst/gstpad.c:4399
#9 0x00007f90bcb702e2 in gst_pad_push_data (pad=pad at entry=0x7f777c35eaa0, type=type at entry=4112, data=data at entry=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstpad.c:4655
#10 0x00007f90bcb76da2 in gst_pad_push (pad=0x7f777c35eaa0, buffer=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstpad.c:4774
#11 0x00007f90bcb702e2 in gst_pad_chain_data_unchecked (data=0x7f9050017b40, type=4112, pad=0x7f778835cbd0) at ../subprojects/gstreamer/gst/gstpad.c:4399
#12 0x00007f90bcb702e2 in gst_pad_push_data (pad=pad at entry=0x7f77dc253d30, type=type at entry=4112, data=data at entry=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstpad.c:4655
#13 0x00007f90bcb76da2 in gst_pad_push (pad=pad at entry=0x7f77dc253d30, buffer=buffer at entry=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstpad.c:4774
#14 0x00007f90bcb5b11b in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstghostpad.c:127
#15 0x00007f90bcb702e2 in gst_pad_chain_data_unchecked (data=0x7f9050017b40, type=4112, pad=0x7f77dc261750) at ../subprojects/gstreamer/gst/gstpad.c:4399
#16 0x00007f90bcb702e2 in gst_pad_push_data (pad=pad at entry=0x7f77dc1f8560, type=type at entry=4112, data=data at entry=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstpad.c:4655
#17 0x00007f90bcb76da2 in gst_pad_push (pad=pad at entry=0x7f77dc1f8560, buffer=buffer at entry=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstpad.c:4774
#18 0x00007f90bcb5b11b in gst_proxy_pad_chain_default (pad=<optimized out>, parent=<optimized out>, buffer=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstghostpad.c:127
#19 0x00007f90cf9689ff in webkitMediaSrcChain(_GstPad*, _GstObject*, _GstBuffer*) (pad=0x7f77883333d0, parent=0x7f77dc1f8560, buffer=0x7f9050017b40) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:250
#20 0x00007f90bcb702e2 in gst_pad_chain_data_unchecked (data=0x7f9050017b40, type=4112, pad=0x7f77883333d0) at ../subprojects/gstreamer/gst/gstpad.c:4399
#21 0x00007f90bcb702e2 in gst_pad_push_data (pad=pad at entry=0x7f772835c760, type=type at entry=4112, data=data at entry=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstpad.c:4655
#22 0x00007f90bcb76da2 in gst_pad_push (pad=pad at entry=0x7f772835c760, buffer=0x7f9050017b40) at ../subprojects/gstreamer/gst/gstpad.c:4774
#23 0x00007f90bcc767fd in gst_base_src_loop (pad=0x7f772835c760) at ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c:2974
#24 0x00007f90bcba4e11 in gst_task_func (task=0x7f7780265dd0) at ../subprojects/gstreamer/gst/gsttask.c:328
[1] https://www.gnupg.org/documentation/manuals/gcrypt-devel/Multi_002dThreading.html#Multi_002dThreading
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20200409/331be517/attachment.htm>
More information about the webkit-unassigned
mailing list