Bug 190135

Summary: [GStreamer] Rare crash (_g_log_abort) in flushCurrentBuffer()
Product: WebKit Reporter: Alicia Boya García <aboya>
Component: WebKitGTKAssignee: Alicia Boya García <aboya>
Status: RESOLVED FIXED    
Severity: Normal CC: bugs-noreply, commit-queue, pnormand
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch none

Description Alicia Boya García 2018-10-01 06:21:23 PDT
I've seen this happen once:

(WebKitWebProcess:24060): GStreamer-CRITICAL **: gst_sample_get_info: assertion 'GST_IS_SAMPLE (sample)' failed
Thread 1 (Thread 0x7f05dfa136c0 (LWP 24060)):
#0  _g_log_abort () at /webkit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c:554
#1  0x00007f05c2850559 in g_logv () at /webkit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c:1362
#2  0x00007f05c2850712 in g_log () at /webkit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/gmessages.c:1403
#3  0x00007f05c5106bb2 in gst_sample_get_info () at /webkit/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.3/gst/gstsample.c:216
#4  0x00007f05d9e0c8ca in WebCore::MediaPlayerPrivateGStreamerBase::flushCurrentBuffer (this=0x7f0562e94000) at ../../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:921
#5  0x00007f05d9e0cfe5 in WebCore::MediaPlayerPrivateGStreamerBase::<lambda(GstPad*, GstPadProbeInfo*, gpointer)>::operator()(GstPad *, GstPadProbeInfo *, gpointer) const (__closure=0x0, info=0x7ffd075cd030, userData=0x7f0562e94000) at ../../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:1091
#6  0x00007f05d9e0d019 in WebCore::MediaPlayerPrivateGStreamerBase::<lambda(GstPad*, GstPadProbeInfo*, gpointer)>::_FUN(GstPad *, GstPadProbeInfo *, gpointer) () at ../../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:1093
#7  0x00007f05c50def8e in probe_hook_marshal () at /webkit/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.3/gst/gstpad.c:3561
#8  0x00007f05c283a6a4 in g_hook_list_marshal () at /webkit/WebKitBuild/DependenciesGTK/Source/glib-2.54.2/glib/ghook.c:672
#9  0x00007f05c50de697 in do_probe_callbacks () at /webkit/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.3/gst/gstpad.c:3723
#10 0x00007f05c50e0ea3 in gst_pad_send_event_unchecked () at /webkit/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.3/gst/gstpad.c:5733
#11 0x00007f05c50e1564 in gst_pad_push_event_unchecked () at /webkit/WebKitBuild/DependenciesGTK/Source/gstreamer-1.14.3/gst/gstpad.c:5406

Probably m_sample is null at that point.
Comment 1 Philippe Normand 2018-10-01 06:27:33 PDT
Steps to reproduce?
Comment 2 Philippe Normand 2018-10-01 06:52:06 PDT
But yeah, looking at the code the crash reason is obvious anyway :)
Comment 3 Alicia Boya García 2018-10-01 09:41:42 PDT
Created attachment 351253 [details]
Patch
Comment 4 Philippe Normand 2018-10-01 09:52:24 PDT
Comment on attachment 351253 [details]
Patch

Thanks!
Comment 5 WebKit Commit Bot 2018-10-01 10:40:57 PDT
Comment on attachment 351253 [details]
Patch

Clearing flags on attachment: 351253

Committed r236668: <https://trac.webkit.org/changeset/236668>
Comment 6 WebKit Commit Bot 2018-10-01 10:40:59 PDT
All reviewed patches have been landed.  Closing bug.