[WinCairo] ASSERTION FAILED: !m_preparingToPlay in MediaPlayerPrivateMediaFoundation::prepareToPlay WinCairo, WK1, Debug build, trunk@237282 1. Start MiniBrowser 2. Menu > New WebKitLegacy Window 3. Go to https://www.youtube.com/ 4. ASSERTION FAILED: !m_preparingToPlay Log: > ASSERTION FAILED: !m_preparingToPlay > c:\webkit\ga\source\webcore\platform\graphics\win\mediaplayerprivatemediafoundation.cpp(197) : WebCore::MediaPlayerPrivateMediaFoundation::prepareToPlay Callstack: > WTF.dll!WTFCrash() Line 255 C++ > WebKit.dll!WTFCrashWithInfo(int __formal, const char * __formal, const char * __formal, int __formal) Line 551 C++ > WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::prepareToPlay() Line 197 C++ > WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet() Line 922 C++ > WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent::__l11::<lambda>() Line 535 C++ > WebKit.dll!WTF::Function<void __cdecl(void)>::CallableWrapper<void <lambda>(void) >::call() Line 101 C++ > WTF.dll!WTF::Function<void __cdecl(void)>::operator()() Line 57 C++ > WTF.dll!WTF::dispatchFunctionsFromMainThread() Line 118 C++ > WTF.dll!WTF::ThreadingWindowWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 48 C++ > [External Code] > WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 96 C++ > MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 89 C++ > MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 106 C++ > MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 230 C++ > [External Code] No problem happens in WK2 Window.
Following test cases are crashing due to this bug. fast/canvas/webgl/texImage2D-video-flipY-false.html fast/canvas/webgl/texImage2D-video-flipY-true.html
m_preparingToPlay has been introduced in Bug 156284.
MediaPlayerPrivateMediaFoundation::prepareToPlay is called from HTMLMediaElement::prepareToPlay first. > WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::prepareToPlay() Line 193 C++ > WebKit.dll!WebCore::MediaPlayer::prepareToPlay() Line 554 C++ > WebKit.dll!WebCore::HTMLMediaElement::prepareToPlay() Line 2958 C++ > WebKit.dll!WebCore::HTMLMediaElement::load::<unnamed-tag>::operator()() Line 1183 C++ > WebKit.dll!WTF::Detail::CallableWrapper<`lambda at ..\..\Source\WebCore\html/HTMLMediaElement.cpp:1181:46',void>::call() Line 52 C++ > WebKit.dll!WTF::Function<void ()>::operator()() Line 79 C++ > WebKit.dll!WebCore::GenericTaskQueue<WebCore::Timer,unsigned int>::enqueueTask::<unnamed-tag>::operator()() Line 107 C++ > WebKit.dll!WTF::Detail::CallableWrapper<`lambda at ..\..\Source\WebCore\platform\GenericTaskQueue.h:101:31',void>::call() Line 52 C++ > WebKit.dll!WTF::Function<void ()>::operator()() Line 79 C++ > WebKit.dll!WebCore::TaskDispatcher<WebCore::Timer>::dispatchOneTask() Line 111 C++ > WebKit.dll!WebCore::TaskDispatcher<WebCore::Timer>::sharedTimerFired() Line 86 C++ > WebKit.dll!WebCore::TaskDispatcher<WebCore::Timer>::sharedTimer::<unnamed-tag>::operator()() Line 60 C++ > WebKit.dll!WTF::Detail::CallableWrapper<`lambda at ..\..\Source\WebCore\platform/GenericTaskQueue.cpp:60:40',void>::call() Line 52 C++ > WebKit.dll!WTF::Function<void ()>::operator()() Line 79 C++ > WebKit.dll!WebCore::Timer::fired() Line 127 C++ > WebKit.dll!WebCore::ThreadTimers::sharedTimerFiredInternal() Line 129 C++ > WebKit.dll!WebCore::ThreadTimers::setSharedTimer::<unnamed-tag>::operator()() Line 69 C++ > WebKit.dll!WTF::Detail::CallableWrapper<`lambda at ..\..\Source\WebCore\platform/ThreadTimers.cpp:69:41',void>::call() Line 52 C++ > WebKit.dll!WTF::Function<void ()>::operator()() Line 79 C++ > WebKit.dll!WebCore::MainThreadSharedTimer::fired() Line 84 C++ > WebKit.dll!WebCore::TimerWindowWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 89 C++ > [External Code] > WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 94 C++ > MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 97 C++ > MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 115 C++ > MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 232 C++ > [External Code] And, called from onTopologySet next, and the assertion fails. > WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::prepareToPlay() Line 193 C++ > WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::onTopologySet() Line 917 C++ > WebKit.dll!WebCore::MediaPlayerPrivateMediaFoundation::endGetEvent::<unnamed-tag>::operator()() Line 531 C++ > WebKit.dll!WTF::Detail::CallableWrapper<`lambda at ..\..\Source\WebCore\platform\graphics\win\MediaPlayerPrivateMediaFoundation.cpp:527:26',void>::call() Line 52 C++ > WTF.dll!WTF::Function<void ()>::operator()() Line 79 C++ > WTF.dll!WTF::dispatchFunctionsFromMainThread() Line 113 C++ > WTF.dll!WTF::ThreadingWindowWndProc(HWND__ * hWnd, unsigned int message, unsigned __int64 wParam, __int64 lParam) Line 48 C++ > [External Code] > WebKit.dll!WebKitMessageLoop::run(HACCEL__ * hAccelTable) Line 94 C++ > MiniBrowserLib.dll!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 97 C++ > MiniBrowserLib.dll!dllLauncherEntryPoint(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 115 C++ > MiniBrowser.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, wchar_t * lpstrCmdLine, int nCmdShow) Line 232 C++ > [External Code]
Created attachment 370720 [details] Patch
Comment on attachment 370720 [details] Patch Clearing flags on attachment: 370720 Committed r245846: <https://trac.webkit.org/changeset/245846>
All reviewed patches have been landed. Closing bug.
<rdar://problem/51208080>