[Webkit-unassigned] [Bug 173952] New: [GStreamer] Some layout tests issue "g_mutex_clear() called on uninitialised or locked mutex" and flaky crash in ~MediaPlayerPrivateGStreamerBase

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 28 19:24:20 PDT 2017


https://bugs.webkit.org/show_bug.cgi?id=173952

            Bug ID: 173952
           Summary: [GStreamer] Some layout tests issue "g_mutex_clear()
                    called on uninitialised or locked mutex" and flaky
                    crash in ~MediaPlayerPrivateGStreamerBase
           Product: WebKit
           Version: WebKit Nightly Build
          Hardware: Unspecified
                OS: Unspecified
            Status: NEW
          Severity: Normal
          Priority: P2
         Component: WebKit Gtk
          Assignee: webkit-unassigned at lists.webkit.org
          Reporter: Hironori.Fujii at sony.com
                CC: bugs-noreply at webkitgtk.org

> STDERR: g_mutex_clear() called on uninitialised or locked mutex

For example,
https://build.webkit.org/results/GTK%20Linux%2064-bit%20Release%20(Tests)/r218899%20(1980)/media/media-source/media-source-abort-resets-parser-crash-log.txt

Callstack:

> Thread 1 (Thread 0x7f81a90c6a80 (LWP 3818)):
> #0  __GI_raise (sig=sig at entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
> #1  0x00007f81b06aa3fa in __GI_abort () at abort.c:89
> #2  0x00007f81b51aa78f in g_mutex_clear () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gthread-posix.c:1300
> #3  0x00007f81bd783b81 in WebCore::MediaPlayerPrivateGStreamerBase::~MediaPlayerPrivateGStreamerBase() ()
> #4  0x00007f81bd7808c0 in WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer() ()
> #5  0x00007f81bd780a29 in WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer() ()
> #6  0x00007f81bd20e9aa in WebCore::MediaPlayer::~MediaPlayer() ()
> #7  0x00007f81bd20ea39 in WebCore::MediaPlayer::~MediaPlayer() [clone .localalias.101] ()
> #8  0x00007f81bcdc72a2 in WebCore::HTMLMediaElement::clearMediaPlayer(WebCore::HTMLMediaElementEnums::DelayedActionType) ()
> #9  0x00007f81bcdca111 in WebCore::HTMLMediaElement::stop() ()
> #10 0x00007f81bcc41e4b in WebCore::ScriptExecutionContext::stopActiveDOMObjects() ()
> #11 0x00007f81bcbcaa00 in WebCore::Document::stopActiveDOMObjects() ()
> #12 0x00007f81bcbcab07 in WebCore::Document::prepareForDestruction() ()
> #13 0x00007f81bd096d72 in WebCore::Frame::setView(WTF::RefPtr<WebCore::FrameView>&&) ()
> #14 0x00007f81bd0999cc in WebCore::Frame::createView(WebCore::IntSize const&, WebCore::Color const&, bool, WebCore::IntSize const&, WebCore::IntRect const&, bool, WebCore::ScrollbarMode, bool, WebCore::ScrollbarMode, bool) ()
> #15 0x00007f81b96f889b in WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #16 0x00007f81bcf669aa in WebCore::FrameLoader::transitionToCommitted(WebCore::CachedPage*) ()
> #17 0x00007f81bcf66ae0 in WebCore::FrameLoader::commitProvisionalLoad() ()
> #18 0x00007f81bcf40b74 in WebCore::DocumentLoader::finishedLoading() ()
> #19 0x00007f81bcf41129 in WebCore::DocumentLoader::maybeLoadEmpty() ()
> #20 0x00007f81bcf43cdd in WebCore::DocumentLoader::startLoadingMainResource() ()
> #21 0x00007f81bcf674e8 in WebCore::FrameLoader::continueLoadAfterNavigationPolicy(WebCore::ResourceRequest const&, WebCore::FormState*, bool, WebCore::AllowNavigationToInvalidURL) ()
> #22 0x00007f81bcf941cb in WebCore::PolicyCallback::call(bool) ()
> #23 0x00007f81bcf99fda in WebCore::PolicyChecker::continueAfterNavigationPolicy(WebCore::PolicyAction) ()
> #24 0x00007f81b97003b8 in WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(WebCore::NavigationAction const&, WebCore::ResourceRequest const&, WebCore::FormState*, WTF::Function<void (WebCore::PolicyAction)>&&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #25 0x00007f81bcf9c611 in WebCore::PolicyChecker::checkNavigationPolicy(WebCore::ResourceRequest const&, bool, WebCore::DocumentLoader*, WebCore::FormState*, WTF::Function<void (WebCore::ResourceRequest const&, WebCore::FormState*, bool)>) ()
> #26 0x00007f81bcf678e4 in WebCore::FrameLoader::loadWithDocumentLoader(WebCore::DocumentLoader*, WebCore::FrameLoadType, WebCore::FormState*, WebCore::AllowNavigationToInvalidURL) ()
> #27 0x00007f81bcf6a1e1 in WebCore::FrameLoader::load(WebCore::FrameLoadRequest&&) ()
> #28 0x00007f81b972ad65 in WebKit::WebPage::loadRequest(WebKit::LoadParameters const&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #29 0x00007f81b98fc6b7 in void IPC::handleMessage<Messages::WebPage::LoadAlternateHTMLString, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::LoadParameters const&)>(IPC::Decoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::LoadParameters const&)) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #30 0x00007f81b98fa359 in WebKit::WebPage::didReceiveWebPageMessage(IPC::Connection&, IPC::Decoder&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #31 0x00007f81b9510789 in IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #32 0x00007f81b9672516 in WebKit::WebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #33 0x00007f81b950c64b in IPC::Connection::dispatchMessage(std::unique_ptr<IPC::Decoder, std::default_delete<IPC::Decoder> >) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #34 0x00007f81b950d57c in IPC::Connection::dispatchOneMessage() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #35 0x00007f81b74373dd in WTF::RunLoop::performWork() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
> #36 0x00007f81b746cd39 in WTF::RunLoop::RunLoop()::{lambda(void*)#1}::_FUN(void*) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
> #37 0x00007f81b51665ca in g_main_dispatch () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3212
> #38 g_main_context_dispatch () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3865
> #39 0x00007f81b5166948 in g_main_context_iterate () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:3938
> #40 0x00007f81b5166c62 in g_main_loop_run () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/glib-2.52.1/glib/gmain.c:4134
> #41 0x00007f81b746d6e0 in WTF::RunLoop::run() () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libjavascriptcoregtk-4.0.so.18
> #42 0x00007f81b98a6b62 in int WebKit::ChildProcessMain<WebKit::WebProcess, WebKit::WebProcessMain>(int, char**) () from /home/slave/webkitgtk/gtk-linux-64-release/build/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37
> #43 0x00007f81b06962b1 in __libc_start_main (main=0x7f81bc799000 <main>, argc=2, argv=0x7ffebfbcc718, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffebfbcc708) at ../csu/libc-start.c:291
> #44 0x00007f81bc79954a in _start ()


Thread 29 seems to be locking the mutex.

> Thread 29 (Thread 0x7f80e3af9700 (LWP 7329)):
(...)
> #9  0x00007f81b6127e36 in gst_video_frame_map_id () at /home/slave/webkitgtk/gtk-linux-64-release-tests/build/WebKitBuild/DependenciesGTK/Source/gst-plugins-base-1.10.4/gst-libs/gst/video/video-frame.c:103
> #10 0x00007f81bd783414 in WebCore::MediaPlayerPrivateGStreamerBase::pushTextureToCompositor() ()
> #11 0x00007f81bd7836f8 in WebCore::MediaPlayerPrivateGStreamerBase::triggerRepaint(_GstSample*) ()
> #12 0x00007f81bd7839fe in WebCore::MediaPlayerPrivateGStreamerBase::newPrerollCallback(_GstElement*, WebCore::MediaPlayerPrivateGStreamerBase*) ()
> #13 0x00007f81ac9fc038 in ffi_call_unix64 () from /usr/lib/x86_64-linux-gnu/libffi.so.6
(...)

-- 
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/20170629/931903e8/attachment-0001.html>


More information about the webkit-unassigned mailing list