RESOLVED FIXED 202078
REGRESSION(r249205): [GStreamer][MSE] Crash in webKitMediaSrcIsReadyForMoreSamples on youtube.com
https://bugs.webkit.org/show_bug.cgi?id=202078
Summary REGRESSION(r249205): [GStreamer][MSE] Crash in webKitMediaSrcIsReadyForMoreSa...
Michael Catanzaro
Reported 2019-09-21 14:22:20 PDT
Created attachment 379320 [details] Backtrace Crash when trying to play youtube videos: Program terminated with signal SIGSEGV, Segmentation fault. #0 webKitMediaSrcIsReadyForMoreSamples (source=<optimized out>, streamName=...) at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:602 602 return stream->reportedStatus->isReadyForMoreSamples; [Current thread is 1 (Thread 0x7f78153939c0 (LWP 24800))] (gdb) bt #0 0x00007f781bd5e208 in webKitMediaSrcIsReadyForMoreSamples(WebKitMediaSrc*, WTF::AtomString const&) (source=<optimized out>, streamName=...) at ../Source/WebCore/platform/graphics/gstreamer/mse/WebKitMediaSourceGStreamer.cpp:602 #1 0x00007f781dabb6b9 in WebCore::MediaSourceClientGStreamerMSE::isReadyForMoreSamples(WTF::AtomString const&) (this=<optimized out>, trackId=...) at ../Source/WebCore/platform/graphics/gstreamer/mse/MediaSourceClientGStreamerMSE.cpp:179 #2 0x00007f781dabd277 in WebCore::SourceBufferPrivateGStreamer::isReadyForMoreSamples(WTF::AtomString const&) (this=0x7f5ef7820c78, trackId=...) at DerivedSources/ForwardingHeaders/wtf/DumbPtrTraits.h:43 #3 0x00007f781ca3b9f7 in WebCore::SourceBuffer::provideMediaData(WebCore::SourceBuffer::TrackBuffer&, WTF::AtomString const&) (trackID=..., trackBuffer=..., this=0x7f78000d2e30) at ../Source/WebCore/Modules/mediasource/SourceBuffer.cpp:2078 #4 0x00007f781ca3b9f7 in WebCore::SourceBuffer::provideMediaData(WebCore::SourceBuffer::TrackBuffer&, WTF::AtomString const&) (this=0x7f78000d2e30, trackBuffer=..., trackID=...) at ../Source/WebCore/Modules/mediasource/SourceBuffer.cpp:2020 #5 0x00007f781ca3e4d3 in WebCore::SourceBuffer::sourceBufferPrivateAppendComplete(WebCore::SourceBufferPrivateClient::AppendResult) (result=WebCore::SourceBufferPrivateClient::AppendSucceeded, this=0x7f78000d2e30) at ../Source/WebCore/Modules/mediasource/SourceBuffer.cpp:714 #6 0x00007f781ca3e4d3 in WebCore::SourceBuffer::sourceBufferPrivateAppendComplete(WebCore::SourceBufferPrivateClient::AppendResult) (this=0x7f78000d2e30, result=<optimized out>) at ../Source/WebCore/Modules/mediasource/SourceBuffer.cpp:663 #7 0x00007f781dc41905 in WebCore::AppendPipeline::handleEndOfAppend() (this=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:49 #8 0x00007f781dc459b0 in WTF::Function<void ()>::operator()() const (this=0x7f5f9421a0a0) at /usr/include/c++/9.2.0/bits/unique_ptr.h:352 #9 0x00007f781dc459b0 in WebCore::AbortableTaskQueue::Task::dispatch() (this=0x7f5f9421a090) at ../Source/WebCore/platform/AbortableTaskQueue.h:204 #10 0x00007f781dc459b0 in WebCore::AbortableTaskQueue::postTask(WTF::Function<void ()>&&)::{lambda()#1}::operator()() const (__closure=<optimized out>) at ../Source/WebCore/platform/AbortableTaskQueue.h:221 #11 0x00007f781dc459b0 in WTF::Detail::CallableWrapper<WebCore::AbortableTaskQueue::postTask(WTF::Function<void ()>&&)::{lambda()#1}, void>::call() (this=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/Function.h:52 #12 0x00007f7819ef4ca5 in WTF::Function<void ()>::operator()() const (this=<synthetic pointer>) at ../Source/WTF/wtf/Lock.h:84 #13 0x00007f7819ef4ca5 in WTF::RunLoop::performWork() (this=0x7f780f5f9000) at ../Source/WTF/wtf/RunLoop.cpp:107 #14 0x00007f7819f4183d in WTF::RunLoop::<lambda(gpointer)>::operator() (__closure=0x0, userData=<optimized out>) at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:68 #15 0x00007f7819f4183d in WTF::RunLoop::<lambda(gpointer)>::_FUN(gpointer) () at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:70 #16 0x00007f781a5974be in g_main_dispatch (context=0x562624b92d60) at ../glib/gmain.c:3180 #17 0x00007f781a5974be in g_main_context_dispatch (context=context@entry=0x562624b92d60) at ../glib/gmain.c:3845 #18 0x00007f781a597870 in g_main_context_iterate (context=0x562624b92d60, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:3918 #19 0x00007f781a597b63 in g_main_loop_run (loop=0x562624ce3200) at ../glib/gmain.c:4112 #20 0x00007f7819f422b0 in WTF::RunLoop::run() () at ../Source/WTF/wtf/glib/RunLoopGLib.cpp:96 #21 0x00007f781c38376a in WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(int, char**) (argc=3, argv=<optimized out>) at ../Source/WebKit/Shared/unix/AuxiliaryProcessMain.h:47 #22 0x00007f781b4e3173 in __libc_start_main (main= 0x5626230357e0 <main(int, char**)>, argc=3, argv=0x7ffebeaed7f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffebeaed7e8) at ../csu/libc-start.c:308 #23 0x000056262303586e in _start () at ../sysdeps/x86_64/start.S:120 Full backtrace attached
Attachments
Backtrace (325.10 KB, text/plain)
2019-09-21 14:22 PDT, Michael Catanzaro
no flags
Alicia Boya García
Comment 1 2019-10-24 01:52:04 PDT
The bug occurred because the query was made before the Stream was added. I already fixed this issue in a WIP patch, and the next version of the WebKitMediaSrc patch will include it. But for now the WebKitMediaSrc patch is reverted, so it should not occur in the meantime either.
Note You need to log in before you can comment on or make changes to this bug.