[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