Bug 208878 - [GPU Process] Font data is not decoded properly
Summary: [GPU Process] Font data is not decoded properly
Status: RESOLVED DUPLICATE of bug 206118
Alias: None
Product: WebKit
Classification: Unclassified
Component: Canvas (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2020-03-10 13:02 PDT by Said Abou-Hallawa
Modified: 2021-04-09 13:10 PDT (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Said Abou-Hallawa 2020-03-10 13:02:03 PDT
Run the following command:

run-webkit-tests --debug --no-retry  --internal-feature RenderCanvasInGPUProcessEnabled fast/canvas/2d.text.draw.fill.maxWidth.gradient.html fast/canvas/2d.text.draw.fill.maxWidth.negative.html fast/canvas/2d.text.draw.fill.maxWidth.veryLarge.html fast/canvas/2d.text.draw.fill.maxWidth.verySmall.html fast/canvas/canvas-blending-text.html fast/canvas/canvas-composite-text-alpha.html fast/canvas/font-update.html

All the tests will fail with the following assertion:

stderr:
ARGUMENT BAD: font, font
platform/graphics/cocoa/FontPlatformDataCocoa.mm(44) : WebCore::FontPlatformData::FontPlatformData(CTFontRef, float, bool, bool, WebCore::FontOrientation, WebCore::FontWidthVariant, WebCore::TextRenderingMode)
1   0x135c39339 WTFCrash
2   0x11c4c5a0c WebCore::FontPlatformData::FontPlatformData(__CTFont const*, float, bool, bool, WebCore::FontOrientation, WebCore::FontWidthVariant, WebCore::TextRenderingMode)
3   0x10f5d6fb4 IPC::ArgumentCoder<WebCore::FontHandle>::decodePlatformData(IPC::Decoder&, WebCore::FontHandle&)
4   0x1105b11a7 IPC::ArgumentCoder<WebCore::FontHandle>::decode(IPC::Decoder&, WebCore::FontHandle&)
5   0x10f35058e IPC::Decoder& IPC::Decoder::operator>><WebCore::FontHandle, (void*)0>(WTF::Optional<WebCore::FontHandle>&)
6   0x10f3320f9 WTF::Optional<WTF::Ref<WebCore::DisplayList::DrawGlyphs, WTF::DumbPtrTraits<WebCore::DisplayList::DrawGlyphs> > > WebCore::DisplayList::DrawGlyphs::decode<IPC::Decoder>(IPC::Decoder&)
7   0x10f32dc4b WTF::Optional<WTF::Ref<WebCore::DisplayList::Item, WTF::DumbPtrTraits<WebCore::DisplayList::Item> > > WebCore::DisplayList::Item::decode<IPC::Decoder>(IPC::Decoder&)
8   0x10f32d02f WTF::Optional<WebCore::DisplayList::DisplayList> WebCore::DisplayList::DisplayList::decode<IPC::Decoder>(IPC::Decoder&)
9   0x10f32ce5c WTF::Optional<WebCore::DisplayList::DisplayList> IPC::ArgumentCoder<WebCore::DisplayList::DisplayList>::decode<WebCore::DisplayList::DisplayList, (void*)0>(IPC::Decoder&)
10  0x10f32cbf4 IPC::Decoder& IPC::Decoder::operator>><WebCore::DisplayList::DisplayList, (void*)0>(WTF::Optional<WebCore::DisplayList::DisplayList>&)
11  0x10f369633 IPC::TupleDecoderImpl<WebCore::DisplayList::DisplayList, WTF::ObjectIdentifier<WebKit::ImageBufferFlushIdentifierType>, WTF::ObjectIdentifier<WebKit::ImageBufferIdentifierType> >::decode(IPC::Decoder&)
12  0x10f3695ec IPC::TupleDecoder<3ul, WebCore::DisplayList::DisplayList, WTF::ObjectIdentifier<WebKit::ImageBufferFlushIdentifierType>, WTF::ObjectIdentifier<WebKit::ImageBufferIdentifierType> >::decode(IPC::Decoder&)
13  0x10f36948c IPC::ArgumentCoder<std::__1::tuple<WebCore::DisplayList::DisplayList, WTF::ObjectIdentifier<WebKit::ImageBufferFlushIdentifierType>, WTF::ObjectIdentifier<WebKit::ImageBufferIdentifierType> > >::decode(IPC::Decoder&)
14  0x10f369264 IPC::Decoder& IPC::Decoder::operator>><std::__1::tuple<WebCore::DisplayList::DisplayList, WTF::ObjectIdentifier<WebKit::ImageBufferFlushIdentifierType>, WTF::ObjectIdentifier<WebKit::ImageBufferIdentifierType> >, (void*)0>(WTF::Optional<std::__1::tuple<WebCore::DisplayList::DisplayList, WTF::ObjectIdentifier<WebKit::ImageBufferFlushIdentifierType>, WTF::ObjectIdentifier<WebKit::ImageBufferIdentifierType> > >&)
15  0x10f31ec11 void IPC::handleMessage<Messages::RemoteRenderingBackendProxy::FlushImageBufferDrawingContextAndCommit, WebKit::RemoteRenderingBackendProxy, void (WebKit::RemoteRenderingBackendProxy::*)(WebCore::DisplayList::DisplayList const&, WTF::ObjectIdentifier<WebKit::ImageBufferFlushIdentifierType>, WTF::ObjectIdentifier<WebKit::ImageBufferIdentifierType>)>(IPC::Decoder&, WebKit::RemoteRenderingBackendProxy*, void (WebKit::RemoteRenderingBackendProxy::*)(WebCore::DisplayList::DisplayList const&, WTF::ObjectIdentifier<WebKit::ImageBufferFlushIdentifierType>, WTF::ObjectIdentifier<WebKit::ImageBufferIdentifierType>))
16  0x10f31e796 WebKit::RemoteRenderingBackendProxy::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
17  0x10eef7adb IPC::MessageReceiverMap::dispatchMessage(IPC::Connection&, IPC::Decoder&)
18  0x10f37b8c6 WebKit::GPUConnectionToWebProcess::dispatchMessage(IPC::Connection&, IPC::Decoder&)
19  0x10f2859d0 WebKit::GPUConnectionToWebProcess::didReceiveMessage(IPC::Connection&, IPC::Decoder&)
20  0x10ee4d839 IPC::Connection::dispatchMessage(IPC::Decoder&)
21  0x10ee4e192 IPC::Connection::dispatchMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)
22  0x10ee4e840 IPC::Connection::dispatchOneIncomingMessage()
23  0x10ee6d19e IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7::operator()()
24  0x10ee6d0ae WTF::Detail::CallableWrapper<IPC::Connection::enqueueIncomingMessage(std::__1::unique_ptr<IPC::Decoder, std::__1::default_delete<IPC::Decoder> >)::$_7, void>::call()
25  0x135c60342 WTF::Function<void ()>::operator()() const
26  0x135ccd348 WTF::RunLoop::performWork()
27  0x135ccdcf1 WTF::RunLoop::performWork(void*)
28  0x7fff354af342 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__
29  0x7fff354af2e1 __CFRunLoopDoSource0
30  0x7fff354af0fb __CFRunLoopDoSources0
31  0x7fff354ade2a __CFRunLoopRun
LEAK: 1 WebPageProxy
Comment 1 Radar WebKit Bug Importer 2020-03-10 14:02:13 PDT
<rdar://problem/60289716>
Comment 2 Myles C. Maxfield 2021-04-09 13:07:11 PDT
I think this is a dup of https://bugs.webkit.org/show_bug.cgi?id=206118
Comment 3 Myles C. Maxfield 2021-04-09 13:10:00 PDT

*** This bug has been marked as a duplicate of bug 206118 ***