Bug 181225 - [WPE][GTK] Layout test media/encrypted-media/mock-MediaKeySystemAccess.html is crashing
Summary: [WPE][GTK] Layout test media/encrypted-media/mock-MediaKeySystemAccess.html i...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WPE WebKit (show other bugs)
Version: Other
Hardware: PC Linux
: P2 Normal
Assignee: Charlie Turner
URL:
Keywords:
: 190578 209910 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-01-02 15:37 PST by Michael Catanzaro
Modified: 2020-05-11 02:05 PDT (History)
12 users (show)

See Also:


Attachments
Patch (4.04 KB, patch)
2020-05-04 07:10 PDT, Charlie Turner
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Catanzaro 2018-01-02 15:37:33 PST
Layout test media/encrypted-media/mock-MediaKeySystemAccess.html is crashing on the WPE release bot.

Backtraces are broken on this bot, so run the test manually to get a backtrace.
Comment 1 Charlie Turner 2020-05-04 06:48:51 PDT
#0  0x00007ffbb0617b9f in WebCore::CDM::createInstance() (this=0x7ffb322d35a0) at /home/cht/igalia/sources/WebKit/Source/WebCore/Modules/encryptedmedia/CDM.cpp:116
#1  0x00007ffbb0092c0a in WebCore::MediaKeySystemAccess::createMediaKeys(WebCore::Document&, WTF::Ref<WebCore::DeferredPromise, WTF::DumbPtrTraits<WebCore::DeferredPromise> >&&)::$_0::operator()() (this=0x7ffb322b7368) at /home/cht/igalia/sources/WebKit/Source/WebCore/Modules/encryptedmedia/MediaKeySystemAccess.cpp:78
#2  0x00007ffbb0092b5e in WTF::Detail::CallableWrapper<WebCore::MediaKeySystemAccess::createMediaKeys(WebCore::Document&, WTF::Ref<WebCore::DeferredPromise, WTF::DumbPtrTraits<WebCore::DeferredPromise> >&&)::$_0, void>::call() (this=0x7ffb322b7360) at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#3  0x00007ffbab27ece2 in WTF::Function<void ()>::operator()() const (this=0x7ffb322c41a8) at DerivedSources/ForwardingHeaders/wtf/Function.h:84
#4  0x00007ffbadccfc85 in WebCore::GenericTaskQueue<WebCore::Timer>::enqueueTask(WTF::Function<void ()>&&)::{lambda()#1}::operator()() const (this=0x7ffb322c41a0) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/GenericTaskQueue.h:117
#5  0x00007ffbadccfb8e in WTF::Detail::CallableWrapper<WebCore::GenericTaskQueue<WebCore::Timer>::enqueueTask(WTF::Function<void ()>&&)::{lambda()#1}, void>::call() (this=0x7ffb322c4198) at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#6  0x00007ffbab27ece2 in WTF::Function<void ()>::operator()() const (this=0x7ffd4e0f1820) at DerivedSources/ForwardingHeaders/wtf/Function.h:84
#7  0x00007ffbaf297c7f in WebCore::TaskDispatcher<WebCore::Timer>::dispatchOneTask() (this=0x7ffb322dfc78) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/GenericTaskQueue.cpp:110
#8  0x00007ffbaf297b65 in WebCore::TaskDispatcher<WebCore::Timer>::sharedTimerFired() () at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/GenericTaskQueue.cpp:85
#9  0x00007ffbaf2987e1 in WebCore::TaskDispatcher<WebCore::Timer>::sharedTimer()::$_1::operator()() const (this=0x7ffb322ccfb8) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/GenericTaskQueue.cpp:60
#10 0x00007ffbaf2987be in WTF::Detail::CallableWrapper<WebCore::TaskDispatcher<WebCore::Timer>::sharedTimer()::$_1, void>::call() (this=0x7ffb322ccfb0) at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#11 0x00007ffbab27ece2 in WTF::Function<void ()>::operator()() const (this=0x7ffbb68ba840 <WebCore::TaskDispatcher<WebCore::Timer>::sharedTimer()::timer+40>) at DerivedSources/ForwardingHeaders/wtf/Function.h:84
#12 0x00007ffbaba370fe in WebCore::Timer::fired() (this=0x7ffbb68ba818 <WebCore::TaskDispatcher<WebCore::Timer>::sharedTimer()::timer>) at DerivedSources/ForwardingHeaders/WebCore/Timer.h:126
#13 0x00007ffbaf2d9834 in WebCore::ThreadTimers::sharedTimerFiredInternal() (this=0x7ffb93a868e8) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/ThreadTimers.cpp:127
#14 0x00007ffbaf2db1e1 in WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0::operator()() const (this=0x7ffb93af9c28) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/ThreadTimers.cpp:67
#15 0x00007ffbaf2db1ae in WTF::Detail::CallableWrapper<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_0, void>::call() (this=0x7ffb93af9c20) at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#16 0x00007ffbab27ece2 in WTF::Function<void ()>::operator()() const (this=0x7ffbb68bac30 <WebCore::MainThreadSharedTimer::singleton()::instance+8>) at DerivedSources/ForwardingHeaders/wtf/Function.h:84
#17 0x00007ffbaf2ac9fb in WebCore::MainThreadSharedTimer::fired() (this=0x7ffbb68bac28 <WebCore::MainThreadSharedTimer::singleton()::instance>) at /home/cht/igalia/sources/WebKit/Source/WebCore/platform/MainThreadSharedTimer.cpp:83
#18 0x00007ffbaf2b455b in WTF::RunLoop::Timer<WebCore::MainThreadSharedTimer>::fired() (this=0x7ffbb68bac38 <WebCore::MainThreadSharedTimer::singleton()::instance+16>) at DerivedSources/ForwardingHeaders/wtf/RunLoop.h:171
#19 0x00007ffb9f2a132b in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::$_2::operator()(void*) const (this=0x7ffbb68bac38 <WebCore::MainThreadSharedTimer::singleton()::instance+16>, userData=0x7ffbb68bac38 <WebCore::MainThreadSharedTimer::singleton()::instance+16>) at /home/cht/igalia/sources/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:177
#20 0x00007ffb9f2a12e5 in WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::$_2::__invoke(void*) (userData=0x7ffbb68bac38 <WebCore::MainThreadSharedTimer::singleton()::instance+16>) at /home/cht/igalia/sources/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:171
#21 0x00007ffb9f2a1201 in WTF::$_3::operator()(_GSource*, int (*)(void*), void*) const (this=0x24fea00, source=0x24fea00, callback=0x7ffb9f2a12d0 <WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::$_2::__invoke(void*)>, userData=0x7ffbb68bac38 <WebCore::MainThreadSharedTimer::singleton()::instance+16>) at /home/cht/igalia/sources/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:45
#22 0x00007ffb9f2a11a5 in WTF::$_3::__invoke(_GSource*, int (*)(void*), void*) (source=0x24fea00, callback=0x7ffb9f2a12d0 <WTF::RunLoop::TimerBase::TimerBase(WTF::RunLoop&)::$_2::__invoke(void*)>, userData=0x7ffbb68bac38 <WebCore::MainThreadSharedTimer::singleton()::instance+16>) at /home/cht/igalia/sources/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:40
#23 0x00007ffb97e47dd8 in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#24 0x00007ffb97e481c8 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#25 0x00007ffb97e484c2 in g_main_loop_run () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#26 0x00007ffb9f2a0958 in WTF::RunLoop::run() () at /home/cht/igalia/sources/WebKit/Source/WTF/wtf/glib/RunLoopGLib.cpp:96
#27 0x00007ffbac9bd058 in WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) (argc=4, argv=0x7ffd4e0f1e38) at /home/cht/igalia/sources/WebKit/Source/WebKit/Shared/AuxiliaryProcessMain.h:68
#28 0x00007ffbac9b9f5b in WebKit::WebProcessMain(int, char**) (argc=4, argv=0x7ffd4e0f1e38) at /home/cht/igalia/sources/WebKit/Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:66
#29 0x0000000000400f86 in main(int, char**) (argc=4, argv=0x7ffd4e0f1e38) at /home/cht/igalia/sources/WebKit/Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp:45
Comment 2 Charlie Turner 2020-05-04 07:00:08 PDT
WebCore::CDM::createInstance is assuming CDM::createInstance always succeeds, which is not the case under mock conditions at least. JS can use setJSMockCDMFactoryCanCreateInstancesSetter at anytime, causing a SEGV.
Comment 3 Charlie Turner 2020-05-04 07:03:56 PDT
*** Bug 190578 has been marked as a duplicate of this bug. ***
Comment 4 Charlie Turner 2020-05-04 07:10:28 PDT
Created attachment 398361 [details]
Patch
Comment 5 Charlie Turner 2020-05-04 07:25:02 PDT
*** Bug 209910 has been marked as a duplicate of this bug. ***
Comment 6 EWS 2020-05-11 02:05:05 PDT
Committed r261469: <https://trac.webkit.org/changeset/261469>

All reviewed patches have been landed. Closing bug and clearing flags on attachment 398361 [details].