imported/w3c/web-platform-tests/html/editing/editing-0/contenteditable/selection-in-contentEditable-at-turning-designMode-on-off.tentative.html is flakey crashing in BigSur Debug in Wk 2. HISTORY URL: https://results.webkit.org/?suite=layout-tests&test=imported%2Fw3c%2Fweb-platform-tests%2Fhtml%2Fediting%2Fediting-0%2Fcontenteditable%2Fselection-in-contentEditable-at-turning-designMode-on-off.tentative.html&platform=mac CRASH LOG TEXT: No crash log found for GPUProcess:10707. stdout: stderr: SHOULD NEVER BE REACHED ./platform/graphics/displaylists/DisplayListItems.cpp(817) : void WebCore::DisplayList::PaintFrameForMedia::apply(WebCore::GraphicsContext &) const 1 0x13c59ea49 WTFCrash 2 0x11e96af2b WTFCrashWithInfo(int, char const*, char const*, int) 3 0x122f27783 WebCore::DisplayList::PaintFrameForMedia::apply(WebCore::GraphicsContext&) const 4 0x122f1024e WebCore::DisplayList::ItemHandle::apply(WebCore::GraphicsContext&) 5 0x122f3304b WebCore::DisplayList::Replayer::applyItem(WebCore::DisplayList::ItemHandle) 6 0x122f33b34 WebCore::DisplayList::Replayer::replay(WebCore::FloatRect const&, bool) 7 0x10ff01b93 WebKit::RemoteRenderingBackend::submit(WebCore::DisplayList::DisplayList const&, WebCore::ImageBuffer&) 8 0x10ff01eda WebKit::RemoteRenderingBackend::nextDestinationImageBufferAfterApplyingDisplayLists(WebCore::ImageBuffer&, unsigned long, WebKit::DisplayListReaderHandle&, WebKit::GPUProcessWakeupReason) 9 0x10ff01700 WebKit::RemoteRenderingBackend::wakeUpAndApplyDisplayList(WebKit::GPUProcessWakeupMessageArguments const&) 10 0x10fec4760 void IPC::callMemberFunctionImpl<WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&), std::__1::tuple<WebKit::GPUProcessWakeupMessageArguments>, 0ul>(WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&), std::__1::tuple<WebKit::GPUProcessWakeupMessageArguments>&&, std::__1::integer_sequence<unsigned long, 0ul>) 11 0x10fec3d30 void IPC::callMemberFunction<WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&), std::__1::tuple<WebKit::GPUProcessWakeupMessageArguments>, std::__1::integer_sequence<unsigned long, 0ul> >(std::__1::tuple<WebKit::GPUProcessWakeupMessageArguments>&&, WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&)) 12 0x10fea6776 void IPC::handleMessage<Messages::RemoteRenderingBackend::WakeUpAndApplyDisplayList, WebKit::RemoteRenderingBackend, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&)>(IPC::Decoder&, WebKit::RemoteRenderingBackend*, void (WebKit::RemoteRenderingBackend::*)(WebKit::GPUProcessWakeupMessageArguments const&)) 13 0x10fea63aa WebKit::RemoteRenderingBackend::didReceiveMessage(IPC::Connection&, IPC::Decoder&) 14 0x10f4f1135 IPC::Connection::dispatchWorkQueueMessageReceiverMessage(IPC::Connection::WorkQueueMessageReceiver&, IPC::Decoder&) 15 0x10f51a87a IPC::Connection::dispatchMessageToWorkQueueReceiver(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >&)::$_10::operator()() 16 0x10f51a74e WTF::Detail::CallableWrapper<IPC::Connection::dispatchMessageToWorkQueueReceiver(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >&)::$_10, void>::call() 17 0x13c5ca332 WTF::Function<void ()>::operator()() const 18 0x13c6ee8de WTF::WorkQueue::dispatch(WTF::Function<void ()>&&)::$_0::operator()() const 19 0x13c6eeae2 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WTF::WorkQueue::dispatch(WTF::Function<void ()>&&)::$_0>(WTF::WorkQueue::dispatch(WTF::Function<void ()>&&)::$_0)::'lambda'(void*)::operator()(void*) const 20 0x13c6eeab5 WTF::BlockPtr<void ()> WTF::BlockPtr<void ()>::fromCallable<WTF::WorkQueue::dispatch(WTF::Function<void ()>&&)::$_0>(WTF::WorkQueue::dispatch(WTF::Function<void ()>&&)::$_0)::'lambda'(void*)::__invoke(void*) 21 0x7fff201bc5dd _dispatch_call_block_and_release 22 0x7fff201bd7c7 _dispatch_client_callout 23 0x7fff201c35fe _dispatch_lane_serial_drain 24 0x7fff201c40cb _dispatch_lane_invoke 25 0x7fff201cdc5d _dispatch_workloop_worker_thread 26 0x7fff20365499 _pthread_wqthread 27 0x7fff20364467 start_wqthread LEAK: 1 WebPageProxy
<rdar://problem/74403030>
Was not able to duplicate due to crashing being very flakey. The first reported crash occurred at r272861, but changes appear unrelated to the flakey failing test. Starting on Chris who added the test at r264038. CHANGESET URL: https://trac.webkit.org/changeset/264038/webkit
This might imply that we're unable to map to a MediaPlayer here: bool RemoteRenderingBackend::applyMediaItem(DisplayList::ItemHandle item, GraphicsContext& context) ... auto& mediaItem = item.get<DisplayList::PaintFrameForMedia>(); auto player = m_gpuConnectionToWebProcess->remoteMediaPlayerManagerProxy().mediaPlayer(mediaItem.identifier()); if (!player) return false;
*** Bug 222178 has been marked as a duplicate of this bug. ***
(In reply to Wenson Hsieh from comment #3) > This might imply that we're unable to map to a MediaPlayer here: > > bool RemoteRenderingBackend::applyMediaItem(DisplayList::ItemHandle item, > GraphicsContext& context) > > ... > > auto& mediaItem = item.get<DisplayList::PaintFrameForMedia>(); > auto player = > m_gpuConnectionToWebProcess->remoteMediaPlayerManagerProxy(). > mediaPlayer(mediaItem.identifier()); > if (!player) > return false; I think we can just return true here.
Created attachment 421093 [details] Patch
Can we get this reviewed/landed?
Comment on attachment 421093 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=421093&action=review > Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:126 > - return false; > + return true; Nit: Can we add a WTFLogAlways() (or equivalent) with the mediaItem.identifier() to track this exceptional case?
Comment on attachment 421093 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=421093&action=review >> Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:126 >> + return true; > > Nit: Can we add a WTFLogAlways() (or equivalent) with the mediaItem.identifier() to track this exceptional case? Filed bug 222633 to fix that.
Comment on attachment 421093 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=421093&action=review >>> Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:126 >>> + return true; >> >> Nit: Can we add a WTFLogAlways() (or equivalent) with the mediaItem.identifier() to track this exceptional case? > > Filed bug 222633 to fix that. I think this will look better if we write it like this: if (auto player = m_gpuConnectionToWebProcess->remoteMediaPlayerManagerProxy().mediaPlayer(mediaItem.identifier())) context.paintFrameForMedia(*player, mediaItem.destination()); return true;
Committed r273775: <https://commits.webkit.org/r273775> All reviewed patches have been landed. Closing bug and clearing flags on attachment 421093 [details].