Bug 66375
Summary: | http/tests/misc/font-face-in-multiple-segmented-faces.html assertion failure on Chromium | ||
---|---|---|---|
Product: | WebKit | Reporter: | Steve Block <steveblock> |
Component: | WebCore Misc. | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | joepeck, steveblock |
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Steve Block
We're hitting an assertion failure due to m_purgePreventCount on multiple Chromium bots when running this LayoutTest. I suspect this is due to http://trac.webkit.org/changeset/93140. See also Bug 66328.
For example, a recent failure on a DEPS bot - http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/6430
Stack trace from a debug build on a canary bot - http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20(dbg)(2)/builds/4810/steps/webkit_tests/logs/stdio ...
ASSERTION FAILED: m_purgePreventCount
Backtrace:
WebCore::FontCache::getCachedFontData [0x016472A8+88] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\fontcache.cpp:280)
WebCore::FontCache::getCachedFontData [0x01647239+73] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\fontcache.cpp:271)
WebCore::FontCache::getLastResortFallbackFont [0x0167D8CB+283] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\chromium\fontcachechromiumwin.cpp:540)
WebCore::FontCache::getNonRetainedLastResortFallbackFont [0x0164762C+28] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\fontcache.cpp:316)
WebCore::CSSFontFaceSource::getFontData [0x01598D33+1443] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\css\cssfontfacesource.cpp:188)
WebCore::CSSFontFace::getFontData [0x01595683+227] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\css\cssfontface.cpp:112)
WebCore::CSSSegmentedFontFace::getFontData [0x0159C58D+445] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\css\csssegmentedfontface.cpp:106)
WebCore::CSSFontSelector::getFontData [0x014F6EBC+1340] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\css\cssfontselector.cpp:575)
WebCore::FontCache::getFontData [0x01647E43+211] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\fontcache.cpp:414)
WebCore::FontFallbackList::fontDataAt [0x015F27ED+221] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\fontfallbacklist.cpp:105)
WebCore::FontFallbackList::primaryFontData [0x00A5B6BC+28] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\fontfallbacklist.h:75)
WebCore::FontFallbackList::primarySimpleFontData [0x00A5B667+87] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\fontfallbacklist.h:71)
WebCore::Font::primaryFont [0x00A5B5F7+87] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\font.h:247)
WebCore::Font::fontMetrics [0x00A5B566+22] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\platform\graphics\font.h:132)
WebCore::RenderStyle::fontMetrics [0x00E99A03+35] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\rendering\style\renderstyle.h:479)
WebCore::RenderTextControlSingleLine::createInnerTextStyle [0x02463F8C+236] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\rendering\rendertextcontrolsingleline.cpp:509)
WebCore::TextControlInnerTextElement::styleForRenderer [0x0179B322+82] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\shadow\textcontrolinnerelements.cpp:110)
WebCore::NodeRendererFactory::createRendererAndStyle [0x017F2AFA+202] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\dom\noderenderingcontext.cpp:299)
WebCore::NodeRendererFactory::createRendererIfNeeded [0x017F2CB6+102] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\dom\noderenderingcontext.cpp:348)
WebCore::Node::createRendererIfNeeded [0x0182A58E+46] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\dom\node.cpp:1463)
WebCore::Element::attach [0x017EC529+57] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\dom\element.cpp:1017)
WebCore::ContainerNode::attach [0x0185BA36+70] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\dom\containernode.cpp:767)
WebCore::ShadowRoot::attach [0x0189FC88+104] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\dom\shadowroot.cpp:144)
WebCore::Element::attach [0x017EC57C+140] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\dom\element.cpp:1025)
WebCore::HTMLFormControlElement::attach [0x0172BDE8+88] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\htmlformcontrolelement.cpp:160)
WebCore::HTMLInputElement::attach [0x01708F63+67] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\htmlinputelement.cpp:878)
WebCore::HTMLConstructionSite::attach<WebCore::Element> [0x017E10A1+449] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmlconstructionsite.cpp:111)
WebCore::HTMLConstructionSite::attachToCurrent [0x017DF5C8+56] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmlconstructionsite.cpp:265)
WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement [0x017DF9FE+110] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmlconstructionsite.cpp:301)
WebCore::HTMLTreeBuilder::processStartTagForInBody [0x017C9D82+3442] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmltreebuilder.cpp:918)
WebCore::HTMLTreeBuilder::processStartTag [0x017CB1D2+1282] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmltreebuilder.cpp:1231)
WebCore::HTMLTreeBuilder::processToken [0x017C7BEC+108] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmltreebuilder.cpp:482)
WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken [0x017C79C3+35] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmltreebuilder.cpp:467)
WebCore::HTMLTreeBuilder::constructTreeFromToken [0x017C7847+87] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmltreebuilder.cpp:454)
WebCore::HTMLDocumentParser::pumpTokenizer [0x017AA6DF+479] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmldocumentparser.cpp:277)
WebCore::HTMLDocumentParser::pumpTokenizerIfPossible [0x017AA02F+127] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmldocumentparser.cpp:176)
WebCore::HTMLDocumentParser::append [0x017AAF35+277] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\html\parser\htmldocumentparser.cpp:369)
WebCore::DecodedDataDocumentParser::flush [0x0189A01F+111] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\dom\decodeddatadocumentparser.cpp:60)
WebCore::DocumentWriter::endIfNotLoadingMainResource [0x01129915+165] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\loader\documentwriter.cpp:227)
WebCore::DocumentWriter::end [0x01129857+39] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\loader\documentwriter.cpp:210)
WebCore::DocumentLoader::finishedLoading [0x0121F824+84] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\loader\documentloader.cpp:291)
WebCore::FrameLoader::finishedLoading [0x0115E3D2+82] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\loader\frameloader.cpp:2060)
WebCore::MainResourceLoader::didFinishLoading [0x014819B0+304] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\loader\mainresourceloader.cpp:486)
WebCore::ResourceLoader::didFinishLoading [0x0147A7B1+97] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webcore\loader\resourceloader.cpp:474)
WebCore::ResourceHandleInternal::didFinishLoading [0x00A6C2E0+144] (e:\b\build\slave\webkit_win__dbg__2_\build\src\third_party\webkit\source\webkit\chromium\src\resourcehandle.cpp:149)
webkit_glue::WebURLLoaderImpl::Context::OnCompletedRequest [0x00B6F4A5+533] (e:\b\build\slave\webkit_win__dbg__2_\build\src\webkit\glue\weburlloader_impl.cc:631)
`anonymous namespace'::RequestProxy::NotifyCompletedRequest [0x00AEE2D9+57] (e:\b\build\slave\webkit_win__dbg__2_\build\src\webkit\tools\test_shell\simple_resource_loader_bridge.cc:275)
[0x00AF5921+33] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\tuple.h:564)
[0x00AF4045+53] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\task.h:338)
base::subtle::TaskClosureAdapter::Run [0x01F5A432+50] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\task.cc:56)
base::internal::Invoker1<0,base::internal::InvokerStorage1<void (__thiscall base::subtle::TaskClosureAdapter::*)(void),base::subtle::TaskClosureAdapter *>,void (__thiscall base::subtle::TaskClosureAdapter::*)(void)>::DoInvoke [0x01F54A6D+45] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\bind_internal.h:595)
base::Callback<void __cdecl(void)>::Run [0x00E152FF+47] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\callback.h:265)
MessageLoop::RunTask [0x01F4B145+293] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\message_loop.cc:478)
MessageLoop::DeferOrRunPendingTask [0x01F4B283+51] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\message_loop.cc:495)
MessageLoop::DoWork [0x01F4BC5D+221] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\message_loop.cc:683)
base::MessagePumpForUI::DoRunLoop [0x01FB7324+84] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\message_pump_win.cc:203)
base::MessagePumpWin::RunWithDispatcher [0x01FB6BA2+130] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\message_pump_win.cc:51)
base::MessagePumpWin::Run [0x01FB6E0C+28] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\message_pump_win.h:80)
MessageLoop::RunInternal [0x01F4AE97+247] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\message_loop.cc:443)
MessageLoop::RunHandler [0x01F4AC6E+46] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\message_loop.cc:417)
MessageLoop::Run [0x01F4A57A+58] (e:\b\build\slave\webkit_win__dbg__2_\build\src\base\message_loop.cc:341)
webkit_support::RunMessageLoop [0x008FAACF+15] (e:\b\build\slave\webkit_win__dbg__2_\build\src\webkit\support\webkit_support.cc:383)
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Steve Block
Set a CRASH expectation for Windows debug with http://trac.webkit.org/changeset/93204
Joseph Pecoraro
(In reply to comment #1)
> Set a CRASH expectation for Windows debug with http://trac.webkit.org/changeset/93204
I strongly believe this would have been fixed by:
<http://webkit.org/b/66328> ASSERT in fast/css/custom-font-xheight.html
Which landed before you added the test expectations change...
http://trac.webkit.org/changeset/93171
The ASSERT was under CSSFontFaceSource::getFontData's call to
WebCore::FontCache::getNonRetainedLastResortFallbackFont
which now should now always have a purge preventer.
If the above bug did not fix this, please let me know. Since the
test was semi-skipped after my patch though and I don't have access
to test on that bot I won't be updating the expectations file. I'll leave
that to you.
Cheers!
Steve Block
OK, thanks for the update. There haven't been any occurrences of this crash since r93165, which is before your fix, so I'll remove the CRASH expectation.
Steve Block
Reverted r93204 for reason:
Test no longer crashing since r93171
Committed r93217: <http://trac.webkit.org/changeset/93217>
Steve Block
Closing as duplicate of Bug 66328
*** This bug has been marked as a duplicate of bug 66328 ***