Bug 16058 - ASSERTION FAILED: m_cgFont on Windows
Summary: ASSERTION FAILED: m_cgFont on Windows
Status: RESOLVED WORKSFORME
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Windows XP
: P2 Normal
Assignee: Nobody
URL:
Keywords: HasReduction, PlatformOnly
Depends on:
Blocks:
 
Reported: 2007-11-19 19:17 PST by Matt Lilek
Modified: 2008-01-28 20:02 PST (History)
1 user (show)

See Also:


Attachments
Reduction (will ASSERT) (68 bytes, text/html)
2007-11-19 19:18 PST, Matt Lilek
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Matt Lilek 2007-11-19 19:17:22 PST
I've seen this assertion failure on both some Google search results and Wikipedia.  On the Google search results at least, it's tripped by one character that I've been unable to identify (on Windows it looks like an em dash, on Mac OS X where it doesn't assert, it looks like an accented o).  Doesn't cause anything bad in release build.

ASSERTION FAILED: m_cgFont
..\platform\win\FontPlatformDataWin.cpp(189) : WebCore::FontPlatformData::FontPlatformData

	WebKit.dll!WebCore::FontPlatformData::FontPlatformData(HFONT__ * font=0x3b0a098a, int size=16, bool bold=false, bool oblique=false)  Line 189 + 0x25 bytes	C++
 	WebKit.dll!WebCore::FontCache::createFontPlatformData(const WebCore::FontDescription & fontDescription={...}, const WebCore::AtomicString & family={...})  Line 231 + 0x43 bytes	C++
 	WebKit.dll!WebCore::FontCache::getCachedFontPlatformData(const WebCore::FontDescription & fontDescription={...}, const WebCore::AtomicString & familyName={...}, bool checkingAlternateName=false)  Line 149 + 0xd bytes	C++
 	WebKit.dll!WebCore::FontCache::getFontDataForCharacters(const WebCore::Font & font={...}, const wchar_t * characters=0x0012ec84, int length=1)  Line 101 + 0x29 bytes	C++
 	WebKit.dll!WebCore::Font::glyphDataForCharacter(int c=65533, bool mirror=false)  Line 458 + 0x11 bytes	C++
 	WebKit.dll!WebCore::WidthIterator::advance(int offset=1, WebCore::GlyphBuffer * glyphBuffer=0x00000000)  Line 158 + 0x12 bytes	C++
 	WebKit.dll!WebCore::Font::floatWidthForSimpleText(const WebCore::TextRun & run={...}, const WebCore::TextStyle & style={...}, WebCore::GlyphBuffer * glyphBuffer=0x00000000)  Line 706	C++
 	WebKit.dll!WebCore::Font::floatWidth(const WebCore::TextRun & run={...}, const WebCore::TextStyle & style={...})  Line 698 + 0x12 bytes	C++
 	WebKit.dll!WebCore::Font::width(const WebCore::TextRun & run={...}, const WebCore::TextStyle & style={...})  Line 518 + 0x10 bytes	C++
 	WebKit.dll!WebCore::RenderText::widthFromCache(const WebCore::Font & f={...}, int start=0, int len=1, int xPos=0)  Line 416	C++
 	WebKit.dll!WebCore::RenderText::calcPrefWidths(int leadWidth=0)  Line 616 + 0x1b bytes	C++
 	WebKit.dll!WebCore::RenderText::maxPrefWidth()  Line 514 + 0x14 bytes	C++
 	WebKit.dll!WebCore::RenderText::width(unsigned int from=0, unsigned int len=1, const WebCore::Font & f={...}, int xPos=0)  Line 1024 + 0x12 bytes	C++
 	WebKit.dll!WebCore::RenderBlock::findNextLineBreak(WebCore::BidiIterator & start={...}, WebCore::BidiResolver<WebCore::BidiIterator,WebCore::BidiRun> & bidi={...})  Line 1809 + 0x37 bytes	C++
 	WebKit.dll!WebCore::RenderBlock::layoutInlineChildren(bool relayoutChildren=true, int & repaintTop=0, int & repaintBottom=0)  Line 969 + 0x1a bytes	C++
 	WebKit.dll!WebCore::RenderBlock::layoutBlock(bool relayoutChildren=true)  Line 583	C++
 	WebKit.dll!WebCore::RenderBlock::layout()  Line 492 + 0x14 bytes	C++
 	WebKit.dll!WebCore::RenderObject::layoutIfNeeded()  Line 484 + 0x30 bytes	C++
 	WebKit.dll!WebCore::RenderBlock::layoutBlockChildren(bool relayoutChildren=true, int & maxFloatBottom=0)  Line 1228	C++
 	WebKit.dll!WebCore::RenderBlock::layoutBlock(bool relayoutChildren=true)  Line 587	C++
 	WebKit.dll!WebCore::RenderBlock::layout()  Line 492 + 0x14 bytes	C++
 	WebKit.dll!WebCore::RenderObject::layoutIfNeeded()  Line 484 + 0x30 bytes	C++
 	WebKit.dll!WebCore::RenderBlock::layoutBlockChildren(bool relayoutChildren=true, int & maxFloatBottom=0)  Line 1228	C++
 	WebKit.dll!WebCore::RenderBlock::layoutBlock(bool relayoutChildren=true)  Line 587	C++
 	WebKit.dll!WebCore::RenderBlock::layout()  Line 492 + 0x14 bytes	C++
 	WebKit.dll!WebCore::RenderView::layout()  Line 114	C++
 	WebKit.dll!WebCore::FrameView::layout(bool allowSubtree=true)  Line 434 + 0x12 bytes	C++
 	WebKit.dll!WebCore::Document::implicitClose()  Line 1491	C++
 	WebKit.dll!WebCore::FrameLoader::checkCallImplicitClose()  Line 1303	C++
 	WebKit.dll!WebCore::FrameLoader::checkCompleted()  Line 1249	C++
 	WebKit.dll!WebCore::FrameLoader::finishedParsing()  Line 1197	C++
 	WebKit.dll!WebCore::Document::finishedParsing()  Line 3518	C++
 	WebKit.dll!WebCore::HTMLParser::finished()  Line 1435 + 0x18 bytes	C++
 	WebKit.dll!WebCore::HTMLTokenizer::end()  Line 1552	C++
 	WebKit.dll!WebCore::HTMLTokenizer::finish()  Line 1592	C++
 	WebKit.dll!WebCore::Document::finishParsing()  Line 1596 + 0x15 bytes	C++
 	WebKit.dll!WebCore::FrameLoader::endIfNotLoadingMainResource()  Line 1031	C++
 	WebKit.dll!WebCore::FrameLoader::end()  Line 1009	C++
 	WebKit.dll!WebCore::DocumentLoader::finishedLoading()  Line 321	C++
 	WebKit.dll!WebCore::FrameLoader::finishedLoading()  Line 2755	C++
 	WebKit.dll!WebCore::MainResourceLoader::didFinishLoading()  Line 305	C++
 	WebKit.dll!WebCore::ResourceLoader::didFinishLoading(WebCore::ResourceHandle * __formal=0x050bf6c8)  Line 361 + 0xf bytes	C++
 	WebKit.dll!WebCore::didFinishLoading(_CFURLConnection * conn=0x03dd5da0, const void * clientInfo=0x050bf6c8)  Line 105 + 0x1e bytes	C++
Comment 1 Matt Lilek 2007-11-19 19:18:37 PST
Created attachment 17410 [details]
Reduction (will ASSERT)
Comment 2 Matt Lilek 2007-11-19 19:22:37 PST
(In reply to comment #0)
>on Windows it looks like an em
> dash, on Mac OS X where it doesn't assert, it looks like an accented o). 

That is, when viewed in a text editor, not a web browser.
Comment 3 Adam Roben (:aroben) 2007-11-19 23:01:18 PST
This assertion means that CoreGraphics failed to create a CGFontRef for a font that Windows knows about. This is most likely a CG bug.
Comment 4 Alexey Proskuryakov 2008-01-28 10:19:48 PST
Are you still seeing this assertion failure? I cannot reproduce it now.
Comment 5 Matt Lilek 2008-01-28 20:02:06 PST
(In reply to comment #4)
> Are you still seeing this assertion failure? I cannot reproduce it now.
> 

No, and the reduction no longer asserts.  Closing.